⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dialogeventpublisher.h

📁 基于sipfoundy 公司开发的sipx协议API
💻 H
字号:
// // // Copyright (C) 2005 SIPfoundry Inc.// Licensed by SIPfoundry under the LGPL license.// // Copyright (C) 2005 Pingtel Corp.// Licensed to SIPfoundry under a Contributor Agreement.// // $$//////////////////////////////////////////////////////////////////////////////#ifndef _DialogEventPublisher_h_#define _DialogEventPublisher_h_// SYSTEM INCLUDES// APPLICATION INCLUDES#include <tao/TaoAdaptor.h>#include <net/SipDialogEvent.h>#include <net/SipPublishContentMgr.h>#include <utl/UtlHashMap.h>#include <utl/UtlHashMapIterator.h>// DEFINES// MACROS// EXTERNAL FUNCTIONS// EXTERNAL VARIABLES// CONSTANTS// STRUCTS// TYPEDEFS// FORWARD DECLARATIONSclass CallManager;class TaoString;//! Class for publishing the dialog state change for each call/** * This class keeps tracking the dialog state changes for each call and generates * a dialog event package as described in draft-ietf-sipping-dialog-package-06.txt * (An INVITE Initiated Dialog Event Package for SIP) and sends it to a generic * RFC 3265 SUBSCRIBE server or NOTIFIER. */class DialogEventPublisher: public TaoAdaptor{/* //////////////////////////// PUBLIC //////////////////////////////////// */public:/* ============================ CREATORS ================================== */   DialogEventPublisher(CallManager* callMgr, SipPublishContentMgr* contentMgr);     //:Default constructor   virtual   ~DialogEventPublisher();     //:Destructor/* ============================ MANIPULATORS ============================== */   virtual UtlBoolean handleMessage(OsMsg& eventMessage);/* ============================ ACCESSORS ================================= *//* ============================ INQUIRY =================================== *//* //////////////////////////// PROTECTED ///////////////////////////////// */protected:    void dumpTaoMessageArgs(unsigned char eventId, TaoString& args);    void insertEntry(UtlString& callId, SipDialogEvent* call);    SipDialogEvent* getEntry(UtlString& callId);    SipDialogEvent* removeEntry(UtlString& callId);    // Construct entity from requestUri and local address information        void getEntity(UtlString& requestUri, UtlString& entity);        // Delete entry if we get a failed or disconnected event without request Url    bool findEntryByCallId(UtlString& callId, UtlString& entity); /* //////////////////////////// PRIVATE /////////////////////////////////// */private:    CallManager* mpCallManager;        SipPublishContentMgr* mpSipPublishContentMgr;    UtlHashMap mCalls;    unsigned long mDialogId;};/* ============================ INLINE METHODS ============================ */#endif  // _DialogEventPublisher_h_

⌨️ 快捷键说明

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