ptphoneringer.cpp

来自「基于sipfoundy 公司开发的sipx协议API」· C++ 代码 · 共 470 行 · 第 1/2 页

CPP
470
字号
        mpClient->sendRequest(msg);        UtlString arg;        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->getStringData((UtlString &)arg);#ifdef PTAPI_TEST        int cmd;        pe->getIntData2(cmd);        assert(cmd == TaoMessage::RINGER_GET_MAX_PATTERN_INDEX);#endif        mpEventMgr->release(pe);        rMaxIndex = atoi(arg);        return PT_SUCCESS;}PtStatus PtPhoneRinger::getNumberOfRings(int& rNumRingCycles){        OsProtectedEvent *pe = mpEventMgr->alloc();        TaoMessage      msg(TaoMessage::REQUEST_PHONECOMPONENT,                                                                        TaoMessage::RINGER_GET_NUMBER_OF_RINGS,                                                                        0,                                                                        (TaoObjHandle)0,                                                                        (TaoObjHandle)pe,                                                                        0,                                                                        "");        mpClient->sendRequest(msg);        UtlString arg;        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->getStringData((UtlString &)arg);#ifdef PTAPI_TEST        int cmd;        pe->getIntData2(cmd);        assert(cmd == TaoMessage::RINGER_GET_NUMBER_OF_RINGS);#endif        mpEventMgr->release(pe);        rNumRingCycles = atoi(arg);        return PT_SUCCESS;}PtStatus PtPhoneRinger::getRingerInfo(int patternIndex, char*& rpInfo){        char buf[MAXIMUM_INTEGER_STRING_LENGTH];        sprintf(buf, "%d", patternIndex);        OsProtectedEvent *pe = mpEventMgr->alloc();        TaoMessage      msg(TaoMessage::REQUEST_PHONECOMPONENT,                                                                        TaoMessage::RINGER_GET_INFO,                                                                        0,                                                                        (TaoObjHandle)0,                                                                        (TaoObjHandle)pe,                                                                        1,                                                                        buf);        mpClient->sendRequest(msg);        UtlString arg;        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->getStringData((UtlString &)arg);#ifdef PTAPI_TEST        int cmd;        pe->getIntData2(cmd);        assert(cmd == TaoMessage::RINGER_GET_INFO);#endif        mpEventMgr->release(pe);        if (rpInfo)        {                strcpy(rpInfo, arg.data());                return PT_SUCCESS;        }        return PT_RESOURCE_UNAVAILABLE;}PtStatus PtPhoneRinger::getRingerPattern(int& rPatternIndex){        OsProtectedEvent *pe = mpEventMgr->alloc();        TaoMessage      msg(TaoMessage::REQUEST_PHONECOMPONENT,                                                                        TaoMessage::RINGER_GET_PATTERN,                                                                        0,                                                                        (TaoObjHandle)0,                                                                        (TaoObjHandle)pe,                                                                        0,                                                                        "");        mpClient->sendRequest(msg);        UtlString arg;        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->getStringData((UtlString &)arg);#ifdef PTAPI_TEST        int cmd;        pe->getIntData2(cmd);        assert(cmd == TaoMessage::RINGER_GET_PATTERN);#endif        mpEventMgr->release(pe);        rPatternIndex = atoi(arg);        return PT_SUCCESS;}PtStatus PtPhoneRinger::getRingerVolume(int& rVolume){        OsProtectedEvent *pe = mpEventMgr->alloc();        TaoMessage      msg(TaoMessage::REQUEST_PHONECOMPONENT,                                                                        TaoMessage::RINGER_GET_VOLUME,                                                                        0,                                                                        (TaoObjHandle)0,                                                                        (TaoObjHandle)pe,                                                                        0,                                                                        "");        mpClient->sendRequest(msg);        int rc;        UtlString arg;        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);        pe->getStringData((UtlString &)arg);#ifdef PTAPI_TEST        int cmd;        pe->getIntData2(cmd);        assert(cmd == TaoMessage::RINGER_GET_VOLUME);#endif        mpEventMgr->release(pe);        rVolume = atoi(arg);        return PT_SUCCESS;}/* ============================ INQUIRY =================================== */PtStatus PtPhoneRinger::isRingerOn(PtBoolean& rIsOn){        OsProtectedEvent *pe = mpEventMgr->alloc();        TaoMessage      msg(TaoMessage::REQUEST_PHONECOMPONENT,                                                                        TaoMessage::RINGER_IS_ON,                                                                        0,                                                                        (TaoObjHandle)0,                                                                        (TaoObjHandle)pe,                                                                        0,                                                                        "");        mpClient->sendRequest(msg);        UtlString arg;        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->getStringData((UtlString &)arg);#ifdef PTAPI_TEST        int cmd;        pe->getIntData2(cmd);        assert(cmd == TaoMessage::RINGER_IS_ON);#endif        mpEventMgr->release(pe);        rIsOn = atoi(arg);        return PT_SUCCESS;}/* //////////////////////////// PROTECTED ///////////////////////////////// *//* //////////////////////////// PRIVATE /////////////////////////////////// *//* ============================ FUNCTIONS ================================= */

⌨️ 快捷键说明

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