Beispiel #1
0
EXPORT int create_collector(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(collector_class);
	if (*obj!=NULL)
	{
		struct collector *my = OBJECTDATA(*obj,struct collector);
		last_collector = *obj;
		gl_set_parent(*obj,parent);
		strcpy(my->file,"");
		strcpy(my->filetype,"txt");
		strcpy(my->delim,",");
		strcpy(my->property,"(undefined)");
		strcpy(my->group,"");
		my->interval = TS_NEVER; /* transients only */
		my->dInterval = -1.0;
		my->last.ts = -1;
		strcpy(my->last.value,"");
		my->limit = 0;
		my->samples = 0;
		my->status = TS_INIT;
		my->trigger[0]='\0';
		my->format = 0;
		my->aggr = NULL;
		return 1;
	}
	return 0;
}
Beispiel #2
0
/// Create a climate object
EXPORT int create_climate(OBJECT **obj, ///< a pointer to the OBJECT*
						  OBJECT *parent) ///< a pointer to the parent OBJECT
{
	int rv = 0;
	try
	{
		*obj = gl_create_object(climate::oclass);
		if (*obj!=NULL)
		{
			climate *my = OBJECTDATA(*obj,climate);
			gl_set_parent(*obj,parent);
			my->create();
			rv = 1;
		}
		else
			rv = 0;
	}
	catch(char *msg)
	{
		gl_error("climate::create exception caught: %s", msg);
		rv = 0;
	}
	catch(const char *msg)
	{
		gl_error("climate::create exception caught: %s", msg);
		rv = 0;
	}
	catch (...)
	{
		gl_error("climate::create exception caught: no info");
		rv = 0;
	}
	return rv;
}
EXPORT int create_player(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(player_class);
	if (*obj!=NULL)
	{
		struct player *my = OBJECTDATA(*obj,struct player);
		last_player = *obj;
		gl_set_parent(*obj,parent);
		strcpy(my->file,"");
		strcpy(my->filetype,"txt");
		strcpy(my->mode, "file");
		strcpy(my->property,"(undefined)");
		my->next.ts = TS_ZERO;
		strcpy(my->next.value,"");
		my->loopnum = 0;
		my->loop = 0;
		my->status = TS_INIT;
		my->target = gl_get_property(*obj,my->property,NULL);
		my->delta_track.ns = 0;
		my->delta_track.ts = TS_NEVER;
		my->delta_track.value[0] = '\0';
		return 1;
	}
	return 0;
}
Beispiel #4
0
extern "C" int64 create_test(OBJECT **obj, OBJECT *parent)
{
	if ((*obj=gl_create_object(myclass))==NULL)
		return 0;
	if ( parent ) gl_set_parent(*obj,parent);
	return 1;
}
Beispiel #5
0
EXPORT int create_java(OBJECT **obj, OBJECT *parent)
{
    JNIEnv *jnienv = (JNIEnv *)getvar("jnienv", NULL, NULL);
    char *classname = (*obj) ? (*obj)->name : "ERROR_NO_CLASSNAME";
    jclass cls = jnienv->FindClass(classname);
    if(cls == NULL) {
        gl_error("create_java: unable to find %s.class", classname);
        return 0;
    }
    jmethodID cfunc = jnienv->GetStaticMethodID(cls, "create", "(J)J");
    if(cfunc == NULL) {
        gl_error("create_java: unable to find long %s.create(long)", classname);
        return 0;
    }
    int64 rv = jnienv->CallStaticLongMethod(cls, cfunc, (int64)parent);
    if(rv == 0) {
        gl_error("create_java: %s.create() failed", classname);
        GL_THROW("%s.create() failed", classname);
    }
    if (jnienv->ExceptionOccurred()) {
        jnienv->ExceptionDescribe();
    }
    *obj = (OBJECT *)rv;
    gl_set_parent(*obj, parent);
    return 1;
}
EXPORT int create_waterheater(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(waterheater::oclass);
	if (*obj!=NULL)
	{
		waterheater *my = OBJECTDATA(*obj,waterheater);;
		gl_set_parent(*obj,parent);
		my->create();
		return 1;
	}
	return 0;
}
Beispiel #7
0
EXPORT int create_capbank(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(capbank_class);
	if (*obj!=NULL)
	{
		capbank *my = OBJECTDATA(*obj,capbank);
		gl_set_parent(*obj,parent);
		my->create();
		return 1;
	}
	return 0;
}
Beispiel #8
0
EXPORT int create_schedule(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(schedule::oclass);
	if (*obj!=NULL)
	{
		schedule *my = OBJECTDATA(*obj,schedule);
		gl_set_parent(*obj,parent);
		my->create();
		return 1;
	}
	return 0;
}
Beispiel #9
0
EXPORT int create_plugload(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(plugload::oclass);
	if (*obj!=NULL)
	{
		plugload *my = OBJECTDATA(*obj,plugload);;
		gl_set_parent(*obj,parent);
		my->create();
		return 1;
	}
	return 0;
}
Beispiel #10
0
EXPORT int create_house_a(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(house::oclass);
	if (*obj!=NULL)
	{
		house *my = OBJECTDATA(*obj,house);;
		gl_set_parent(*obj,parent);
		my->create();
		return 1;
	}
	return 0;
}
Beispiel #11
0
EXPORT int create_fuse(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(fuse_class);
	if (*obj!=NULL)
	{
		fuse *my = OBJECTDATA(*obj,fuse);
		gl_set_parent(*obj,parent);
		my->create();
		return 1;
	}
	return 0;
}
EXPORT int create_dishwasher(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(dishwasher::oclass);
	if (*obj!=NULL)
	{
		dishwasher *my = OBJECTDATA(*obj,dishwasher);
		gl_set_parent(*obj,parent);
		my->create();
		return 1;
	}
	return 0;
}
EXPORT int create_transformer(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(transformer_class);
	if (*obj!=NULL)
	{
		transformer *my = OBJECTDATA(*obj,transformer);
		gl_set_parent(*obj,parent);
		my->create();
		return 1;
	}
	return 0;
}
Beispiel #14
0
EXPORT int create_regulator(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(regulator_class);
	if (*obj!=NULL)
	{
		regulator *my = OBJECTDATA(*obj,regulator);
		gl_set_parent(*obj,parent);
		my->create();
		return 1;
	}
	return 0;
}
Beispiel #15
0
EXPORT int create_node(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(node_class);
	if (*obj!=NULL)
	{
		last_node = *obj;
		node *my = OBJECTDATA(*obj,node);
		gl_set_parent(*obj,parent);
		my->create();
		return 1;
	}
	return 0;
}
Beispiel #16
0
EXPORT int create_link(OBJECT **obj, OBJECT *parent)
{
	*obj = gl_create_object(link_class);
	if (*obj!=NULL)
	{
		last_link = *obj;
		link *my = OBJECTDATA(*obj,link);
		gl_set_parent(*obj,parent);
		my->create();
		return 1;
	}
	return 0;
}
Beispiel #17
0
EXPORT int create_range(OBJECT **obj, OBJECT *parent)
{
	try {
		*obj = gl_create_object(range::oclass);
		if (*obj!=NULL)
		{
			range *my = OBJECTDATA(*obj,range);;
			gl_set_parent(*obj,parent);
			my->create();
			return 1;
		}
		return 0;
	}
	CREATE_CATCHALL(range);
}
Beispiel #18
0
EXPORT int create_metrics(OBJECT **obj, OBJECT *parent)
{
	try
	{
		*obj = gl_create_object(metrics::oclass);
		if (*obj!=NULL)
		{
			metrics *my = OBJECTDATA(*obj,metrics);
			gl_set_parent(*obj,parent);
			return my->create();
		}
		else
			return 0;
	}
	CREATE_CATCHALL(metrics);
}
Beispiel #19
0
EXPORT int create_solar_service(OBJECT **obj, OBJECT *parent) 
{
	try 
	{
		*obj = gl_create_object(solar_service::oclass);
		if (*obj!=NULL)
		{
			solar_service *my = OBJECTDATA(*obj,solar_service);
			gl_set_parent(*obj,parent);
			return my->create();
		}
		else
			return 0;
	} 
	CREATE_CATCHALL(solar_service);
}
/**
* REQUIRED: allocate and initialize an object.
*
* @param obj a pointer to a pointer of the last object in the list
* @param parent a pointer to the parent of this object
* @return 1 for a successfully created object, 0 for error
*/
EXPORT int create_triplex_load(OBJECT **obj, OBJECT *parent)
{
	try
	{
		*obj = gl_create_object(triplex_load::oclass);
		if (*obj!=NULL)
		{
			triplex_load *my = OBJECTDATA(*obj,triplex_load);
			gl_set_parent(*obj,parent);
			return my->create();
		}
		else
			return 0;
	}
	CREATE_CATCHALL(triplex_load);
}
/**
* REQUIRED: allocate and initialize an object.
*
* @param obj a pointer to a pointer of the last object in the list
* @param parent a pointer to the parent of this object
* @return 1 for a successfully created object, 0 for error
*/
EXPORT int create_powerflow_library(OBJECT **obj, OBJECT *parent)
{
	try
	{
		*obj = gl_create_object(powerflow_library::oclass);
		if (*obj!=NULL)
		{
			powerflow_library *my = OBJECTDATA(*obj,powerflow_library);
			gl_set_parent(*obj,parent);
			return my->create();
		}
		else
			return 0;
	}
	CREATE_CATCHALL(powerflow_library);
}
EXPORT int create_series_reactor(OBJECT **obj, OBJECT *parent)
{
	try
	{
		*obj = gl_create_object(series_reactor::oclass);
		if (*obj!=NULL)
		{
			series_reactor *my = OBJECTDATA(*obj,series_reactor);
			gl_set_parent(*obj,parent);
			return my->create();
		}
		else
			return 0;
	}
	CREATE_CATCHALL(series_reactor);
}
EXPORT int create_substation(OBJECT **obj, OBJECT *parent)
{
	try
	{
		*obj = gl_create_object(substation::oclass);
		if (*obj!=NULL)
		{
			substation *my = OBJECTDATA(*obj,substation);
			gl_set_parent(*obj,parent);
			return my->create();
		}
		else
			return 0;
	}
	CREATE_CATCHALL(substation);
}
Beispiel #24
0
EXPORT int create_windturb_dg(OBJECT **obj, OBJECT *parent)
{
	try
	{
		*obj = gl_create_object(windturb_dg::oclass);
		if (*obj!=NULL)
		{
			windturb_dg *my = OBJECTDATA(*obj,windturb_dg);
			gl_set_parent(*obj,parent);
			return my->create();
		}
		else 
			return 0;
	}
	CREATE_CATCHALL(windturb_dg);
}
Beispiel #25
0
/**
* REQUIRED: allocate and initialize an object.
*
* @param obj a pointer to a pointer of the last object in the list
* @param parent a pointer to the parent of this object
* @return 1 for a successfully created object, 0 for error
*/
EXPORT int create_voltdump(OBJECT **obj, OBJECT *parent)
{
	try
	{
		*obj = gl_create_object(voltdump::oclass);
		if (*obj!=NULL)
		{
			voltdump *my = OBJECTDATA(*obj,voltdump);
			gl_set_parent(*obj,parent);
			return my->create();
		}
		else
			return 0;
	}
	CREATE_CATCHALL(voltdump);
}
Beispiel #26
0
/**
* REQUIRED: allocate and initialize an object.
*
* @param obj a pointer to a pointer of the last object in the list
* @param parent a pointer to the parent of this object
* @return 1 for a successfully created object, 0 for error
*/
EXPORT int create_relay(OBJECT **obj, OBJECT *parent)
{
	try
	{
		*obj = gl_create_object(relay::oclass);
		if (*obj!=NULL)
		{
			relay *my = OBJECTDATA(*obj,relay);
			gl_set_parent(*obj,parent);
			return my->create();
		}
		else
			return 0;
	}
	CREATE_CATCHALL(relay);
}
Beispiel #27
0
EXPORT int create_microturbine(OBJECT **obj, OBJECT *parent) 
{
	try 
	{
		*obj = gl_create_object(microturbine::oclass);
		if (*obj!=NULL)
		{
			microturbine *my = OBJECTDATA(*obj,microturbine);
			gl_set_parent(*obj,parent);
			return my->create();
		}
		else
			return 0;
	} 
	CREATE_CATCHALL(microturbine);
}
EXPORT int create_inverter(OBJECT **obj, OBJECT *parent) 
{
	try 
	{
		*obj = gl_create_object(inverter::oclass);
		if (*obj!=NULL)
		{
			inverter *my = OBJECTDATA(*obj,inverter);
			gl_set_parent(*obj,parent);
			return my->create();
		}
		else
			return 0;
	}
	CREATE_CATCHALL(inverter);
}
Beispiel #29
0
EXPORT int create_switch(OBJECT **obj, OBJECT *parent)
{
	try
	{
		*obj = gl_create_object(switch_object::oclass);
		if (*obj!=NULL)
		{
			switch_object *my = OBJECTDATA(*obj,switch_object);
			gl_set_parent(*obj,parent);
			return my->create();
		}
		else
			return 0;
	}
	CREATE_CATCHALL(switch);
}
EXPORT int create_ZIPload(OBJECT **obj, OBJECT *parent)
{
	try 
	{
		*obj = gl_create_object(ZIPload::oclass);
		if (*obj!=NULL)
		{
			ZIPload *my = OBJECTDATA(*obj,ZIPload);;
			gl_set_parent(*obj,parent);
			my->create();
			return 1;
		}
		else
			return 0;
	}
	CREATE_CATCHALL(ZIPload);
}