core/class.h File Reference


Detailed Description

Id
class.h 1207 2009-01-12 22:47:29Z d3p988
Copyright (C) 2008 Battelle Memorial Institute

Definition in file class.h.

Go to the source code of this file.

Defines

#define PC_BOTTOMUP   0x02
 used when the class requires synchronization on the bottom-up pass
#define PC_FORCE_NAME   0x20
 used to indicate the this class must define names for all its objects
#define PC_NOSYNC   0x00
 used when the class requires no synchronization
#define PC_PARENT_OVERRIDE_OMIT   0x40
 used to ignore parent's use of PC_UNSAFE_OVERRIDE_OMIT
#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 PC_UNSAFE_OVERRIDE_OMIT   0x80
 used to flag that omitting overrides is unsafe
#define PF_CHARSET   0x0002
 set supports single character keywords (avoids use of |)
#define PF_DEPRECATED   0x8000
 set this flag to indicate that the property is deprecated (warning will be displayed anytime it is used
#define PF_DEPRECATED_NONOTICE   0x04000
 set this flag to indicate that the property is deprecated but no reference warning is desired
#define PF_RECALC   0x0001
 property has a recalc trigger (only works if recalc_<class> is exported)
#define PT_EXTENDED   0x0004
 indicates that the property was added at runtime

Typedefs

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 CLASSNAME [64]
 the name a GridLAB class
typedef struct s_delegatedtype DELEGATEDTYPE
 type delegation specification
typedef struct s_delegatedvalue DELEGATEDVALUE
 a delegation entry
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 unsigned char PASSCONFIG
 the entry point of a module function
typedef struct s_property_map PROPERTY
 property definition item
typedef void * PROPERTYADDR
 the offset of a property from the end of the OBJECT header
typedef char PROPERTYNAME [64]
 the name of a property

Enumerations

enum  NOTIFYMODULE {
  NM_PREUPDATE = 0, NM_POSTUPDATE = 1, NM_RESET = 2, NM_PREUPDATE = 0,
  NM_POSTUPDATE = 1, NM_RESET = 2
}
enum  PROPERTYACCESS {
  PA_PUBLIC, PA_REFERENCE, PA_PROTECTED, PA_PRIVATE,
  PA_PUBLIC, PA_REFERENCE, PA_PROTECTED, PA_PRIVATE
}
enum  PROPERTYTYPE { ,
  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_float, PT_real,
  PT_loadshape, PT_enduse , 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_float, PT_real, PT_loadshape, PT_enduse
}

Functions

int class_define_enumeration_member (CLASS *oclass, char *property_name, char *member, enumeration value)
 Define an enumeration member.
FUNCTION * class_define_function (CLASS *oclass, FUNCTIONNAME functionname, FUNCTIONADDR call)
 Define a class function.
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 int64 value)
 Define a set member.
PROPERTY * class_find_property (CLASS *oclass, PROPERTYNAME name)
 Find the named property in the class.
CLASS * class_get_class_from_classname (char *name)
 Get the class from the class name.
CLASS * class_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.
CLASS * class_get_first_class (void)
 Get the first registered class.
PROPERTY * class_get_first_property (CLASS *oclass)
 Get the first property in a class's property list.
CLASS * class_get_last_class (void)
 Get the last registered class.
PROPERTY * class_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.
PROPERTY * class_prop_in_class (CLASS *oclass, PROPERTY *prop)
 Search class hierarchy for a property.
int class_property_to_string (PROPERTY *prop, void *addr, char *value, int size)
 Convert a property value to a string.
CLASS * class_register (MODULE *module, CLASSNAME name, unsigned int size, 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 2.0
An open-source project initiated by the US Department of Energy