1 #include <ossim/base/ossimIdManager.h>
2 #include <time.h>
3 #ifndef NULL
4 #include <stddef.h>
5 #endif
6 
7 
8 ossim_int64 ossimIdManager::theCurrentId           = ossimId::INVALID_ID;
9 ossimIdManager* ossimIdManager::theInstance = NULL;
10 
ossimIdManager()11 ossimIdManager::ossimIdManager()
12 {
13    theCurrentId=ossimId::INVALID_ID;
14 }
15 
ossimIdManager(const ossimIdManager &)16 ossimIdManager::ossimIdManager(const ossimIdManager& /* rhs */)
17 {
18    theCurrentId=ossimId::INVALID_ID;
19 }
20 
~ossimIdManager()21 ossimIdManager::~ossimIdManager()
22 {
23    theCurrentId=ossimId::INVALID_ID;
24 }
25 
instance()26 ossimIdManager* ossimIdManager::instance()
27 {
28    if(!theInstance)
29    {
30       theInstance = new ossimIdManager;
31       theCurrentId = -1;
32    }
33 
34    return theInstance;
35 }
36 
generateId()37 ossimId ossimIdManager::generateId()
38 {
39    return ossimId(++theCurrentId);
40 }
41 
generateId(ossim_int64 customId)42 ossimId ossimIdManager::generateId(ossim_int64 customId)
43 {
44    if(customId <= theCurrentId)
45    {
46       return ossimId(++theCurrentId);
47    }
48    theCurrentId = customId;
49    return ossimId(theCurrentId);
50 }
51 
setCurrentId(ossim_int64 currentId)52 void ossimIdManager::setCurrentId(ossim_int64 currentId)
53 {
54    theCurrentId = (currentId >=0) ? currentId: theCurrentId;
55 }
56 
operator =(const ossimIdManager &)57 void  ossimIdManager::operator=(const ossimIdManager& /* rhs */)
58 {}
59