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>
5
#include "
resip/dum/TargetCommand.hxx
"
6
7
namespace
resip
8
{
9
10
class
DialogUsageManager;
11
class
Message;
12
13
class
DumFeature
14
{
15
public
:
16
DumFeature
(
DialogUsageManager
& dum,
TargetCommand::Target
& target);
17
virtual
~DumFeature
();
18
19
enum
ProcessingResultMask
20
{
21
EventDoneBit
= 1 << 0,
22
EventTakenBit
= 1 << 1,
23
FeatureDoneBit
= 1 << 2,
24
ChainDoneBit
= 1 << 3
25
};
26
27
//legal combinations
28
enum
ProcessingResult
29
{
30
EventTaken
=
EventTakenBit
,
31
FeatureDone
=
FeatureDoneBit
,
32
FeatureDoneAndEventDone
=
FeatureDoneBit
|
EventDoneBit
,
33
FeatureDoneAndEventTaken
=
FeatureDoneBit
|
EventTakenBit
,
34
ChainDoneAndEventDone
=
ChainDoneBit
|
EventDoneBit
,
35
ChainDoneAndEventTaken
=
ChainDoneBit
|
EventTakenBit
36
};
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
:
46
DialogUsageManager
&
mDum
;
47
TargetCommand::Target
&
mTarget
;
48
};
49
50
}
51
52
#endif
TargetCommand.hxx
resip::DialogUsageManager
Definition
DialogUsageManager.hxx:79
resip::DumFeature
Definition
DumFeature.hxx:14
resip::DumFeature::mDum
DialogUsageManager & mDum
Definition
DumFeature.hxx:46
resip::DumFeature::ProcessingResultMask
ProcessingResultMask
Definition
DumFeature.hxx:20
resip::DumFeature::EventTakenBit
@ EventTakenBit
Definition
DumFeature.hxx:22
resip::DumFeature::EventDoneBit
@ EventDoneBit
Definition
DumFeature.hxx:21
resip::DumFeature::FeatureDoneBit
@ FeatureDoneBit
Definition
DumFeature.hxx:23
resip::DumFeature::ChainDoneBit
@ ChainDoneBit
Definition
DumFeature.hxx:24
resip::DumFeature::~DumFeature
virtual ~DumFeature()
Definition
DumFeature.cxx:17
resip::DumFeature::mTarget
TargetCommand::Target & mTarget
Definition
DumFeature.hxx:47
resip::DumFeature::process
virtual ProcessingResult process(Message *msg)=0
resip::DumFeature::postCommand
virtual void postCommand(std::unique_ptr< Message > message)
Definition
DumFeature.cxx:21
resip::DumFeature::ProcessingResult
ProcessingResult
Definition
DumFeature.hxx:29
resip::DumFeature::FeatureDoneAndEventDone
@ FeatureDoneAndEventDone
Definition
DumFeature.hxx:32
resip::DumFeature::EventTaken
@ EventTaken
Definition
DumFeature.hxx:30
resip::DumFeature::FeatureDoneAndEventTaken
@ FeatureDoneAndEventTaken
Definition
DumFeature.hxx:33
resip::DumFeature::ChainDoneAndEventDone
@ ChainDoneAndEventDone
Definition
DumFeature.hxx:34
resip::DumFeature::FeatureDone
@ FeatureDone
Definition
DumFeature.hxx:31
resip::DumFeature::ChainDoneAndEventTaken
@ ChainDoneAndEventTaken
Definition
DumFeature.hxx:35
resip::Message
The base-class used for message-passing.
Definition
Message.hxx:21
resip::TargetCommand::Target
Definition
TargetCommand.hxx:16
resip
dcm! – add UnusedChecking(_enum) below;
Definition
AbstractFifo.hxx:16
resip
dum
DumFeature.hxx
Generated by
1.9.8