Salome HOME
Check-in operation without any modifications is possible
[tools/simanio.git] / src / SimanIO_Activity.cxx
1 #include <SimanIO_Activity.hxx>
2
3 using namespace std;
4
5 SimanIO_Activity::SimanIO_Activity()
6 {
7 }
8
9 void SimanIO_Activity::SetName(const char* theName)
10 {
11   myName = theName;
12 }
13
14 const char* SimanIO_Activity::Name() const
15 {
16   return myName.c_str();
17 }
18
19 void SimanIO_Activity::SetModule(const char* theModuleName)
20 {
21   myModule = theModuleName;
22 }
23
24 const char* SimanIO_Activity::Module() const
25 {
26   return myModule.c_str();
27 }
28
29 void SimanIO_Activity::AddDocument(const int theID, const SimanIO_Document& theDoc)
30 {
31   myDocs[theID] = theDoc;
32 }
33
34 SimanIO_Document& SimanIO_Activity::Document(const int theId)
35 {
36   return myDocs[theId];
37 }
38
39 const int SimanIO_Activity::DocumentMaxID() const
40 {
41   if (myDocs.empty()) return -1;
42   return myDocs.rbegin()->first; // documents in map are ordered by ID, so, the last one has the bigger ID
43 }
44
45 SimanIO_Document& SimanIO_Activity::GetOrCreateDocument(const int theId)
46 {
47   if (myDocs.find(theId) == myDocs.end()) {
48     myDocs[theId] = SimanIO_Document();
49   }
50   return myDocs[theId];
51 }
52
53 //////////////////////////// Iterator methods /////////////////////////
54 SimanIO_Activity::DocumentsIterator::DocumentsIterator(/*const*/ SimanIO_Activity& theActivity)
55 {
56   myIter = theActivity.myDocs.begin();
57   myEnd = theActivity.myDocs.end();
58 }
59
60 void SimanIO_Activity::DocumentsIterator::Next()
61 {
62   myIter++;
63 }
64
65 bool SimanIO_Activity::DocumentsIterator::More()
66 {
67   return myIter != myEnd; 
68 }
69
70 /*const*/ SimanIO_Document& SimanIO_Activity::DocumentsIterator::Document()
71 {
72   return myIter->second;
73 }
74
75 const int SimanIO_Activity::DocumentsIterator::DocId()
76 {
77   return myIter->first;
78 }