Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

/ps/src/dsc/co/mw/mwfwk/cmwfwList.h

Go to the documentation of this file.
00001 #ifndef __CMWFWLIST_H__
00002 #define __CMWFWLIST_H__
00003 
00004 class cmwfwDoorKeeper;
00005 template <class T> class ListWrapperClass;
00006 
00007 
00008 template <class T> class cmwfwList{
00009  public:
00010   friend class cmwfwDeviceServer;
00011   friend class cmwfwSubscribtionManager;
00012   friend class cmwfwPoller;
00013   friend class cmwfwForwarder;
00014   friend class cmwfwIOValue;
00015 
00016   cmwfwList(bool thr_safe = true);
00017   ~cmwfwList(void);
00018  protected:
00019  private:
00020   void Size(int* sz,bool useMutex = true);
00021   bool get(T& item, T* dest, bool useMutex = true);
00022   bool getFirst(T* dest,bool useMutex = true);
00023   bool getLast(T* dest,bool useMutex = true);
00024   bool getNext(T* dest,T pos,bool useMutex = true);
00025   bool getNext(T* dest,bool useMutex = true);
00026   bool getPrev(T* dest,T pos,bool useMutex = true);
00027   bool getPrev(T* dest,bool useMutex = true);
00028   bool getCurrent(T* dest,bool useMutex = true);
00029   void resetCurrent(bool useMutex = true);
00030   bool hasItem(T item,bool useMutex = true);
00031   bool insert(T item,bool useMutex = true);
00032   bool remove(T item,bool useMutex = true);
00033   void lock();
00034   void unlock();
00035   void heaperr(int line);
00036 
00037   bool                       thread_safe;
00038   cmwfwDoorKeeper*           doorkeeper;
00039   int                        size;
00040   ListWrapperClass<T>*       current;
00041   ListWrapperClass<T>*       first;
00042   ListWrapperClass<T>*       last;
00043 };
00044 
00045 
00046 
00047 template <class T> class ListWrapperClass{
00048  public:
00049   ListWrapperClass(T input);
00050   T Data();
00051   ListWrapperClass* next;
00052   ListWrapperClass* prev;
00053  protected:
00054  private:
00055   T data;
00056 };
00057 
00058 #endif //#ifndef __CMWFWLIST_H__

Generated at Thu May 10 11:28:59 2001 for C.E.R.N.-PSControlsMiddlewareFramework by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001