10 #define EVENTSTORE_VERSION 0 
   50     DO_NOT_DELETE = 0x0001, 
 
   52     JET_WRITE_VERTEX = 0x1000
 
   57     _observerList.push_back(observer);
 
   60     _observerList.remove(observer);
 
   64   int Count(
const char* name)
const;
 
   68   bool IsExist(
const char* name, 
const char* classname)
const;
 
   71   const char* GetClassName(
const char* name, 
int idx = 0)
const;
 
   72   void* GetObject(
const char* name, 
const char* classname = 
"")
const;  
 
   73   template<
typename T> 
bool Get(
const char* name, 
const vector<const T*>*& buf)
const;   
 
   74   template<
typename T> 
bool Get(
const char* name, 
const vector<T*>*& buf)
const; 
 
   75   template<
typename T> 
bool Get(
const char* name, 
const vector<T>*& buf)
const;  
 
   76   template<
typename T> 
bool Get(
const char* name, 
const T*& buf)
const;                                          
 
   79   void* RegisterObject(
const char* name, 
const char* classname, 
int flags = 0);
 
   80   template<
typename T> 
bool Register(
const char* name, vector<T*>*& buf, 
int flags = 0);        
 
   81   template<
typename T> 
bool Register(
const char* name, vector<T>*& buf, 
int flags = 0); 
 
   82   template<
typename T> 
bool Register(
const char* name, T*& buf, 
int flags = 0);                                 
 
  100     StoredEntry(
string cn = 
string(
""), 
void* ob = 0, 
int fl = 0) : classname(cn), obj(ob), flag(fl) {}
 
  104   const multimap<string, lcfiplus::EventStore::StoredEntry >& 
GetObjectMap()
const {
 
  110   void* 
const& GetObjectRef(
const char* name, 
const char* classname = 
"")
const;  
 
  115   multimap<string, lcfiplus::EventStore::StoredEntry > _objectMap;
 
  116   mutable multimap<string, lcfiplus::EventStore::StoredEntry >::const_iterator _itMap;
 
  118   list<EventStoreObserver*> _observerList;
 
  123 template<
typename T> 
bool EventStore::Get(
const char* name, 
const T*& buf)
const {
 
  124   buf = 
static_cast<const T*
>(GetObject(name, TClass::GetClass(
typeid(T))->GetName()));
 
  128 template<
typename T> 
bool EventStore::Get(
const char* name, 
const vector<T>*& buf)
const {
 
  129   const char* elemclasname = TClass::GetClass(
typeid(T))->GetName();
 
  130   string vectclasname = 
"vector<";
 
  131   vectclasname += elemclasname;
 
  134   buf = 
static_cast<const vector<T>*
>(GetObject(name, vectclasname.c_str()));
 
  139 template<
typename T> 
bool EventStore::Get(
const char* name, 
const vector<T*>*& buf)
const {
 
  141   throw (
"EventStore::Get: non-const pointer-vector prohibited");
 
  146 template<
typename T> 
bool EventStore::Get(
const char* name, 
const vector<const T*>*& buf)
const {
 
  147   const char* elemclasname = TClass::GetClass(
typeid(T))->GetName();
 
  148   string vectclasname = 
"vector<";
 
  149   vectclasname += elemclasname;
 
  150   vectclasname += 
"*>";
 
  152   buf = 
static_cast<const vector<const T*>*
>(GetObject(name, vectclasname.c_str()));
 
  156 template<
typename T> 
bool EventStore::Register(
const char* name, T*& buf, 
int flags) {
 
  157   string classname = TClass::GetClass(
typeid(T))->GetName();
 
  159   buf = 
static_cast<T*
>(RegisterObject(name, classname.c_str(), flags));
 
  162 template<
typename T> 
bool EventStore::Register(
const char* name, vector<T>*& buf, 
int flags) {
 
  163   const char* elemclasname = TClass::GetClass(
typeid(T))->GetName();
 
  164   string vectclasname = 
"vector<";
 
  165   vectclasname += elemclasname;
 
  167   buf = 
static_cast<vector<T>*
>(RegisterObject(name, vectclasname.c_str(), flags));
 
  170 template<
typename T> 
bool EventStore::Register(
const char* name, vector<T*>*& buf, 
int flags) {
 
  171   const char* elemclasname = TClass::GetClass(
typeid(T))->GetName();
 
  172   string vectclasname = 
"vector<";
 
  173   vectclasname += elemclasname;
 
  174   vectclasname += 
"*>";
 
  176   buf = 
static_cast<vector<T*>*
>(RegisterObject(name, vectclasname.c_str(), flags));
 
StoredEntry(string cn=string(""), void *ob=0, int fl=0)
Definition: EventStore.h:100
 
void UnregisterObserver(EventStoreObserver *observer)
Definition: EventStore.h:59
 
string classname
Definition: EventStore.h:96
 
Definition: EventStore.h:95
 
const multimap< string, lcfiplus::EventStore::StoredEntry > & GetObjectMap() const 
Definition: EventStore.h:104
 
virtual void RegisterCallback(const char *, const char *, int)
Definition: EventStore.h:23
 
virtual void GetCallback(const char *, const char *)
Definition: EventStore.h:22
 
Definition: EventStore.h:17
 
virtual ~EventStoreObserver()
Definition: EventStore.h:20
 
A simple named storage for event data. 
Definition: EventStore.h:42
 
void * obj
Definition: EventStore.h:97
 
bool IsExist(const char *name) const 
Definition: EventStore.h:65
 
EventStoreObserver()
Definition: EventStore.h:19
 
void RegisterObserver(EventStoreObserver *observer)
Definition: EventStore.h:56
 
int flag
Definition: EventStore.h:98