/usr/include/resip/dum/DumFeature.hxx is in libresiprocate-1.9-dev 1.9.6-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | #ifndef RESIP_DumFeature_HXX
#define RESIP_DumFeature_HXX
#include <memory>
#include "resip/dum/TargetCommand.hxx"
namespace resip
{
class DialogUsageManager;
class Message;
class DumFeature
{
public:
DumFeature(DialogUsageManager& dum, TargetCommand::Target& target);
virtual ~DumFeature();
enum ProcessingResultMask
{
EventDoneBit = 1 << 0,
EventTakenBit = 1 << 1,
FeatureDoneBit = 1 << 2,
ChainDoneBit = 1 << 3
};
//legal combinations
enum ProcessingResult
{
EventTaken = EventTakenBit,
FeatureDone = FeatureDoneBit,
FeatureDoneAndEventDone = FeatureDoneBit | EventDoneBit,
FeatureDoneAndEventTaken = FeatureDoneBit | EventTakenBit,
ChainDoneAndEventDone = ChainDoneBit | EventDoneBit,
ChainDoneAndEventTaken = ChainDoneBit | EventTakenBit
};
// !bwc! We absolutely, positively, MUST NOT throw here. This is because
// in DialogUsageManager::process(), we do not know if a DumFeature has
// taken ownership of msg until we get a return. If we throw, the
// ownership of msg is unknown. This is unacceptable.
virtual ProcessingResult process(Message* msg) = 0;
virtual void postCommand(std::auto_ptr<Message> message);
protected:
DialogUsageManager& mDum;
TargetCommand::Target& mTarget;
};
}
#endif
|