collector::collector(MODULE *module) { if (oclass==NULL) { // register to receive notice for first top down. bottom up, and second top down synchronizations oclass = gld_class::create(module,"collector",sizeof(collector),PC_AUTOLOCK|PC_OBSERVER); if (oclass==NULL) throw "unable to register class collector"; else oclass->trl = TRL_PROTOTYPE; defaults = this; if (gl_publish_variable(oclass, PT_char1024,"property",get_property_offset(),PT_DESCRIPTION,"target property name", PT_char1024,"group",get_group_offset(),PT_DESCRIPTION,"collector group specification", PT_char1024,"table",get_table_offset(),PT_DESCRIPTION,"table name to store samples", PT_char1024,"file",get_table_offset(),PT_DESCRIPTION,"file name (for tape compatibility)", PT_char32,"mode",get_mode_offset(),PT_DESCRIPTION,"table output mode", PT_int32,"limit",get_limit_offset(),PT_DESCRIPTION,"maximum number of records to output", PT_double,"interval[s]",get_interval_offset(),PT_DESCRIPTION,"sampling interval", PT_object,"connection",get_connection_offset(),PT_DESCRIPTION,"database connection", PT_set,"options",get_options_offset(),PT_DESCRIPTION,"SQL options", PT_KEYWORD,"PURGE",(int64)MO_DROPTABLES,PT_DESCRIPTION,"flag to drop tables before creation", NULL)<1){ char msg[256]; sprintf(msg, "unable to publish properties in %s",__FILE__); throw msg; } memset(this,0,sizeof(collector)); } }
player::player(MODULE *module) { if (oclass==NULL) { // register to receive notice for first top down. bottom up, and second top down synchronizations oclass = gld_class::create(module,"player",sizeof(player),PC_AUTOLOCK); if (oclass==NULL) throw "unable to register class player"; else oclass->trl = TRL_PROTOTYPE; defaults = this; if (gl_publish_variable(oclass, PT_char256,"property",get_property_offset(),PT_DESCRIPTION,"target property name", PT_char1024,"table",get_table_offset(),PT_DESCRIPTION,"table name from which to read samples", PT_char1024,"file",get_table_offset(),PT_DESCRIPTION,"table name from which to read samples", PT_char8,"filetype",get_filetype_offset(),PT_DESCRIPTION,"table type from which samples are read", PT_char32,"mode",get_mode_offset(),PT_DESCRIPTION,"table output mode", PT_object,"connection",get_connection_offset(),PT_DESCRIPTION,"database connection", NULL)<1){ char msg[256]; sprintf(msg, "unable to publish properties in %s",__FILE__); throw msg; } memset(this,0,sizeof(player)); } }