00001 /******************************************************************************* 00002 * SequenceNumber.h 00003 * 00004 * (C) 2006 AG Aktives Sehen <agas@uni-koblenz.de> 00005 * Universitaet Koblenz-Landau 00006 * 00007 * Additional information: 00008 * $Id: SequenceNumber.h 44313 2011-04-06 22:46:28Z agas $ 00009 ******************************************************************************/ 00010 00011 #ifndef SEQUENCENUMBER_H 00012 #define SEQUENCENUMBER_H 00013 00014 #include <time.h> 00015 #include <assert.h> 00016 #include <sys/time.h> 00017 00018 #include "../../Architecture/Thread/Mutex.h" 00019 00024 class SequenceNumber 00025 { 00026 00027 public: 00028 00033 static SequenceNumber* getInstance(); 00034 00040 unsigned long getSequenceNumber(); 00041 00045 virtual ~SequenceNumber(); 00046 00047 private: 00048 00052 SequenceNumber(); 00053 00057 static SequenceNumber* instance; 00058 00062 unsigned long m_NextValue; 00063 00067 Mutex m_NextValueMutex; 00068 }; 00069 00070 #endif 00071 00072 00073 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083 00084 00085 00086 00087 00088 00089 00090 00091 00092 00093 00094 00095 00096