sipXcallLib home page


TaoListenerManager.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2004-2006 SIPfoundry Inc.
3 // Licensed by SIPfoundry under the LGPL license.
4 //
5 // Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
6 // Licensed to SIPfoundry under a Contributor Agreement.
7 //
8 // $$
10 
11 
12 #ifndef _TaoListenerManager_h_
13 #define _TaoListenerManager_h_
14 
15 // SYSTEM INCLUDES
16 
17 // APPLICATION INCLUDES
18 
19 #include <os/OsServerTask.h>
20 #include <os/OsRWMutex.h>
21 #include <os/OsBSem.h>
22 
23 #include "tao/TaoDefs.h"
24 #include "tao/TaoObjectMap.h"
25 
26 // DEFINES
27 // MACROS
28 // EXTERNAL FUNCTIONS
29 // EXTERNAL VARIABLES
30 // CONSTANTS
31 // STRUCTS
32 // TYPEDEFS
33 // FORWARD DECLARATIONS
34 class UtlHashBagIterator;
35 class TaoEventListener;
36 class TaoTransportTask;
37 class TaoMessage;
38 class CpCallManager;
39 class PsPhoneTask;
40 class PsHookswTask;
41 
42 //:Class short description which may consist of multiple lines (note the ':')
43 // Class detailed description which may extend to multiple lines
44 class TaoListenerManager : public OsServerTask
45 {
46 /* //////////////////////////// PUBLIC //////////////////////////////////// */
47 public:
48 
49 /* ============================ CREATORS ================================== */
50 
52  //:Default constructor
53 
55  PsPhoneTask *pPhoneTask,
56  TaoTransportTask*& rpSvrTransport);
57  //:Default constructor
58 
59  TaoListenerManager(const TaoListenerManager& rTaoListenerManager);
60  //:Copy constructor
61 
62  virtual
64  //:Destructor
65 
66 /* ============================ MANIPULATORS ============================== */
67 
68 
69  virtual UtlBoolean handleMessage(OsMsg& eventMessage);
70 
71  TaoStatus addEventListener(const char* terminalName, UtlBoolean call);
72 
74 
76 
77  TaoStatus removeEventListener(const char* terminalName);
78 
80 
82  //:Assignment operator
83 
84  void setEventClient(TaoObjHandle hEventClient) { mEventClient = hEventClient; };
85 
86 
87 /* ============================ ACCESSORS ================================= */
88 
89 /* ============================ INQUIRY =================================== */
90 
91 /* //////////////////////////// PROTECTED ///////////////////////////////// */
92 protected:
93 
94 /* //////////////////////////// PRIVATE /////////////////////////////////// */
95 private:
99  OsRWMutex mListenerRWLock;
101 
105 
109 
111 
112  // NOTE: THIS DOES NOT LOCK
114 
115  // NOTE: THIS DOES NOT LOCK
117 
118 
119 };
120 
121 /* ============================ INLINE METHODS ============================ */
122 
123 #endif // _TaoListenerManager_h_
Abstract call manager.
Definition: CpCallManager.h:97
int mListenerCnt
Definition: TaoListenerManager.h:103
Definition: TaoMessage.h:51
Definition: TaoObjectMap.h:56
OsRWMutex mListenerRWLock
Definition: TaoListenerManager.h:99
bool mListenerAdded
Definition: TaoListenerManager.h:110
TaoStatus addCallListener(TaoMessage &rMsg)
Definition: TaoListenerManager.cpp:434
int mMaxNumListeners
Definition: TaoListenerManager.h:104
Definition: TaoTransportTask.h:45
TaoListenerDb ** mpListeners
Definition: TaoListenerManager.h:102
Definition: PsHookswTask.h:41
TaoObjectMap * mpAgents
Definition: TaoListenerManager.h:97
void removeThisEventListener()
TaoListenerManager & operator=(const TaoListenerManager &rhs)
Definition: TaoListenerManager.cpp:148
TaoStatus
Definition: TaoDefs.h:41
Definition: TaoObjectMap.h:41
CpCallManager * mpCallMgr
Definition: TaoListenerManager.h:106
void resetEventListenerIterator()
virtual ~TaoListenerManager()
Definition: TaoListenerManager.cpp:95
TaoStatus removeEventListener(const char *terminalName)
TaoTransportTask * mpSvrTransport
Definition: TaoListenerManager.h:98
virtual UtlBoolean handleMessage(OsMsg &eventMessage)
Definition: TaoListenerManager.cpp:163
TaoObjHandle mEventClient
Definition: TaoListenerManager.h:100
uintptr_t TaoObjHandle
Definition: TaoDefs.h:32
Definition: TaoEventListener.h:32
void setEventClient(TaoObjHandle hEventClient)
Definition: TaoListenerManager.h:84
Definition: PsPhoneTask.h:50
PsPhoneTask * mpPhoneTask
Definition: TaoListenerManager.h:107
TaoStatus addEventListener(const char *terminalName, UtlBoolean call)
Definition: TaoListenerManager.cpp:345
TaoObjectMap * mpConnectionSockets
Definition: TaoListenerManager.h:84
PsHookswTask * mpHookswTask
Definition: TaoListenerManager.h:108
Definition: TaoListenerManager.h:44