亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ptaddress.cpp

?? 基于sipfoundy 公司開發的sipx協議API
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
//// Copyright (C) 2004, 2005 Pingtel Corp.// //// $$//////////////////////////////////////////////////////////////////////////////// SYSTEM INCLUDES#include <assert.h>// APPLICATION INCLUDES#include "ptapi/PtAddress.h"#include "ptapi/PtTerminal.h"#include "ptapi/PtAddressForwarding.h"#include "tao/TaoReference.h"#include "tao/TaoClientTask.h"#include "tao/TaoServerTask.h"#include "tao/TaoEvent.h"#include "tao/TaoString.h"// EXTERNAL FUNCTIONS// EXTERNAL VARIABLES// CONSTANTS// STATIC VARIABLE INITIALIZATIONSOsBSem               PtAddress::semInit(OsBSem::Q_PRIORITY, OsBSem::FULL) ;TaoReference            *PtAddress::mpTransactionCnt = 0;unsigned int             PtAddress::mRef = 0;PtAddressForwarding     *PtAddress::mpAddressForwards = 0;int                                      PtAddress::mAddressForwardCnt = 0;OsBSem               PtAddress::mAddressForwardDbSem(OsBSem::Q_PRIORITY, OsBSem::FULL);PtBoolean                        PtAddress::mbMessageWaiting = FALSE;PtBoolean                        PtAddress::mbDoNotDisturb = FALSE;int                                      PtAddress::mOfferedTimeout = 0;/* //////////////////////////// PUBLIC //////////////////////////////////// *//* ============================ CREATORS ================================== */// ConstructorPtAddress::PtAddress(){        mpClient = 0;        mpEventMgr = OsProtectEventMgr::getEventMgr();        initialize();}PtAddress::PtAddress(TaoClientTask *pClient, const char* name){        mpClient   = pClient;        if (name)                mAddress = name;        mpEventMgr = OsProtectEventMgr::getEventMgr();        initialize();}// Copy constructorPtAddress::PtAddress(const PtAddress& rPtAddress){        mAddress = rPtAddress.mAddress;        mpClient = rPtAddress.mpClient;        mpTransactionCnt = rPtAddress.mpTransactionCnt;        mpAddressForwards = rPtAddress.mpAddressForwards ;        mAddressForwardCnt = rPtAddress.mAddressForwardCnt ;        mpEventMgr = OsProtectEventMgr::getEventMgr();        initialize();}PtAddress::PtAddress(const char* address){        if (address)                mAddress = address;        mpClient = 0;        mpEventMgr = OsProtectEventMgr::getEventMgr();        initialize();}PtAddress::PtAddress(PtProvider *pProvider, const char* address){        if (address)                mAddress = address;        mpClient = 0;        mpEventMgr = OsProtectEventMgr::getEventMgr();        initialize();}// DestructorPtAddress::~PtAddress(){    semInit.acquire() ;        mRef--;        if (mRef < 1)        {                if (!mpTransactionCnt)                {                        delete mpTransactionCnt;                        mpTransactionCnt  = 0;                }                if (!mpAddressForwards)                {                        mAddressForwardDbSem.acquire();                        delete[] mpAddressForwards;                        mpAddressForwards = 0;                        mAddressForwardCnt = 0;                        mAddressForwardDbSem.release();                }        }    semInit.release() ;}void PtAddress::initialize(){        mTimeOut = OsTime(PT_CONST_EVENT_WAIT_TIMEOUT, 0);    semInit.acquire() ;        mRef++;        if (!mpTransactionCnt)                mpTransactionCnt = new TaoReference();        if (mpClient && !(mpClient->isStarted()))        {                mpClient->start();        }    semInit.release() ;}/* ============================ MANIPULATORS ============================== */// Assignment operatorPtAddress&PtAddress::operator=(const PtAddress& rhs){   if (this == &rhs)            // handle the assignment to self case      return *this;        mAddress = rhs.mAddress;        mpTransactionCnt = rhs.mpTransactionCnt;        mpClient = rhs.mpClient;        mpAddressForwards = rhs.mpAddressForwards ;        mAddressForwardCnt = rhs.mAddressForwardCnt ;        // initialize();        return *this;}PtStatus PtAddress::addAddressListener(PtAddressListener& rAddressListener){        TaoObjHandle handle = (TaoObjHandle)&rAddressListener;    char buff[MAXIMUM_INTEGER_STRING_LENGTH];    sprintf(buff, "%d", handle);        UtlString arg(buff);        mpTransactionCnt->add();        unsigned int transactionId = mpTransactionCnt->getRef();        OsProtectedEvent *pe = mpEventMgr->alloc();        TaoMessage      msg(TaoMessage::REQUEST_ADDRESS,                                                                        TaoMessage::ADD_ADDRESS_LISTENER,                                                                        transactionId,                                                                        0,                                                                        (TaoObjHandle)pe,                                                                        1,                                                                        arg);        mpClient->sendRequest(msg);        int rc;        if (OS_SUCCESS != pe->wait(msg.getCmd(), mTimeOut))        {                mpClient->resetConnectionSocket(msg.getMsgID());        // If the event has already been signalled, clean up        if(OS_ALREADY_SIGNALED == pe->signal(0))        {            mpEventMgr->release(pe);        }                return PT_BUSY;        }        pe->getEventData((int &)rc);#ifdef PTAPI_TEST        int cmd;        pe->getIntData2(cmd);        assert(cmd == TaoMessage::ADD_ADDRESS_LISTENER);#endif        mpEventMgr->release(pe);        return PT_SUCCESS;}PtStatus PtAddress::addCallListener(PtCallListener& rCallListener){        TaoObjHandle handle = (TaoObjHandle)&rCallListener;    char buff[MAXIMUM_INTEGER_STRING_LENGTH];    sprintf(buff, "%d", handle);        UtlString arg(buff);        mpTransactionCnt->add();        unsigned int transactionId = mpTransactionCnt->getRef();        OsProtectedEvent *pe = mpEventMgr->alloc();        TaoMessage      msg(TaoMessage::REQUEST_ADDRESS,                                                                        TaoMessage::ADD_CALL_LISTENER,                                                                        transactionId,                                                                        0,                                                                        (TaoObjHandle)pe,                                                                        1,                                                                        arg);        mpClient->sendRequest(msg);        int rc;        if (OS_SUCCESS != pe->wait(msg.getCmd(), mTimeOut))        {                mpClient->resetConnectionSocket(msg.getMsgID());        // If the event has already been signalled, clean up        if(OS_ALREADY_SIGNALED == pe->signal(0))        {            mpEventMgr->release(pe);        }                return PT_BUSY;        }        pe->getEventData((int &)rc);#ifdef PTAPI_TEST        int cmd;        pe->getIntData2(cmd);        assert(cmd == TaoMessage::ADD_CALL_LISTENER);#endif        mpEventMgr->release(pe);        return PT_SUCCESS;}PtStatus PtAddress::cancelForwarding(){        mpTransactionCnt->add();        unsigned int transactionId = mpTransactionCnt->getRef();        OsProtectedEvent *pe = mpEventMgr->alloc();        TaoMessage      msg(TaoMessage::REQUEST_ADDRESS,                                                                        TaoMessage::CANCEL_ALL_FORWARDING,                                                                        transactionId,                                                                        0,                                                                        (TaoObjHandle)pe,                                                                        0,                                                                        "");        mpClient->sendRequest(msg);        int rc;        if (OS_SUCCESS != pe->wait(msg.getCmd(), mTimeOut))        {                mpClient->resetConnectionSocket(msg.getMsgID());        // If the event has already been signalled, clean up        if(OS_ALREADY_SIGNALED == pe->signal(0))        {            mpEventMgr->release(pe);        }                return PT_BUSY;        }        pe->getEventData((int &)rc);#ifdef PTAPI_TEST        int cmd;        pe->getIntData2(cmd);        assert(cmd == TaoMessage::CANCEL_ALL_FORWARDING);#endif        mpEventMgr->release(pe);        mAddressForwardDbSem.acquire();        if (mpAddressForwards)        {                delete[] mpAddressForwards;                mpAddressForwards = 0;        }        mAddressForwardCnt = 0;        mAddressForwardDbSem.release();        return PT_SUCCESS;}PtStatus PtAddress::cancelForwarding(PtAddressForwarding forwards[], int size){    char buff[MAXIMUM_INTEGER_STRING_LENGTH];    sprintf(buff, "%d", size);        UtlString arg(buff);        osPrintf("PtAddress::cancelForwarding(size=%d)\n", size) ;        int i;        for (i = 0; i < size; i++)        {                osPrintf("%02d: type=%d filter=%d, url=%s, caller=%s\n", i, forwards[i].mForwardingType, forwards[i].mFilterType, forwards[i].mDestinationUrl.data(), forwards[i].mCallerUrl.data()) ;                sprintf(buff, "%d", forwards[i].mForwardingType);                arg += TAOMESSAGE_DELIMITER + UtlString(buff);                sprintf(buff, "%d", forwards[i].mFilterType);                arg += TAOMESSAGE_DELIMITER + UtlString(buff);                arg += TAOMESSAGE_DELIMITER + forwards[i].mDestinationUrl                                + TAOMESSAGE_DELIMITER + forwards[i].mCallerUrl;                sprintf(buff, "%d", forwards[i].mNoAnswerTimeout);                arg += TAOMESSAGE_DELIMITER + UtlString(buff);        }        unsigned int transactionId = 0;        if (mpTransactionCnt)        {                mpTransactionCnt->add();                transactionId = mpTransactionCnt->getRef();        }        else {      // I HAVE NO IDEA WHAT THIS IS ABOUT, BUT THE FORMAT IS WRONG!!!      // And, we only got here because mpTransactionCnt is NULL.           osPrintf("\nPtAddress::cancelForwarding - mpTransactionCnt = %p\n", mpTransactionCnt);   }        OsProtectedEvent *pe = mpEventMgr->alloc();        TaoMessage      msg(TaoMessage::REQUEST_ADDRESS,TaoMessage::CANCEL_FORWARDING,                                                                        transactionId,                                                                        0,                                                                        (TaoObjHandle)pe,                                                                        (5 * size + 1),                                                                        arg);        mpClient->sendRequest(msg);        if (OS_SUCCESS != pe->wait(msg.getCmd(), mTimeOut))        {                mpClient->resetConnectionSocket(msg.getMsgID());        // If the event has already been signalled, clean up        if(OS_ALREADY_SIGNALED == pe->signal(0))        {            mpEventMgr->release(pe);        }                return PT_BUSY;        }        int rc;        pe->getEventData((int &)rc);#ifdef PTAPI_TEST        int cmd;        pe->getIntData2(cmd);        assert(cmd == TaoMessage::CANCEL_FORWARDING);#endif        mpEventMgr->release(pe);        mAddressForwardDbSem.acquire();        if (mpAddressForwards)        {                for (i = 0; i < size; i++)                {                        for (int j = 0; j < mAddressForwardCnt; j++)                        {                                if (forwards[i] == (PtAddressForwarding&) mpAddressForwards[j])                                {                                        mAddressForwardCnt--;                                        for (int k = j; k < mAddressForwardCnt; k++)                                                mpAddressForwards[k] = mpAddressForwards[k + 1];                                        break;                                }                        }                }                if (mAddressForwardCnt <= 0)                {                        delete[] mpAddressForwards;                        mpAddressForwards = 0;                        mAddressForwardCnt = 0;                }        }        mAddressForwardDbSem.release();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品黄色片免费大全| 五月激情综合网| 日韩视频免费观看高清完整版| 91在线精品秘密一区二区| 免费看日韩精品| 一区二区三区久久久| 国产精品久久久久一区| 欧美国产在线观看| 亚洲三级电影网站| 狠狠色综合播放一区二区| 日本欧美肥老太交大片| 丝瓜av网站精品一区二区| 亚洲一区视频在线观看视频| 午夜精品福利一区二区三区av| 亚洲第一主播视频| 一区二区欧美精品| 91香蕉视频mp4| 在线看日韩精品电影| 69堂国产成人免费视频| 亚洲精品一区二区三区在线观看| 久久众筹精品私拍模特| 欧美激情在线一区二区| 亚洲精品在线观看视频| 久久―日本道色综合久久| 自拍视频在线观看一区二区| 亚洲精品伦理在线| 国产一二三精品| 在线观看三级视频欧美| 久久久不卡影院| 视频在线在亚洲| 色综合久久久久综合| 欧美tk丨vk视频| 性做久久久久久免费观看欧美| 日韩电影一区二区三区四区| 91麻豆文化传媒在线观看| 精品国产乱码久久久久久免费| 日韩一区在线看| 成人综合在线视频| 欧美日韩国产色站一区二区三区| 中文字幕久久午夜不卡| 麻豆久久一区二区| 日韩欧美久久久| 一区二区在线观看免费视频播放| 国产成人亚洲精品青草天美| 4438成人网| 日韩主播视频在线| 宅男噜噜噜66一区二区66| 亚洲综合丁香婷婷六月香| 91国产成人在线| 亚洲少妇30p| 99久久99久久综合| 国产精品女主播av| 成人午夜免费视频| 亚洲另类春色国产| 日韩欧美成人激情| 色综合av在线| 国产美女娇喘av呻吟久久| 亚洲精品写真福利| 欧美日韩国产不卡| 紧缚奴在线一区二区三区| ...xxx性欧美| 精品对白一区国产伦| 欧美偷拍一区二区| 国产成人在线色| 婷婷亚洲久悠悠色悠在线播放| 日本一区二区高清| 欧美一级在线免费| 欧美三日本三级三级在线播放| 国产成人av电影在线| 男女性色大片免费观看一区二区| 亚洲色图19p| 久久先锋影音av鲁色资源| 欧美久久久一区| 欧美性xxxxx极品少妇| 成人精品亚洲人成在线| 久久精品国内一区二区三区| 图片区小说区区亚洲影院| 亚洲丝袜另类动漫二区| 中文字幕一区二区三区在线播放| 久久久久久久久一| 日本一区二区三区在线不卡 | 成人黄色av网站在线| 国产成人av电影| 99久久久久久99| 91麻豆精品一区二区三区| 91免费观看视频| 91视频免费播放| 欧美日韩精品福利| 欧美疯狂性受xxxxx喷水图片| 欧美色精品在线视频| 欧美一区二区三区在线| 精品对白一区国产伦| 国产精品视频第一区| 亚洲精品欧美激情| 日韩和欧美一区二区| 国内精品国产三级国产a久久| 国产精品一区二区男女羞羞无遮挡| 国产91精品在线观看| 欧美亚洲日本国产| 欧美一区二区免费观在线| 久久久久久毛片| 亚洲香肠在线观看| 老司机精品视频导航| 成人精品鲁一区一区二区| 色偷偷久久人人79超碰人人澡| 色婷婷亚洲精品| 久久嫩草精品久久久精品| 亚洲精品你懂的| 国产精品一区一区三区| 在线免费观看日本一区| 精品sm在线观看| 国产日韩欧美在线一区| 亚洲一二三级电影| 97久久久精品综合88久久| 7799精品视频| 亚洲一二三四区不卡| 国产伦理精品不卡| 91精品国产aⅴ一区二区| 欧美国产禁国产网站cc| 国产中文字幕精品| 日韩欧美色电影| 天天射综合影视| 欧美影院午夜播放| 亚洲综合在线视频| 色域天天综合网| 亚洲最大成人网4388xx| 精品视频在线免费看| 亚洲第一久久影院| 欧美乱妇一区二区三区不卡视频| 一区二区三区四区在线播放| 91激情五月电影| 亚洲成av人影院| 日韩欧美精品在线视频| 国产乱码精品一区二区三区五月婷| 久久综合九色综合欧美98| 国产在线播放一区三区四| 中文字幕国产一区| 欧美午夜精品一区| 蜜臀久久久久久久| 久久久青草青青国产亚洲免观| www.av精品| 婷婷激情综合网| 国产精品久久综合| 欧美一区二区私人影院日本| 成人精品电影在线观看| 午夜精品视频一区| 国产精品麻豆网站| 91精品国产福利| 在线观看免费亚洲| 丰满亚洲少妇av| 久久97超碰色| 日日嗨av一区二区三区四区| 亚洲色欲色欲www| 久久综合狠狠综合久久综合88| 亚洲综合在线观看视频| 日韩不卡在线观看日韩不卡视频| 国产精品入口麻豆原神| 欧美日韩另类一区| 欧美高清视频www夜色资源网| 国产精品国产三级国产有无不卡| 久久97超碰国产精品超碰| 欧美影视一区二区三区| 1区2区3区欧美| 国产成人鲁色资源国产91色综| 欧美一区二区三区啪啪| 亚洲影院久久精品| 色欧美日韩亚洲| 亚洲色图制服丝袜| 99re热视频这里只精品| 中文字幕一区二区视频| 成人av免费在线播放| 亚洲国产成人在线| 丁香婷婷综合网| 中文字幕在线一区二区三区| 成人h动漫精品| 亚洲欧洲成人av每日更新| 成人黄色小视频| 亚洲三级视频在线观看| 色综合色狠狠天天综合色| 亚洲老妇xxxxxx| 欧美中文字幕亚洲一区二区va在线| 亚洲精品成a人| 欧美日韩在线观看一区二区| 亚洲国产一区二区视频| 91九色最新地址| 亚洲va欧美va天堂v国产综合| 欧美色图激情小说| 日本aⅴ亚洲精品中文乱码| 欧美一区二区三区喷汁尤物| 狠狠网亚洲精品| 欧美激情综合在线| 色8久久人人97超碰香蕉987| 一级做a爱片久久| 3atv在线一区二区三区| 国产最新精品精品你懂的| 国产精品美女一区二区在线观看| 一本大道久久a久久精品综合| 夜夜夜精品看看| 日韩一区二区免费视频| 成人综合在线视频|