core/gridlabd.h File Reference


Detailed Description

Id
gridlabd.h,v 1.60 2008/01/29 23:40:30 d3p988 Exp

Author:
David P. Chassin

Definition in file gridlabd.h.

Go to the source code of this file.

Defines

#define CDECL
#define EXPORT   CDECL
#define EXTERN   extern
#define GL_CATCH(Msg)   } else {Msg = (*callback->exception.exception_msg)();
 The argument msg provides access to the exception message thrown.
#define gl_convert   (*callback->unit_convert)
 Convert the units of a property using unit name.
#define gl_convert_ex   (*callback->unit_convert_ex)
 Convert the units of a property using unit data.
#define gl_create_aggregate   (*callback->create_aggregate)
 Create an aggregate property from a find list.
#define gl_create_array   (*callback->create_array)
 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_debug   (*callback->output_debug)
 Produces a debug message on stderr, but only when --debug is provided on the command line.
#define GL_ENDCATCH   } (*callback->exception.delete_exception_handler)(_handler);}
 GL_CATCH(Msg) blocks must always be terminated by a GL_ENDCATCH statement.
#define gl_error   (*callback->output_error)
 Produces an error message on stderr, but only when --quiet is not provided on the command line.
#define gl_find_module   (*callback->module_find)
#define gl_find_next   (*callback->find_next)
 Scan a list of found objects.
#define gl_find_objects   (*callback->find_objects)
 Find one or more object.
#define gl_findfile   (*callback->file.find_file)
 Provide file search function.
#define gl_free   (*callback->free)
 Release memory used by a find list.
#define gl_get_complex   (*callback->objvar.complex_var)
 Retrieve the complex value associated with the property.
#define gl_get_complex_by_name   (*callback->objvarname.complex_var)
#define gl_get_double   (*callback->objvar.double_var)
#define gl_get_double_by_name   (*callback->objvarname.double_var)
#define gl_get_int16   (*callback->objvar.int16_var)
#define gl_get_int16_by_name   (*callback->objvarname.int16_var)
#define gl_get_int32   (*callback->objvar.int32_var)
#define gl_get_int32_by_name   (*callback->objvarname.int32_var)
#define gl_get_int64   (*callback->objvar.int64_var)
#define gl_get_int64_by_name   (*callback->objvarname.int64_var)
#define gl_get_module_var   (*callback->get_module_var)
 Provides access to a global module variable.
#define gl_get_object   (*callback->get_object)
#define gl_get_object_prop   (*callback->objvar.object_var)
#define gl_get_oflags   (*callback->get_oflags)
#define gl_get_property   (*callback->properties.get_property)
 Get a property of an object.
#define gl_get_reference   (*callback->properties.get_reference)
 Get a reference to another object.
#define gl_get_string   (*callback->objvar.string_var)
#define gl_get_string_by_name   (*callback->objvarname.string_var)
#define gl_get_unit   (*callback->properties.get_unit)
 Get unit of property.
#define gl_get_value   (*callback->properties.get_value_by_addr)
 Get the value of a property in an object.
#define gl_get_value_by_name   (*callback->properties.get_value_by_name)
 Get the value of a property in an object.
#define gl_global_create   (*callback->global.create)
 Create a new global variable.
#define gl_global_find   (*callback->global.find)
 Find a global variable.
#define gl_global_getvar   (*callback->global.getvar)
 Get a global variable.
#define gl_global_setvar   (*callback->global.setvar)
 Set a global variable.
#define gl_localtime   (*callback->time.local_datetime)
 Convert a timestamp to a local date/time structure.
#define gl_malloc   (*callback->malloc)
 Allocate a block of memory from the core's heap.
#define gl_mktime   (*callback->time.mkdatetime)
 Convert a timestamp to a date/time structure.
#define gl_object_isa   (*callback->object_isa)
 Object type test.
#define gl_output   (*callback->output_message)
 Produces a message on stdout.
#define gl_parsetime   (*callback->time.convert_to_timestamp)
 Convert a string to a timestamp.
#define gl_publish_delegate   (*callback->define_type)
 Publish an delegate property type for a class.
#define gl_publish_function   (*callback->define_function)
 Publishes an object function.
