Idfxt

This pull request is for the sake of conversation, not necessarily with the intent to merge.  yet. 
On Wednesday, December 17, 2014 01:05:36 PM Kyle Benne wrote:
> > +extern "C"
> > +{
> > +#include "../../third_party/cJSON/cJSON.h"
> > +}
> > +
> > +namespace idfx {
> > +
> > +class JSONDataInterface
> > +{
> > +public:
> > +    JSONDataInterface() : JSONDataInterface(""){};
> > +    JSONDataInterface(const JSONDataInterface&) = delete;
> > +    JSONDataInterface(std::string json_schema);
> > +    ~JSONDataInterface();
> > +
> > +    cJSON *getSchemaObject(std::string object_type);
> 
> const reference.
> 
> Also this interface seems questionable to me.  At minimum the raw pointer is
> violating the coding standard.  But beyond that I'm am not a fan of
> exposing the c data structure at all.  Can you provide a more friendly C++
> class around that thing, therefore hiding the c.  What you do privately is
> not so much my concern.
> 

I actually expected I'd need a richer interface just to accomplish the 
translator - along the lines of ones I had already proposed to the team and 
implemented around SQLite.  But, ultimately, I found the cJSON interface 
worked very well to deliver just what was necessary, and I removed the pile of 
extraneous dead code along with the dependency on SQLite.   At this point, I 
was disinclined to develop a third speculative class interface, that I had no 
need for, in the hopes it would serve others.   As we develop the work on the 
Input Processor over the next three months, it will become very apparent 
exactly what class interface will be perfectly suited to EnergyPlus.  


> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/NREL/EnergyPlus/pull/4636/files#r22004046