-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathCDBRecordsArray.h
More file actions
65 lines (48 loc) · 1.72 KB
/
CDBRecordsArray.h
File metadata and controls
65 lines (48 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
Copyright [2010] [Richard Bross]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#ifndef CDBRECORDSARRAY_H
#define CDBRECORDSARRAY_H
#include <map>
#include <string>
#include "CXPlatCriticalSection.h"
using namespace std;
typedef vector<string> VEC_DB_RECORDS;
//! CDBRecordsArray
//! Class to encapsulate the records that we want to publish to Mongo
class CDBRecordsArray
{
public:
CDBRecordsArray();
CDBRecordsArray(const CDBRecordsArray& orig);
virtual ~CDBRecordsArray();
//! Add a record to the DB record array.. Synchronized with the publisher.
void DBRecordAdd(const char *pRecord, float fElapsed = 0.0f);
//! Add a whole array of records
void DBRecordAdd(VEC_DB_RECORDS &vRec, float fElapsed = 0.0f);
//! Get DB record array - locks the array
VEC_DB_RECORDS *LockDBRecords();
//! Clear the array
bool ClearDBRecords();
//! Release DB record array - must be called after "GetRecordArray"
void UnlockDBRecords();
public:
//! Array of the records
VEC_DB_RECORDS vDBRecords;
//! Total elapsed time to publish the records.
float fTotalElapsed;
protected:
private:
CXPlatCriticalSection cDBMutex;
bool bIsLocked;
};
#endif /* CDBRECORDSARRAY_H */