core/class.h File Reference


Detailed Description

Id
class.h,v 1.65 2008/02/12 00:26:18 d3g637 Exp

Definition in file class.h.

Go to the source code of this file.

Classes

struct  s_class_list
struct  s_delegatedtype
struct  s_delegatedvalue
struct  s_function_map
struct  s_keyword
struct  s_property_map

Defines

#define _MODULE_DEFINED_
#define false   (0)
#define PC_BOTTOMUP   0x02
 used when the class requires synchronization on the bottom-up pass
#define PC_NOSYNC   0x00
 used when the class requires no synchronization
#define PC_POSTTOPDOWN   0x04
 used when the class requires synchronization on the second top-down pass
#define PC_PRETOPDOWN   0x01
 used when the class requires synchronization on the first top-down pass
#define PF_CHARSET   0x0002
 set supports single character keywords (avoids use of |)
#define PF_RECALC   0x0001
 property has a recalc trigger (only works if recalc_<class> is exported)
#define SET_ADD(set, value)   (set = set | value )
#define SET_CLEAR(set)   (set = 0)
#define SET_DEL(set, value)   (set = (value^SET_MASK)&set)
#define SET_HAS(set, value)   (set & value)
#define SET_MASK   0xffff
#define true   (1)

Typedefs

typedef unsigned char bool
typedef char char1024 [1025]
 strings up to 1024 characters
typedef char char256 [257]
 strings up to 256 characters
typedef char char32 [33]
 strings up to 32 characters
typedef char char8 [9]
typedef s_class_list CLASS
typedef char CLASSNAME [32]
 the name a GridLAB class
typedef DELEGATEDVALUEdelegated
typedef s_delegatedtype DELEGATEDTYPE
 type delegation specification
typedef s_delegatedvalue DELEGATEDVALUE
 a delegation entry
typedef long enumeration
typedef int64(*) FUNCTIONADDR (void *,...)
typedef char FUNCTIONNAME [64]
 the name of a function (not used)
typedef short int16
 8-bit integers
typedef int int32
 16-bit integers
typedef char int8
 string up to 8 characters
typedef s_module_list MODULE
typedef s_object_listobject
typedef unsigned short OBJECTTYPE
 the type ID on an object
typedef unsigned char PASSCONFIG
 the entry point of a module function the pass configuration
typedef s_property_map PROPERTY
 property definition item
typedef void * PROPERTYADDR
 the offset of a property from the end of the OBJECT header
typedef unsigned long PROPERTYFLAGS
typedef char PROPERTYNAME [64]
 the name of a property
typedef unsigned int64 set
typedef double triplet [3]
typedef complex triplex [3]

Enumerations

enum  NOTIFYMODULE { NM_PREUPDATE = 0, NM_POSTUPDATE = 1, NM_RESET = 2 }
enum  PROPERTYACCESS { PA_PUBLIC, PA_REFERENCE, PA_PROTECTED, PA_PRIVATE }
enum  PROPERTYTYPE {
  _PT_FIRST = -1, PT_void, PT_double, PT_complex,
  PT_enumeration, PT_set, PT_int16, PT_int32,
  PT_int64, PT_char8, PT_char32, PT_char256,
  PT_char1024, PT_object, PT_delegated, PT_bool,
  PT_timestamp, PT_double_array, PT_complex_array, _PT_LAST,
  PT_AGGREGATE, PT_KEYWORD, PT_ACCESS, PT_SIZE,
  PT_FLAGS, INTEGER, REAL
}

Functions

int class_define_enumeration_member (CLASS *oclass, char *property_name, char *member, enumeration value)
 Define an enumeration member.
FUNCTIONclass_define_function (CLASS *oclass, FUNCTIONNAME functionname, FUNCTIONADDR call)
int class_define_map (CLASS *oclass,...)
 Define one or more class properties.
int class_define_set_member (CLASS *oclass, char *property_name, char *member, unsigned long value)
 Define a set member.
int class_define_type (CLASS *oclass, DELEGATEDTYPE *delegation,...)
PROPERTYclass_find_property (CLASS *oclass, PROPERTYNAME name)
 Find the named property in the class.
CLASSclass_get_class_from_classname (char *name)
 Get the class from the class name.
CLASSclass_get_class_from_classname_in_module (char *name, MODULE *mod)
 Get the class from the class name and a module pointer.
unsigned int class_get_count (void)
 Get the number of registered class.
CLASSclass_get_first_class (void)
 Get the first registered class.
PROPERTYclass_get_first_property (CLASS *oclass)
 Get the first property in a class's property list.
CLASSclass_get_last_class (void)
 Get the last registered class.
PROPERTYclass_get_next_property (PROPERTY *prop)
 Get the next property of within the current class.
char * class_get_property_typename (PROPERTYTYPE type)
 Get the name of a property from its type.
PROPERTYTYPE class_get_propertytype_from_typename (char *name)
 Get the type of a property from its name.
int class_get_xsd (CLASS *oclass, char *buffer, size_t len)
 Generate the XSD snippet of a class.
void class_profiles (void)
 Generate profile information for the classes used.
int class_property_to_string (PROPERTY *prop, void *addr, char *value, int size)
 Convert a property value to a string.
CLASSclass_register (MODULE *module, CLASSNAME name, PASSCONFIG passconfig)
 Register an object class.
DELEGATEDTYPEclass_register_type (CLASS *oclass, char *type, int(*from_string)(void *, char *), int(*to_string)(void *, char *, int))
 Register a type delegation for a property.
int class_saveall (FILE *fp)
 Save all class information to a stream in glm format.
int class_saveall_xml (FILE *fp)
 Save all class information to a stream in xml format.
int class_string_to_property (PROPERTY *prop, void *addr, char *value)
 Convert a string value to property data.
unsigned long property_size (PROPERTY *prop)
 Get the size of a single instance of a property.


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