00001
00012 #include <stdlib.h>
00013 #include <stdio.h>
00014 #include <errno.h>
00015 #include <math.h>
00016
00017 #include "powerflow.h"
00018 #include "powerflow_library.h"
00019
00021
00023 CLASS* powerflow_library::oclass = NULL;
00024 CLASS* powerflow_library::pclass = NULL;
00025
00026 powerflow_library::powerflow_library(MODULE *mod)
00027 {
00028 if (oclass==NULL)
00029 {
00030 oclass = gl_register_class(mod,"powerflow_library",sizeof(powerflow_library),PC_NOSYNC);
00031 if (oclass==NULL)
00032 throw "unable to register class powerflow_library";
00033 else
00034 oclass->trl = TRL_PROVEN;
00035 }
00036 }
00037
00038 powerflow_library::powerflow_library(CLASS *oclass)
00039 {
00040 gl_create_foreign((OBJECT*)this);
00041 }
00042
00043 int powerflow_library::isa(char *classname)
00044 {
00045 return strcmp(classname,"powerflow_library")==0;
00046 }
00047
00048 int powerflow_library::create(void)
00049 {
00050 return 1;
00051 }
00052
00053 int powerflow_library::init(OBJECT *parent)
00054 {
00055 return 1;
00056 }
00057
00059
00061
00069 EXPORT int create_powerflow_library(OBJECT **obj, OBJECT *parent)
00070 {
00071 try
00072 {
00073 *obj = gl_create_object(powerflow_library::oclass);
00074 if (*obj!=NULL)
00075 {
00076 powerflow_library *my = OBJECTDATA(*obj,powerflow_library);
00077 gl_set_parent(*obj,parent);
00078 return my->create();
00079 }
00080 else
00081 return 0;
00082 }
00083 CREATE_CATCHALL(powerflow_library);
00084 }
00085
00092 EXPORT int init_powerflow_library(OBJECT *obj)
00093 {
00094 try {
00095 powerflow_library *my = OBJECTDATA(obj,powerflow_library);
00096 return my->init(obj->parent);
00097 }
00098 INIT_CATCHALL(powerflow_library);
00099 }
00100
00109 EXPORT TIMESTAMP sync_powerflow_library(OBJECT *obj, TIMESTAMP t0, PASSCONFIG pass)
00110 {
00111 powerflow_library *pObj = OBJECTDATA(obj,powerflow_library);
00112 gl_error("%s (powerflow_library:%d): sync should never be called", pObj->get_name(), pObj->get_id());
00113 return TS_INVALID;
00114 }
00115
00116 EXPORT int isa_powerflow_library(OBJECT *obj, char *classname)
00117 {
00118 return OBJECTDATA(obj,powerflow_library)->isa(classname);
00119 }
00120