reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
DumFeature.hxx
Go to the documentation of this file.
1#ifndef RESIP_DumFeature_HXX
2#define RESIP_DumFeature_HXX
3
4#include <memory>
6
7namespace resip
8{
9
10class DialogUsageManager;
11class Message;
12
14{
15 public:
17 virtual ~DumFeature();
18
20 {
21 EventDoneBit = 1 << 0,
22 EventTakenBit = 1 << 1,
24 ChainDoneBit = 1 << 3
25 };
26
27 //legal combinations
37
38 // !bwc! We absolutely, positively, MUST NOT throw here. This is because
39 // in DialogUsageManager::process(), we do not know if a DumFeature has
40 // taken ownership of msg until we get a return. If we throw, the
41 // ownership of msg is unknown. This is unacceptable.
42 virtual ProcessingResult process(Message* msg) = 0;
43 virtual void postCommand(std::unique_ptr<Message> message);
44
45 protected:
48};
49
50}
51
52#endif
DialogUsageManager & mDum
virtual ~DumFeature()
TargetCommand::Target & mTarget
virtual ProcessingResult process(Message *msg)=0
virtual void postCommand(std::unique_ptr< Message > message)
The base-class used for message-passing.
Definition Message.hxx:21
dcm! – add UnusedChecking(_enum) below;