diff --git a/media/webrtc/signaling/include/CC_Call.h b/media/webrtc/signaling/include/CC_Call.h index ede8577dda40..121c6af0c8c6 100644 --- a/media/webrtc/signaling/include/CC_Call.h +++ b/media/webrtc/signaling/include/CC_Call.h @@ -6,6 +6,7 @@ #include "CC_Common.h" #include "ECC_Types.h" +#include "mozilla/RefPtr.h" extern "C" { @@ -16,6 +17,9 @@ namespace CSF { class ECC_API CC_Call { + public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CC_Call) + protected: CC_Call () { } @@ -285,6 +289,7 @@ namespace CSF virtual const std::string& getPeerConnection() const = 0; virtual void addICECandidate(const std::string & candidate, const std::string & mid, unsigned short level) = 0; + }; } diff --git a/media/webrtc/signaling/include/CC_CallInfo.h b/media/webrtc/signaling/include/CC_CallInfo.h index 9bc2f8955c98..f6b04fc1b37d 100644 --- a/media/webrtc/signaling/include/CC_CallInfo.h +++ b/media/webrtc/signaling/include/CC_CallInfo.h @@ -20,6 +20,8 @@ namespace CSF class ECC_API CC_CallInfo { + public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CC_CallInfo) protected: CC_CallInfo() { } diff --git a/media/webrtc/signaling/include/CC_CallServerInfo.h b/media/webrtc/signaling/include/CC_CallServerInfo.h index 4eb9d3c9675b..0bf186d2bde1 100644 --- a/media/webrtc/signaling/include/CC_CallServerInfo.h +++ b/media/webrtc/signaling/include/CC_CallServerInfo.h @@ -17,6 +17,8 @@ namespace CSF { class ECC_API CC_CallServerInfo { + public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CC_CallServerInfo) protected: CC_CallServerInfo() { } diff --git a/media/webrtc/signaling/include/CC_Common.h b/media/webrtc/signaling/include/CC_Common.h index fe629a8f452b..ba8a65b05c82 100644 --- a/media/webrtc/signaling/include/CC_Common.h +++ b/media/webrtc/signaling/include/CC_Common.h @@ -18,17 +18,17 @@ namespace CSF { - DECLARE_PTR(CallControlManager) - DECLARE_PTR_VECTOR(PhoneDetails) - DECLARE_PTR(CC_Service) - DECLARE_PTR(VideoControl) - DECLARE_PTR(AudioControl) - DECLARE_PTR_VECTOR(CC_Device) - DECLARE_PTR(CC_DeviceInfo) - DECLARE_PTR(CC_CallServerInfo) - DECLARE_PTR(CC_FeatureInfo) - DECLARE_PTR_VECTOR(CC_Line) - DECLARE_PTR(CC_LineInfo) - DECLARE_PTR_VECTOR(CC_Call) - DECLARE_PTR(CC_CallInfo) + DECLARE_NS_PTR(CallControlManager) + DECLARE_NS_PTR_VECTOR(PhoneDetails) + DECLARE_NS_PTR(CC_Service) + DECLARE_NS_PTR(VideoControl) + DECLARE_NS_PTR(AudioControl) + DECLARE_NS_PTR_VECTOR(CC_Device) + DECLARE_NS_PTR(CC_DeviceInfo) + DECLARE_NS_PTR(CC_CallServerInfo) + DECLARE_NS_PTR(CC_FeatureInfo) + DECLARE_NS_PTR_VECTOR(CC_Line) + DECLARE_NS_PTR(CC_LineInfo) + DECLARE_NS_PTR_VECTOR(CC_Call) + DECLARE_NS_PTR(CC_CallInfo) } diff --git a/media/webrtc/signaling/include/CC_Device.h b/media/webrtc/signaling/include/CC_Device.h index ffa4b8d183f6..fa3f6a93d0ae 100644 --- a/media/webrtc/signaling/include/CC_Device.h +++ b/media/webrtc/signaling/include/CC_Device.h @@ -16,6 +16,8 @@ namespace CSF class ECC_API CC_Device { + public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CC_Device) protected: CC_Device() {} diff --git a/media/webrtc/signaling/include/CC_DeviceInfo.h b/media/webrtc/signaling/include/CC_DeviceInfo.h index 9b77d8929da6..3ba8ac16c865 100644 --- a/media/webrtc/signaling/include/CC_DeviceInfo.h +++ b/media/webrtc/signaling/include/CC_DeviceInfo.h @@ -17,6 +17,8 @@ namespace CSF { class ECC_API CC_DeviceInfo { + public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CC_DeviceInfo) protected: CC_DeviceInfo() { } diff --git a/media/webrtc/signaling/include/CC_FeatureInfo.h b/media/webrtc/signaling/include/CC_FeatureInfo.h index c212725ddeb5..0e05e8cf5141 100644 --- a/media/webrtc/signaling/include/CC_FeatureInfo.h +++ b/media/webrtc/signaling/include/CC_FeatureInfo.h @@ -15,6 +15,8 @@ namespace CSF { class ECC_API CC_FeatureInfo { + public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CC_FeatureInfo) protected: CC_FeatureInfo() { } diff --git a/media/webrtc/signaling/include/CC_Line.h b/media/webrtc/signaling/include/CC_Line.h index 64576fb495fa..39d8599d8a64 100644 --- a/media/webrtc/signaling/include/CC_Line.h +++ b/media/webrtc/signaling/include/CC_Line.h @@ -15,6 +15,8 @@ namespace CSF { class ECC_API CC_Line { + public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CC_Line) protected: CC_Line () { } diff --git a/media/webrtc/signaling/include/CC_LineInfo.h b/media/webrtc/signaling/include/CC_LineInfo.h index 3409c1b6feb8..a16fba4b31dc 100644 --- a/media/webrtc/signaling/include/CC_LineInfo.h +++ b/media/webrtc/signaling/include/CC_LineInfo.h @@ -18,6 +18,8 @@ namespace CSF { class ECC_API CC_LineInfo { + public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CC_LineInfo) protected: CC_LineInfo() { } diff --git a/media/webrtc/signaling/include/CC_Service.h b/media/webrtc/signaling/include/CC_Service.h index a4d1bf0a7cf9..0dd4aae59cb0 100644 --- a/media/webrtc/signaling/include/CC_Service.h +++ b/media/webrtc/signaling/include/CC_Service.h @@ -19,6 +19,8 @@ namespace CSF { class ECC_API CC_Service { + public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CC_Service) protected: CC_Service() {} public: diff --git a/media/webrtc/signaling/include/CSFAudioControl.h b/media/webrtc/signaling/include/CSFAudioControl.h index 9465b0e16de4..d4e469c548a2 100644 --- a/media/webrtc/signaling/include/CSFAudioControl.h +++ b/media/webrtc/signaling/include/CSFAudioControl.h @@ -8,10 +8,11 @@ namespace CSF { - DECLARE_PTR(AudioControl); + DECLARE_NS_PTR(AudioControl) class ECC_API AudioControl { public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(AudioControl) // device names are in UTF-8 encoding virtual std::vector getRecordingDevices() = 0; diff --git a/media/webrtc/signaling/include/CSFVideoControl.h b/media/webrtc/signaling/include/CSFVideoControl.h index 0da95b708eff..7d859c7e838f 100644 --- a/media/webrtc/signaling/include/CSFVideoControl.h +++ b/media/webrtc/signaling/include/CSFVideoControl.h @@ -12,10 +12,11 @@ namespace CSF { - DECLARE_PTR(VideoControl); + DECLARE_NS_PTR(VideoControl) class ECC_API VideoControl { public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(VideoControl) virtual ~VideoControl() {}; virtual void setVideoMode( bool enable ) = 0; diff --git a/media/webrtc/signaling/include/CallControlManager.h b/media/webrtc/signaling/include/CallControlManager.h index 93c81c1e472d..2e5d79612556 100755 --- a/media/webrtc/signaling/include/CallControlManager.h +++ b/media/webrtc/signaling/include/CallControlManager.h @@ -34,7 +34,7 @@ namespace CSF { - DECLARE_PTR(CallControlManager) + DECLARE_NS_PTR(CallControlManager) /** * CallControlManager * @@ -48,6 +48,7 @@ namespace CSF class ECC_API CallControlManager { public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CallControlManager) /** * Use create() to create a CallControlManager instance. * diff --git a/media/webrtc/signaling/include/PhoneDetails.h b/media/webrtc/signaling/include/PhoneDetails.h index 83bb285e03a5..f8d777b1f810 100644 --- a/media/webrtc/signaling/include/PhoneDetails.h +++ b/media/webrtc/signaling/include/PhoneDetails.h @@ -11,10 +11,11 @@ namespace CSF { - DECLARE_PTR_VECTOR(PhoneDetails); + DECLARE_NS_PTR_VECTOR(PhoneDetails); class ECC_API PhoneDetails { public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(PhoneDetails) virtual ~PhoneDetails() {} /** * Get the device name (the CUCM device name) and the free text description. diff --git a/media/webrtc/signaling/include/SharedPtr.h b/media/webrtc/signaling/include/SharedPtr.h index 6d841425260a..d964ce102037 100644 --- a/media/webrtc/signaling/include/SharedPtr.h +++ b/media/webrtc/signaling/include/SharedPtr.h @@ -6,6 +6,7 @@ #include #include "base/linked_ptr.h" +#include "nsAutoPtr.h" #ifndef DECLARE_PTR #define DECLARE_PTR(className)\ @@ -25,3 +26,19 @@ #ifndef NULL_PTR #define NULL_PTR(className) linked_ptr() #endif + +// NSPR Variations of the above, to help with migration +// from linked_ptr to nsRefPtr +#ifndef DECLARE_NS_PTR +#define DECLARE_NS_PTR(className)\ + class className;\ + typedef nsRefPtr className##Ptr; +#endif + + +#ifndef DECLARE_NS_PTR_VECTOR +#define DECLARE_NS_PTR_VECTOR(className)\ + DECLARE_NS_PTR(className)\ + typedef std::vector className##Vtr;\ + typedef linked_ptr className##Vtr##Ptr; +#endif diff --git a/media/webrtc/signaling/src/callcontrol/CallControlManagerImpl.cpp b/media/webrtc/signaling/src/callcontrol/CallControlManagerImpl.cpp index f389a7b694cf..2d9e952180f9 100755 --- a/media/webrtc/signaling/src/callcontrol/CallControlManagerImpl.cpp +++ b/media/webrtc/signaling/src/callcontrol/CallControlManagerImpl.cpp @@ -234,8 +234,8 @@ bool CallControlManagerImpl::disconnect() phone->removeCCObserver(this); phone->stop(); phone->destroy(); - phone.reset(); - softPhone.reset(); + phone = nullptr; + softPhone = nullptr; return true; } @@ -275,7 +275,7 @@ PhoneDetailsVtrPtr CallControlManagerImpl::getAvailablePhoneDetails() PhoneDetailsVtrPtr result = PhoneDetailsVtrPtr(new PhoneDetailsVtr()); for(PhoneDetailsMap::iterator it = phoneDetailsMap.begin(); it != phoneDetailsMap.end(); it++) { - PhoneDetailsPtr details = it->second; + PhoneDetailsPtr details = it->second.get(); result->push_back(details); } return result; @@ -286,7 +286,7 @@ PhoneDetailsPtr CallControlManagerImpl::getAvailablePhoneDetails(const std::stri PhoneDetailsMap::iterator it = phoneDetailsMap.find(deviceName); if(it != phoneDetailsMap.end()) { - return it->second; + return it->second.get(); } return PhoneDetailsPtr(); } diff --git a/media/webrtc/signaling/src/callcontrol/PhoneDetailsImpl.h b/media/webrtc/signaling/src/callcontrol/PhoneDetailsImpl.h index 0db842390980..0bdd70d82fc6 100644 --- a/media/webrtc/signaling/src/callcontrol/PhoneDetailsImpl.h +++ b/media/webrtc/signaling/src/callcontrol/PhoneDetailsImpl.h @@ -8,7 +8,7 @@ namespace CSF { - DECLARE_PTR(PhoneDetailsImpl); + DECLARE_NS_PTR(PhoneDetailsImpl); class PhoneDetailsImpl: public PhoneDetails { public: diff --git a/media/webrtc/signaling/src/media/CSFAudioControlWrapper.h b/media/webrtc/signaling/src/media/CSFAudioControlWrapper.h index 3f7638762e8c..79d34e53e85d 100644 --- a/media/webrtc/signaling/src/media/CSFAudioControlWrapper.h +++ b/media/webrtc/signaling/src/media/CSFAudioControlWrapper.h @@ -9,7 +9,7 @@ namespace CSF { - DECLARE_PTR(AudioControlWrapper); + DECLARE_NS_PTR(AudioControlWrapper) class ECC_API AudioControlWrapper : public AudioControl { public: diff --git a/media/webrtc/signaling/src/media/CSFVideoControlWrapper.h b/media/webrtc/signaling/src/media/CSFVideoControlWrapper.h index 1d689e00f3bf..5f8ce585899c 100644 --- a/media/webrtc/signaling/src/media/CSFVideoControlWrapper.h +++ b/media/webrtc/signaling/src/media/CSFVideoControlWrapper.h @@ -15,9 +15,9 @@ namespace CSF { + DECLARE_NS_PTR(VideoControlWrapper) typedef void *VideoWindowHandle; - DECLARE_PTR(VideoControlWrapper); class ECC_API VideoControlWrapper : public VideoControl { public: diff --git a/media/webrtc/signaling/src/peerconnection/PeerConnectionCtx.h b/media/webrtc/signaling/src/peerconnection/PeerConnectionCtx.h index ac8412850d88..d8c37910a918 100644 --- a/media/webrtc/signaling/src/peerconnection/PeerConnectionCtx.h +++ b/media/webrtc/signaling/src/peerconnection/PeerConnectionCtx.h @@ -10,8 +10,13 @@ #include "mozilla/Attributes.h" #include "CallControlManager.h" #include "CC_Device.h" +#include "CC_DeviceInfo.h" #include "CC_Call.h" +#include "CC_CallInfo.h" +#include "CC_Line.h" +#include "CC_LineInfo.h" #include "CC_Observer.h" +#include "CC_FeatureInfo.h" #include "StaticPtr.h" #include "PeerConnectionImpl.h" diff --git a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCall.cpp b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCall.cpp index e392fece109e..5a7232a374ba 100644 --- a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCall.cpp +++ b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCall.cpp @@ -126,7 +126,7 @@ CC_CallInfoPtr CC_SIPCCCall::getCallInfo () cc_callinfo_ref_t callInfo = CCAPI_Call_getCallInfo(callHandle); CC_SIPCCCallInfoPtr callInfoPtr = CC_SIPCCCallInfo::wrap(callInfo); callInfoPtr->setMediaData( pMediaData); - return callInfoPtr; + return callInfoPtr.get(); } diff --git a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCall.h b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCall.h index a16e609691ac..7682665db8b4 100644 --- a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCall.h +++ b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCall.h @@ -23,11 +23,12 @@ namespace CSF }; typedef std::map StreamMapType; - DECLARE_PTR(CC_SIPCCCallMediaData); + DECLARE_NS_PTR(CC_SIPCCCallMediaData); class CC_SIPCCCallMediaData { public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CC_SipCCCAllMediaData) CC_SIPCCCallMediaData(): remoteWindow(NULL), streamMapMutex("CC_SIPCCCallMediaData"), @@ -54,7 +55,7 @@ namespace CSF CC_SIPCCCallMediaData& operator=(const CC_SIPCCCallMediaData&); }; - DECLARE_PTR(CC_SIPCCCall); + DECLARE_NS_PTR(CC_SIPCCCall); class CC_SIPCCCall : public CC_Call { diff --git a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCallInfo.cpp b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCallInfo.cpp index 21905c23d78b..3a209fed9340 100644 --- a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCallInfo.cpp +++ b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCallInfo.cpp @@ -286,7 +286,7 @@ string CC_SIPCCCallInfo::getAlternateNumber() CC_LinePtr CC_SIPCCCallInfo::getline () { cc_lineid_t lineId = CCAPI_CallInfo_getLine(callinfo_ref); - return CC_SIPCCLine::wrap(lineId); + return CC_SIPCCLine::wrap(lineId).get(); } string CC_SIPCCCallInfo::getOriginalCalledPartyName() diff --git a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCallInfo.h b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCallInfo.h index 7994626f07c6..32b1505a0c47 100644 --- a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCallInfo.h +++ b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCallInfo.h @@ -18,7 +18,7 @@ extern "C" { namespace CSF { - DECLARE_PTR(CC_SIPCCCallInfo); + DECLARE_NS_PTR(CC_SIPCCCallInfo); class CC_SIPCCCallInfo : public CC_CallInfo { diff --git a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCallServerInfo.h b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCallServerInfo.h index 22796f92a431..3a7062c01820 100644 --- a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCallServerInfo.h +++ b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCCallServerInfo.h @@ -11,7 +11,7 @@ namespace CSF { - DECLARE_PTR(CC_SIPCCCallServerInfo); + DECLARE_NS_PTR(CC_SIPCCCallServerInfo); class CC_SIPCCCallServerInfo : public CC_CallServerInfo { private: diff --git a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDevice.cpp b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDevice.cpp index 731e88bd9546..966c6f1d1f92 100644 --- a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDevice.cpp +++ b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDevice.cpp @@ -31,7 +31,7 @@ CC_DevicePtr CC_SIPCCDevice::createDevice () CC_SIPCCDevicePtr pSIPCCDevice = CC_SIPCCDevice::wrap(deviceHandle); - return pSIPCCDevice; + return pSIPCCDevice.get(); } CC_SIPCCDevice::CC_SIPCCDevice (cc_device_handle_t aDeviceHandle) @@ -44,7 +44,8 @@ CC_SIPCCDevice::CC_SIPCCDevice (cc_device_handle_t aDeviceHandle) CC_DeviceInfoPtr CC_SIPCCDevice::getDeviceInfo () { cc_deviceinfo_ref_t deviceInfoRef = CCAPI_Device_getDeviceInfo(deviceHandle); - CC_DeviceInfoPtr deviceInfoPtr = CC_SIPCCDeviceInfo::wrap(deviceInfoRef); + CC_DeviceInfoPtr deviceInfoPtr = + CC_SIPCCDeviceInfo::wrap(deviceInfoRef).get(); //A call to CCAPI_Device_getDeviceInfo() needs a matching call to CCAPI_Device_releaseDeviceInfo() //However, the CC_SIPCCDeviceInfo() ctor/dtor does a retain/release internally, so I need to explicitly release @@ -73,7 +74,7 @@ CC_CallPtr CC_SIPCCDevice::createCall () { cc_call_handle_t callHandle = CCAPI_Device_CreateCall(deviceHandle); - return CC_SIPCCCall::wrap(callHandle); + return CC_SIPCCCall::wrap(callHandle).get(); } void CC_SIPCCDevice::enableVideo(bool enable) diff --git a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDevice.h b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDevice.h index 83de7c86d170..a7da9ffacfd1 100644 --- a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDevice.h +++ b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDevice.h @@ -11,7 +11,7 @@ namespace CSF { - DECLARE_PTR(CC_SIPCCDevice); + DECLARE_NS_PTR(CC_SIPCCDevice); class CC_SIPCCDevice : public CC_Device { private: diff --git a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDeviceInfo.cpp b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDeviceInfo.cpp index 1b0e88732640..ec54b9523d95 100644 --- a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDeviceInfo.cpp +++ b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCDeviceInfo.cpp @@ -59,7 +59,7 @@ vector CC_SIPCCDeviceInfo::getCalls () for (int i=0; i CC_SIPCCDeviceInfo::getLines () for (int i=0; i CC_SIPCCDeviceInfo::getFeatures () for (int i=0; i CC_SIPCCDeviceInfo::getCallServers () for (int i=0; i CC_SIPCCLineInfo::getCalls (CC_LinePtr linePtr) for (int i=0; i CC_SIPCCLineInfo::getCallsByState (CC_LinePtr linePtr, cc_cal for (int i=0; i CC_SIPCCService::getDevices() CC_SIPCCDevicePtr pDevice = CC_SIPCCDevice::wrap(CCAPI_Device_getDeviceID()); if(pDevice != NULL) { - devices.push_back(pDevice); + devices.push_back(pDevice.get()); } return devices; @@ -506,12 +506,12 @@ AudioControlPtr CC_SIPCCService::getAudioControl () { if(audioControlWrapper != NULL) { - return audioControlWrapper; + return audioControlWrapper.get(); } else { audioControlWrapper = AudioControlWrapperPtr(new AudioControlWrapper(VcmSIPCCBinding::getAudioControl())); - return audioControlWrapper; + return audioControlWrapper.get(); } } @@ -522,12 +522,12 @@ VideoControlPtr CC_SIPCCService::getVideoControl () { if(videoControlWrapper != NULL) { - return videoControlWrapper; + return videoControlWrapper.get(); } else { videoControlWrapper = VideoControlWrapperPtr(new VideoControlWrapper(VcmSIPCCBinding::getVideoControl())); - return videoControlWrapper; + return videoControlWrapper.get(); } } @@ -626,7 +626,7 @@ void CC_SIPCCService::onDeviceEvent(ccapi_device_event_e type, cc_device_handle_ device_event_getname(type), devicePtr->toString().c_str(), infoPtr->getDeviceName().c_str()); - _self->notifyDeviceEventObservers(type, devicePtr, infoPtr); + _self->notifyDeviceEventObservers(type, devicePtr.get(), infoPtr.get()); } void CC_SIPCCService::onFeatureEvent(ccapi_device_event_e type, cc_deviceinfo_ref_t /* device_info */, cc_featureinfo_ref_t feature_info) @@ -641,14 +641,14 @@ void CC_SIPCCService::onFeatureEvent(ccapi_device_event_e type, cc_deviceinfo_re mozilla::MutexAutoLock lock(_self->m_lock); cc_device_handle_t hDevice = CCAPI_Device_getDeviceID(); - CC_DevicePtr devicePtr = CC_SIPCCDevice::wrap(hDevice); + CC_DevicePtr devicePtr = CC_SIPCCDevice::wrap(hDevice).get(); if (devicePtr == NULL) { CSFLogError( logTag, "Unable to notify device observers for device handle (%u), as failed to create CC_DevicePtr", hDevice); return; } - CC_FeatureInfoPtr infoPtr = CC_SIPCCFeatureInfo::wrap(feature_info); + CC_FeatureInfoPtr infoPtr = CC_SIPCCFeatureInfo::wrap(feature_info).get(); if (infoPtr == NULL) { CSFLogError( logTag, "Unable to notify call observers for feature info handle (%u), as failed to create CC_FeatureInfoPtr", feature_info); @@ -672,14 +672,14 @@ void CC_SIPCCService::onLineEvent(ccapi_line_event_e eventType, cc_lineid_t line mozilla::MutexAutoLock lock(_self->m_lock); - CC_LinePtr linePtr = CC_SIPCCLine::wrap(line); + CC_LinePtr linePtr = CC_SIPCCLine::wrap(line).get(); if (linePtr == NULL) { CSFLogError( logTag, "Unable to notify line observers for line lineId (%u), as failed to create CC_LinePtr", line); return; } - CC_LineInfoPtr infoPtr = CC_SIPCCLineInfo::wrap(info); + CC_LineInfoPtr infoPtr = CC_SIPCCLineInfo::wrap(info).get(); if (infoPtr == NULL) { CSFLogError( logTag, "Unable to notify line observers for line lineId (%u), as failed to create CC_LineInfoPtr", line); @@ -722,7 +722,7 @@ void CC_SIPCCService::onCallEvent(ccapi_call_event_e eventType, cc_call_handle_t CSFLogInfo( logTag, "onCallEvent(%s, %s, [%s|%s]", call_event_getname(eventType), callPtr->toString().c_str(), call_state_getname(infoPtr->getCallState()), CC_CallCapabilityEnum::toString(capSet).c_str()); - _self->notifyCallEventObservers(eventType, callPtr, infoPtr); + _self->notifyCallEventObservers(eventType, callPtr.get(), infoPtr.get()); } void CC_SIPCCService::addCCObserver ( CC_Observer * observer ) diff --git a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCService.h b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCService.h index f2ba9fe9ba3b..9aeba5040ff3 100644 --- a/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCService.h +++ b/media/webrtc/signaling/src/softphonewrapper/CC_SIPCCService.h @@ -33,7 +33,7 @@ extern "C" { namespace CSF { class PhoneConfig; - DECLARE_PTR(CC_SIPCCService); + DECLARE_NS_PTR(CC_SIPCCService); class CC_SIPCCService : public CC_Service, public StreamObserver, public MediaProviderObserver {