#define gl_publish_variable   (*callback->define_map)
 Declare an object property as publicly accessible.
#define gl_random_bernoulli   (*callback->random.bernoulli)
 Generate a Bernoulli distributed random number.
#define gl_random_exponential   (*callback->random.exponential)
 Generate an examponentially distributed random number.
#define gl_random_lognormal   (*callback->random.lognormal)
 Generate a log normal distributed random number.
#define gl_random_normal   (*callback->random.normal)
 Generate a normal distributed random number.
#define gl_random_pareto   (*callback->random.pareto)
 Generate a Pareto distributed random number.
#define gl_random_sampled   (*callback->random.sampled)
 Generate a random number drawn uniformly from a sample.
#define gl_random_uniform   (*callback->random.uniform)
 Generate a uniformly distributed random number.
#define gl_randomtype   (*callback->random.type)
 Determine the distribution type to be used from its name.
#define gl_randomvalue   (*callback->random.value)
 Obtain an arbitrary random value using RANDOMTYPE.
#define gl_register_class   (*callback->register_class)
 Allow an object class to be registered with the core.
#define gl_register_type   (*callback->register_type)
 Create an object.
#define gl_run_aggregate   (*callback->run_aggregate)
 Evaluate an aggregate property.
#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 gl_set_value   (*callback->properties.set_value_by_addr)
 Set the value of a property in an object.
#define gl_set_value_by_name   (*callback->properties.set_value_by_name)
 Set the value of a property in an object.
#define gl_strtime   (*callback->time.strdatetime)
 Convert a date/time structure to a string.
#define gl_testmsg   (*callback->output_test)
 Produces a test message in the test record file, but only when --testfile is provided on the command line.
#define GL_THROW   (*callback->exception.throw_exception)
 The behavior of GL_THROW(Msg,.
#define gl_todays   (*callback->time.timestamp_to_days)
 Convert a timestamp to days.
#define gl_tohours   (*callback->time.timestamp_to_hours)
 Convert a timestamp to hours.
#define gl_tominutes   (*callback->time.timestamp_to_minutes)
 Convert a timestamp to minutes.
#define gl_toseconds   (*callback->time.timestamp_to_seconds)
 Convert a timestamp to seconds.
#define GL_TRY   { EXCEPTIONHANDLER *_handler = (*callback->exception.create_exception_handler)(); if (_handler==NULL) (*callback->output_error)("%s(%d): exception handler creation failed",__FILE__,__LINE__); else if (setjmp(_handler->buf)==0) {
 You may create your own GL_TRY block and throw exception using GL_THROW(Msg,.
#define gl_verbose   (*callback->output_verbose)
#define gl_warning   (*callback->output_warning)
 Produces a warning message on stderr, but only when --warning is provided on the command line.
#define INIT(X)
#define PADDR(X)   ((char*)&(this->X)-(char*)this)
 The PUBLISH_SET(C,N,E) macro is used to define a keyword for a set variable.
#define PUBLISH_CLASS(C, T, N)   {class C _t;if (gl_publish_variable(C##_class,PT_##T,#N,(char*)&_t.N-(char*)&_t,NULL)<1) return NULL;}
 The PUBLISH_CLASS macro is used to publish a member of a class (C++ only).
#define PUBLISH_CLASSX(C, T, N, V)   {class C _t;if (gl_publish_variable(C##_class,PT_##T,V,(char*)&_t.N-(char*)&_t,NULL)<1) return NULL;}
 The PUBLISH_CLASSX macro is used to publish a member of a class (C++ only) using a different name from the member name.
#define PUBLISH_DELEGATED(C, T, N)   {class C _t;if (gl_publish_variable(C##_class,PT_delegated,T,#N,(char*)&_t.N-(char*)&_t,NULL)<1) return NULL;}
 The PUBLISH_DELEGATED macro is used to publish a variable that uses a delegated type.
#define PUBLISH_STRUCT(C, T, N)   {struct C _t;if (gl_publish_variable(C##_class,PT_##T,#N,(char*)&_t.N-(char*)&_t,NULL)<1) return NULL;}
 The PUBLISH_STRUCT macro is used to publish a member of a structure.
#define set_callback(CT)   (callback=(CT))
 Defines the callback table for the module.


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