summaryrefslogtreecommitdiff
path: root/orkbasecxx/messages/TapeMsg.h
blob: 89f90e053de46dd09bf40cbe6e0f4117cf203409 (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/*
 * Oreka -- A media capture and retrieval platform
 * 
 * Copyright (C) 2005, orecx LLC
 *
 * http://www.orecx.com
 *
 * This program is free software, distributed under the terms of
 * the GNU General Public License.
 * Please refer to http://www.gnu.org/copyleft/gpl.html
 *
 */

#ifndef __TAPEMSG_H__
#define __TAPEMSG_H__

#include "messages/SyncMessage.h"
#include "messages/AsyncMessage.h"

#define TAPE_MESSAGE_NAME "tape"
#define REC_ID_PARAM "recid"
#define FILENAME_PARAM "filename"
#define STAGE_PARAM "stage"
#define LOCALPARTY_PARAM "localparty"
#define REMOTEPARTY_PARAM "remoteparty"
#define DIRECTION_PARAM "direction"
#define LOCALENTRYPOINT_PARAM "localentrypoint"
#define DURATION_PARAM "duration"
#define SERVICE_PARAM "service"
#define LOCAL_IP_PARAM "localip"
#define REMOTE_IP_PARAM "remoteip"
#define LOCAL_MAC_PARAM "localmac"
#define REMOTE_MAC_PARAM "remotemac"
#define NATIVE_CALLID_PARAM "nativecallid"
#define TAGS_PARAM "tags"
#define ON_DEMAND_PARAM "ondemand"

class DLL_IMPORT_EXPORT_ORKBASE TapeMsg : public SyncMessage
{
public:
	TapeMsg();

	void Define(Serializer* s);
	void Validate();

	CStdString GetClassName();
	ObjectRef NewInstance();
	ObjectRef Process();

	CStdString m_recId;
	CStdString m_stage;
	time_t m_timestamp;
	CStdString m_fileName;
	CStdString m_capturePort;
	CStdString m_localParty;
	CStdString m_localEntryPoint;
	CStdString m_remoteParty;
	CStdString m_direction;
	int m_duration;
	CStdString m_serviceName;
	CStdString m_localIp;
	CStdString m_remoteIp;
	CStdString m_localMac;
	CStdString m_remoteMac;
	CStdString m_nativeCallId;

	std::map<CStdString, CStdString> m_tags;
	bool m_onDemand;
};

typedef boost::shared_ptr<TapeMsg> TapeMsgRef;

/** A TapeResponse is a response to TapeMsg 
*/
class DLL_IMPORT_EXPORT_ORKBASE TapeResponse : public SimpleResponseMsg
{
public:
	TapeResponse();
	void Define(Serializer* s);
	inline void Validate() {};

	CStdString GetClassName();
	ObjectRef NewInstance();
	inline ObjectRef Process() {return ObjectRef();};

	bool m_deleteTape;
};

typedef boost::shared_ptr<TapeResponse> TapeResponseRef;

//class DLL_IMPORT_EXPORT_ORKBASE TapeResponseFwd : public TapeResponse
//{
//public:
//	TapeResponseFwd();
//	void Define(Serializer* s);
//
//	ObjectRef NewInstance();
//
//	bool m_boolean2;
//};


class DLL_IMPORT_EXPORT_ORKBASE TapeTagMsg : public SyncMessage
{
public:
	TapeTagMsg();

	void Define(Serializer* s);
	void Validate();

	CStdString GetClassName();
	ObjectRef NewInstance();
	inline ObjectRef Process() {return ObjectRef();};

	CStdString m_orkUid;
	time_t m_timestamp;
	CStdString m_key;
	CStdString m_value;
};
typedef boost::shared_ptr<TapeTagMsg> TapeTagMsgRef;

#endif