blob: fa4a33129fba2ec4b6d6cfc4cae0c57de3ccc50f (
plain)
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
|
class CT42CallLogEntry : public CObject {
public:
enum {
statusOk = 0, statusFailed, statusProcessed,
statusNone
};
UINT m_Status;
CTime m_Time;
CString m_Caller;
CString m_Callee;
CString m_TTY;
CTimeSpan m_Duration;
CString m_Message;
CT42CallLogEntry() : m_Status(statusNone) {}
CT42CallLogEntry(CT42CallLogEntry& src) { Copy(src); }
void Copy(const CT42CallLogEntry& src) {
m_Status = src.m_Status;
m_Time = src.m_Time;
m_Caller = src.m_Caller; m_Callee = src.m_Callee;
m_TTY = src.m_TTY;
m_Duration = src.m_Duration;
m_Message = src.m_Message;
}
CT42CallLogEntry& operator=(const CT42CallLogEntry& src) {
Copy(src);
return *this;
}
void Serialize(CArchive& ar) {
if(ar.IsStoring()){
ar << m_Status;
ar << m_Time;
ar << m_Caller; ar << m_Callee; ar << m_TTY;
ar << m_Duration;
ar << m_Message;
}else{
ar >> m_Status;
ar >> m_Time;
ar >> m_Caller; ar >> m_Callee; ar >> m_TTY;
ar >> m_Duration;
ar >> m_Message;
}
}
};
inline void SerializeElements(CArchive& ar, CT42CallLogEntry* pElements, int nCount) {
for(int tmp=0;tmp<nCount;tmp++)
pElements[tmp].Serialize(ar);
}
typedef Klever::CBTreendex<CTime,CT42CallLogEntry,16,512> CT42CallLog;
|