taolistenermanager.h

来自「基于sipfoundy 公司开发的sipx协议API」· C头文件 代码 · 共 122 行

H
122
字号
//// Copyright (C) 2004, 2005 Pingtel Corp.// //// $$//////////////////////////////////////////////////////////////////////////////#ifndef _TaoListenerManager_h_#define _TaoListenerManager_h_// SYSTEM INCLUDES// APPLICATION INCLUDES#include <os/OsServerTask.h>#include <os/OsRWMutex.h>#include <os/OsBSem.h>#include "tao/TaoDefs.h"#include "tao/TaoObjectMap.h"// DEFINES// MACROS// EXTERNAL FUNCTIONS// EXTERNAL VARIABLES// CONSTANTS// STRUCTS// TYPEDEFS// FORWARD DECLARATIONSclass UtlHashBagIterator;class TaoEventListener;class TaoTransportTask;class TaoMessage;class CpCallManager;class PsPhoneTask;class PsHookswTask;//:Class short description which may consist of multiple lines (note the ':')// Class detailed description which may extend to multiple linesclass TaoListenerManager : public OsServerTask{/* //////////////////////////// PUBLIC //////////////////////////////////// */public:/* ============================ CREATORS ================================== */   TaoListenerManager();     //:Default constructor   TaoListenerManager(CpCallManager *pCallMgr,                PsPhoneTask *pPhoneTask,                TaoTransportTask*& rpSvrTransport);     //:Default constructor   TaoListenerManager(const TaoListenerManager& rTaoListenerManager);     //:Copy constructor   virtual   ~TaoListenerManager();     //:Destructor/* ============================ MANIPULATORS ============================== */   virtual UtlBoolean handleMessage(OsMsg& eventMessage);   TaoStatus addEventListener(const char* terminalName, UtlBoolean call);   TaoStatus addEventListener(TaoMessage& rMsg);   TaoStatus addCallListener(TaoMessage& rMsg);   TaoStatus removeEventListener(const char* terminalName);   TaoStatus removeEventListener(TaoMessage& rMsg);   TaoListenerManager& operator=(const TaoListenerManager& rhs);     //:Assignment operator   void setEventClient(TaoObjHandle hEventClient) { mEventClient = hEventClient; };/* ============================ ACCESSORS ================================= *//* ============================ INQUIRY =================================== *//* //////////////////////////// PROTECTED ///////////////////////////////// */protected:/* //////////////////////////// PRIVATE /////////////////////////////////// */private:        TaoObjectMap*                   mpConnectionSockets;        TaoObjectMap*                   mpAgents;        TaoTransportTask*               mpSvrTransport;        OsRWMutex                               mListenerRWLock;        TaoObjHandle                    mEventClient;        TaoListenerDb**                 mpListeners;        int                             mListenerCnt;        int                             mMaxNumListeners;        CpCallManager*                  mpCallMgr;        PsPhoneTask*                    mpPhoneTask;        PsHookswTask*                   mpHookswTask;        bool                                            mListenerAdded;    // NOTE: THIS DOES NOT LOCK    void resetEventListenerIterator();    // NOTE: THIS DOES NOT LOCK    void removeThisEventListener();};/* ============================ INLINE METHODS ============================ */#endif  // _TaoListenerManager_h_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?