27#define YPBX_API __declspec(dllexport)
30#define YPBX_API __declspec(dllimport)
48 inline CallInfo(
const char* name, CallEndpoint* call = 0)
55 inline CallEndpoint* call()
const
58 inline void setCall(CallEndpoint* call)
61 inline void clearCall()
88 { m_calls.append(call); }
90 { m_calls.remove(call,
false); }
92 CallInfo* find(
const CallEndpoint* call);
97class YPBX_API MultiRouter :
public MessageReceiver,
public Mutex
106 MultiRouter(
const char* trackName = 0);
107 virtual ~MultiRouter();
108 void setup(
int priority = 0);
109 virtual bool received(Message& msg,
int id);
110 virtual bool msgRoute(Message& msg,
CallInfo& info,
bool first);
111 virtual bool msgExecute(Message& msg,
CallInfo& info,
bool first);
112 virtual bool msgDisconnected(Message& msg,
CallInfo& info);
113 virtual void msgHangup(Message& msg,
CallInfo& info);
114 virtual Message* buildExecute(
CallInfo& info,
bool reroute) = 0;
115 Message* defaultExecute(
CallInfo& info,
const char* route = 0);
120 MessageRelay* m_relRoute;
121 MessageRelay* m_relExecute;
122 MessageRelay* m_relHangup;
123 MessageRelay* m_relDisconnected;
197 {
return locate(m_chanId); }
206 : m_list(
list), m_chanId(
id)
220 friend class ChanAssist;
253 virtual bool received(Message& msg,
int id, ChanAssist* assist);
272 virtual void init(
int priority = 15);
280 {
return static_cast<ChanAssist*
>(m_calls[id]); }
289 : Module(name,
"misc", earlyInit), m_first(true)
bool copyParam(const NamedList &original, const String &name, bool clear=false)
void copyParams(const NamedList &original, bool clear,...)
virtual bool received(Message &msg, int id, ChanAssist *assist)
HashList & calls()
Definition yatepbx.h:302
virtual ~ChanAssistList()
Definition yatepbx.h:235
void removeAssist(ChanAssist *assist)
virtual void initialize()
virtual bool received(Message &msg, int id)
ChanAssistList(const char *name, bool earlyInit=false)
Definition yatepbx.h:288
const HashList & calls() const
Definition yatepbx.h:309
virtual void init(int priority=15)
ChanAssist * find(const String &id) const
Definition yatepbx.h:279
virtual ChanAssist * create(Message &msg, const String &id)=0
RefPointer< CallEndpoint > locate() const
Definition yatepbx.h:196
virtual void msgStartup(Message &msg)
virtual bool msgDisconnect(Message &msg, const String &reason)
const String & id() const
Definition yatepbx.h:182
ChanAssistList * list() const
Definition yatepbx.h:175
virtual void msgHangup(Message &msg)
virtual const String & toString() const
Definition yatepbx.h:143
static RefPointer< CallEndpoint > locate(const String &id)
ChanAssist(ChanAssistList *list, const String &id)
Definition yatepbx.h:205
virtual void msgExecute(Message &msg)
A hashed object list class.
Definition yateclass.h:3658
Mutex(bool recursive=false, const char *name=0)
NamedList(const char *name)
An object list class.
Definition yateclass.h:1454
Templated smart pointer class.
Definition yateclass.h:1306
A C-style string handling class.
Definition yateclass.h:2131