CCAFFEINE
0.8.8
|
00001 #ifdef CCAFE_THREADS 00002 00003 #ifndef DataCollectorFactory_seen 00004 #define DataCollectorFactory_seen 00005 00006 00021 class DataCollectorFactory :public virtual JCPN(Object) { 00022 private: 00023 JCPN(GenericHashTable) collectors; 00024 public: 00025 DataCollectorFactory(); 00026 ~DataCollectorFactory(); 00027 CDELETE ClientOutputCollector* create(char* name, ClientOutputRelay* relay); 00028 }; 00029 00030 class CollectorCreator :public virtual JCPN(Object) { 00031 CDELETE ClientOutputCollector* (*creationFunc) (ClientOutputRelay*); 00032 public: 00033 CollectorCreator( CDELETE ClientOutputCollector* (*creationFunc)(ClientOutputRelay*)) 00034 { this->creationFunc = creationFunc; }; 00035 CDELETE ClientOutputCollector* create(ClientOutputRelay* relay) { return creationFunc(relay); }; 00036 }; 00037 #endif // seen datacollector 00038 #else // CCAFE_THREADS 00039 extern int ccafe_no_datacollector; 00040 #endif // CCAFE_THREADS