Loader

TODO - Incomplete -

What is the responsibility of the GridLAB-D™ loader?

Documentation of the internal object model in memory?

Overview of new JSON format as necessary.

Synopsis

module /class.h

#include "gridlabd.h"



class class : public gld_object
{
  // ...
public:
  int class ::method(PROPERTY *prop, char *value);
  // ...
}

module /class.cpp

EXPORT_LOADMETHOD(class ,method);



class ::class(MODULE *module)
{
  // ...
  if ( !gl_publish_loadmethod(oclass,"method ",loadmethod_class_method) )
    throw "module /class ::class(MODULE*): unable to publish method method";
  // ...
}



int class ::method(char *value)
{
  // parse value
  // return 0 on failure
  // return 1 on success
  return 0;
}

Description

Whenever the loader encounters a property name that is defined as a load method, it's value is dispatched to the load methods defined in the associated class. These properties are called pseudo-properties and can occur more than once in any given object.

Return value

The notifier returns 0 if the pseudo-property value is not parsed successfully and 1 if it is parsed successfully.

History

Load methods were introduced in ticket 797 and deployed in Jojoba (Version 3.2).