media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDeviceInfo.cpp

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 #include "CSFLog.h"
     7 #include "CC_Common.h"
     9 #include "CC_SIPCCDeviceInfo.h"
    10 #include "CC_SIPCCFeatureInfo.h"
    11 #include "CC_SIPCCCallServerInfo.h"
    12 #include "CC_SIPCCCall.h"
    13 #include "CC_SIPCCLine.h"
    15 #include "csf_common.h"
    17 extern "C"
    18 {
    19 #include "cpr_types.h"
    20 #include "ccapi_device.h"
    21 #include "ccapi_device_info.h"
    22 }
    24 using namespace std;
    25 using namespace CSF;
    27 #define MAX_SUPPORTED_NUM_CALLS        100
    28 #define MAX_SUPPORTED_NUM_LINES        100
    29 #define MAX_SUPPORTED_NUM_FEATURES     100
    30 #define MAX_SUPPORTED_NUM_CALL_SERVERS 100
    33 CSF_IMPLEMENT_WRAP(CC_SIPCCDeviceInfo, cc_deviceinfo_ref_t);
    35 CC_SIPCCDeviceInfo::CC_SIPCCDeviceInfo (cc_deviceinfo_ref_t deviceinfo)
    36 : deviceinfo_ref(deviceinfo)
    37 {
    38     CCAPI_Device_retainDeviceInfo(deviceinfo_ref);
    39 }
    41 CC_SIPCCDeviceInfo::~CC_SIPCCDeviceInfo()
    42 {
    43     CCAPI_Device_releaseDeviceInfo(deviceinfo_ref);
    44 }
    46 string CC_SIPCCDeviceInfo::getDeviceName()
    47 {
    48     return CCAPI_DeviceInfo_getDeviceName(deviceinfo_ref);
    49 }
    51 vector<CC_CallPtr> CC_SIPCCDeviceInfo::getCalls ()
    52 {
    53     vector<CC_CallPtr> callsVector;
    55     cc_call_handle_t handles[MAX_SUPPORTED_NUM_CALLS] = {};
    56     cc_uint16_t numHandles = csf_countof(handles);
    58     CCAPI_DeviceInfo_getCalls(deviceinfo_ref, handles, &numHandles) ;
    60     for (int i=0; i<numHandles; i++)
    61     {
    62         CC_CallPtr callPtr = CC_SIPCCCall::wrap(handles[i]).get();
    63         callsVector.push_back(callPtr);
    64     }
    66     return callsVector;
    67 }
    69 vector<CC_LinePtr> CC_SIPCCDeviceInfo::getLines ()
    70 {
    71     vector<CC_LinePtr> linesVector;
    73     cc_lineid_t lines[MAX_SUPPORTED_NUM_LINES] = {};
    74     cc_uint16_t numLines = csf_countof(lines);
    76     CCAPI_DeviceInfo_getLines(deviceinfo_ref, lines, &numLines) ;
    78     for (int i=0; i<numLines; i++)
    79     {
    80         CC_LinePtr linePtr = CC_SIPCCLine::wrap(lines[i]).get();
    81         linesVector.push_back(linePtr);
    82     }
    84     return linesVector;
    85 }
    87 vector<CC_FeatureInfoPtr> CC_SIPCCDeviceInfo::getFeatures ()
    88 {
    89     vector<CC_FeatureInfoPtr> featuresVector;
    91     cc_featureinfo_ref_t features[MAX_SUPPORTED_NUM_FEATURES] = {};
    92     cc_uint16_t numFeatureInfos = csf_countof(features);
    94     CCAPI_DeviceInfo_getFeatures(deviceinfo_ref, features, &numFeatureInfos);
    96     for (int i=0; i<numFeatureInfos; i++)
    97     {
    98         CC_FeatureInfoPtr featurePtr =
    99           CC_SIPCCFeatureInfo::wrap(features[i]).get();
   100         featuresVector.push_back(featurePtr);
   101     }
   103     return featuresVector;
   104 }
   106 vector<CC_CallServerInfoPtr> CC_SIPCCDeviceInfo::getCallServers ()
   107 {
   108     vector<CC_CallServerInfoPtr> callServersVector;
   110     cc_callserver_ref_t callServers[MAX_SUPPORTED_NUM_CALL_SERVERS] = {};
   111     cc_uint16_t numCallServerInfos = csf_countof(callServers);
   113     CCAPI_DeviceInfo_getCallServers(deviceinfo_ref, callServers, &numCallServerInfos);
   115     for (int i=0; i<numCallServerInfos; i++)
   116     {
   117         CC_CallServerInfoPtr callServerPtr =
   118           CC_SIPCCCallServerInfo::wrap(callServers[i]).get();
   119         callServersVector.push_back(callServerPtr);
   120     }
   122     return callServersVector;
   123 }
   125 cc_service_state_t CC_SIPCCDeviceInfo::getServiceState()
   126 {
   127     return CCAPI_DeviceInfo_getServiceState(deviceinfo_ref);
   128 }
   131 cc_service_cause_t CC_SIPCCDeviceInfo::getServiceCause()
   132 {
   133     return CCAPI_DeviceInfo_getServiceCause(deviceinfo_ref);
   134 }

mercurial