21 #ifndef ROUTINGMESSAGE_H
22 #define ROUTINGMESSAGE_H
31 #include "XPathHelper.h"
32 #include "Collections.h"
34 #include "WSRM/SequenceResponse.h"
38 #include "RoutingMessageEvaluator.h"
67 void setDoc( XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument& doc );
68 void setDoc( XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* doc );
71 XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* getDoc(
const bool throwOnDeserialize =
true );
72 const XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument*
const getDocConst()
const;
75 string getTextConst()
const;
110 MO_NOREACTIVATE = 64,
119 MO_INSERTBATCH = 256,
123 MO_MARKNOTREPLIED = 512,
127 MO_REPLYDATAGRAM = 1024
133 static int Parse(
const string& options );
134 static string ToString(
int options );
155 string m_MessageId, m_BatchId, m_CorrelationId, m_SessionId,
m_UserId;
189 RoutingMessage(
const string& tableName,
const string& messageId,
bool delayRead );
190 RoutingMessage(
const string& tableName,
const string& messageId,
RoutingMessage ( *messageProviderCallback )() = NULL,
bool fastpath =
false );
208 string ToString(
bool payloadEncoded =
false );
209 string ToString(
const string& payload );
211 void DelayTransform(
const string& transform,
const string& sessionCode,
const unsigned int sequence );
215 static string ToString( REQUEST_TYPE reqType );
237 void setMessageId(
const string& messageId ) { m_MessageId = messageId; }
243 void setBatchId(
const string& value ) { m_BatchId = value; }
246 void setPriority(
const unsigned long value ) { m_Priority = value; }
249 void setUserId(
const int userId ) { m_UserId = userId; }
253 RoutingAggregationCode getAggregationCode();
255 const RoutingAggregationCode&
getFeedback()
const {
return m_Feedback; }
256 void setFeedback(
const RoutingAggregationCode& feedback ) { m_Feedback = feedback; }
258 string getFeedbackString()
const;
259 void setFeedback(
const string& feedback );
264 bool isHeld()
const {
return m_HoldStatus; }
265 void setHeld(
const bool value ) { m_HoldStatus = value; }
268 void setBulk(
const bool value ) { m_Bulk = value; }
273 bool isDuplicate()
const;
292 void setPayload(
const string& payload );
295 RoutingMessageEvaluator* getPayloadEvaluator(
const bool forceReload =
false );
296 void destroyPayloadEvaluator();
298 void setFastpath(
const bool fastpath ) { m_Fastpath = fastpath; }
309 #endif // ROUTINGMESSAGE_H