Object management
[Runtime module API]


Detailed Description

Object management macros are create to allow modules to create, test, control ranks, and reveal members of objects and registered classes.


Defines

#define gl_create_array   (*callback->create.array)
 Creates an array of objects on core heap.
#define gl_create_foreign   (*callback->create.foreign)
 Creates an array of objects on core heap.
#define gl_create_object   (*callback->create.single)
 Creates an object by allocating on from core heap.
#define gl_object_isa   (*callback->object_isa)
 Object type test.
#define gl_publish_function   (*callback->function.define)
 Publishes an object function.
#define gl_publish_variable   (*callback->define_map)
 Declare an object property as publicly accessible.
#define gl_set_dependent   (*callback->set_dependent)
 Changes the dependency rank of an object.
#define gl_set_parent   (*callback->set_parent)
 Establishes the rank of an object relative to another object (it's parent).
#define gl_set_rank   (*callback->set_rank)
 Adjusts the rank of an object relative to another object (it's parent).


Define Documentation

#define gl_create_array   (*callback->create.array)

Creates an array of objects on core heap.

See also:
object_create_array()

Definition at line 374 of file gridlabd.h.

#define gl_create_foreign   (*callback->create.foreign)

Creates an array of objects on core heap.

See also:
object_create_array()

Definition at line 379 of file gridlabd.h.

#define gl_create_object   (*callback->create.single)

#define gl_object_isa   (*callback->object_isa)

Object type test.

Checks the type (and supertypes) of an object.

See also:
object_isa()

Definition at line 395 of file gridlabd.h.

Referenced by metrics::end_event(), house_e::init(), house::init(), inverter::init(), battery::init(), and node::kmldump().

#define gl_publish_function   (*callback->function.define)

Publishes an object function.

This is currently unused.

See also:
object_define_function()

Definition at line 414 of file gridlabd.h.

Referenced by house::house(), house_e::house_e(), meter::meter(), and substation::substation().

#define gl_publish_variable   (*callback->define_map)

Declare an object property as publicly accessible.

See also:
object_define_map()

Definition at line 401 of file gridlabd.h.

Referenced by capacitor::capacitor(), comm::comm(), house::house(), house_e::house_e(), link::link(), meter::meter(), plc::plc(), substation::substation(), and waterheater::waterheater().

#define gl_set_dependent   (*callback->set_dependent)

Changes the dependency rank of an object.

Normally dependency rank is determined by the object parent, but an object's rank may be increased using this call. An object's rank may not be decreased.

See also:
object_set_rank(), object_set_parent()

Definition at line 429 of file gridlabd.h.

Referenced by battery::init(), house_e::init_climate(), house::init_climate(), windturb_dg::init_climate(), and solar::init_climate().

#define gl_set_parent   (*callback->set_parent)

Establishes the rank of an object relative to another object (it's parent).

When an object is parent to another object, it's rank is always greater. Object of higher rank are processed first on top-down passes, and later on bottom-up passes. Objects of the same rank may be processed in parallel, if system resources make it possible.

See also:
object_set_rank(), object_set_parent()

Definition at line 445 of file gridlabd.h.

Referenced by create_billdump(), create_capacitor(), create_climate(), create_fuse(), create_histogram(), create_line(), create_line_configuration(), create_line_spacing(), create_link(), create_load(), create_node(), create_overhead_line(), create_overhead_line_conductor(), create_powerflow_library(), create_powerflow_object(), create_pqload(), create_regulator(), create_regulator_configuration(), create_relay(), create_transformer(), create_transformer_configuration(), create_triplex_line(), create_triplex_line_conductor(), create_triplex_line_configuration(), create_triplex_node(), create_underground_line(), create_underground_line_conductor(), create_voltdump(), and import_cdf().

#define gl_set_rank   (*callback->set_rank)

Adjusts the rank of an object relative to another object (it's parent).

When an object is parent to another object, it's rank is always greater. Object of higher rank are processed first on top-down passes, and later on bottom-up passes. Objects of the same rank may be processed in parallel, if system resources make it possible.

See also:
object_set_rank(), object_set_parent()

Definition at line 461 of file gridlabd.h.


GridLAB-DTM Version 2.0
An open-source project initiated by the US Department of Energy