summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Begumisa <ben_g@users.sourceforge.net>2009-06-03 13:26:35 +0000
committerGerald Begumisa <ben_g@users.sourceforge.net>2009-06-03 13:26:35 +0000
commit2997d9599a7f90527983e42bf8a0bb9f2e4c7d09 (patch)
tree4868baffed8d76c150aa1d91fedf2fc4de7c2f8a
parent49bd54fee4e12d32b73b851e093048d87b01b88d (diff)
Added methods SetOnHold and SetOffHold to orkaudio API for capture plugins. Implemented this change in VoIp plugin.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@618 09dcff7a-b715-0410-9601-b79a96267cd0
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIp.cpp20
-rw-r--r--orkbasecxx/AudioCapturePlugin.h3
-rw-r--r--orkbasecxx/CapturePluginProxy.cpp29
-rw-r--r--orkbasecxx/CapturePluginProxy.h4
4 files changed, 53 insertions, 3 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.cpp b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
index 0e85bae..bb22b7d 100644
--- a/orkaudio/audiocaptureplugins/voip/VoIp.cpp
+++ b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
@@ -86,6 +86,8 @@ public:
void StartCapture(CStdString& port, CStdString& orkuid);
void StopCapture(CStdString& port);
void PauseCapture(CStdString& port, CStdString& orkuid);
+ void SetOnHold(CStdString& port, CStdString& orkuid);
+ void SetOffHold(CStdString& port, CStdString& orkuid);
void ReportPcapStats();
pcap_t* OpenDevice(CStdString& name);
void AddPcapDeviceToMap(CStdString& deviceName, pcap_t* pcapHandle);
@@ -3384,6 +3386,15 @@ void VoIp::StopCapture(CStdString& port)
;
}
+void VoIp::SetOnHold(CStdString& port, CStdString& orkuid)
+{
+ ;
+}
+
+void VoIp::SetOffHold(CStdString& port, CStdString& orkuid)
+{
+ ;
+}
void __CDECL__ Initialize()
{
@@ -3443,4 +3454,13 @@ void __CDECL__ StopCapture(CStdString& party)
;
}
+void __CDECL__ SetOnHold(CStdString& port, CStdString& orkuid)
+{
+ ;
+}
+
+void __CDECL__ SetOffHold(CStdString& port, CStdString& orkuid)
+{
+ ;
+}
diff --git a/orkbasecxx/AudioCapturePlugin.h b/orkbasecxx/AudioCapturePlugin.h
index c7fc38c..ede2ea0 100644
--- a/orkbasecxx/AudioCapturePlugin.h
+++ b/orkbasecxx/AudioCapturePlugin.h
@@ -44,7 +44,8 @@ typedef void (__CDECL__* ConfigureFunction)(DOMNode*);
typedef void (__CDECL__* StartCaptureFunction)(CStdString& port, CStdString& orkUid);
typedef void (__CDECL__* StopCaptureFunction)(CStdString& port);
typedef void (__CDECL__* PauseCaptureFunction)(CStdString& port, CStdString& orkUid);
-
+typedef void (__CDECL__* SetOnHoldFunction)(CStdString& port, CStdString& orkUid);
+typedef void (__CDECL__* SetOffHoldFunction)(CStdString& port, CStdString& orkUid);
#endif
diff --git a/orkbasecxx/CapturePluginProxy.cpp b/orkbasecxx/CapturePluginProxy.cpp
index f5db16c..67c8395 100644
--- a/orkbasecxx/CapturePluginProxy.cpp
+++ b/orkbasecxx/CapturePluginProxy.cpp
@@ -90,9 +90,18 @@ bool CapturePluginProxy::Init()
{
m_dll.open((PCSTR)pluginPath);
ACE_TCHAR* error = m_dll.error();
+#ifndef WIN32
+ char *errorstr;
+#endif
if(error)
{
+#ifndef WIN32
+ errorstr = dlerror();
+ CStdString errorcstds(errorstr);
+ LOG4CXX_ERROR(LOG.rootLog, CStdString("Failed to load the following plugin: ") + pluginPath + " " + errorcstds);
+#else
LOG4CXX_ERROR(LOG.rootLog, CStdString("Failed to load the following plugin: ") + pluginPath);
+#endif
}
else
{
@@ -123,9 +132,25 @@ bool CapturePluginProxy::Init()
if (m_stopCaptureFunction)
{
m_pauseCaptureFunction = (PauseCaptureFunction)m_dll.symbol("PauseCapture");
- if(m_stopCaptureFunction)
+ if(m_pauseCaptureFunction)
{
- m_loaded = true;
+ m_setOnHoldFunction = (SetOnHoldFunction)m_dll.symbol("SetOnHold");
+ if(m_setOnHoldFunction)
+ {
+ m_setOffHoldFunction = (SetOnHoldFunction)m_dll.symbol("SetOffHold");
+ if(m_setOffHoldFunction)
+ {
+ m_loaded = true;
+ }
+ else
+ {
+ LOG4CXX_ERROR(LOG.rootLog, CStdString("Could not find SetOffHold function in ") + pluginPath);
+ }
+ }
+ else
+ {
+ LOG4CXX_ERROR(LOG.rootLog, CStdString("Could not find SetOnHold function in ") + pluginPath);
+ }
}
else
{
diff --git a/orkbasecxx/CapturePluginProxy.h b/orkbasecxx/CapturePluginProxy.h
index a3d4257..3ce7e46 100644
--- a/orkbasecxx/CapturePluginProxy.h
+++ b/orkbasecxx/CapturePluginProxy.h
@@ -31,6 +31,8 @@ public:
void StartCapture(CStdString& party, CStdString& orkuid);
void PauseCapture(CStdString& party, CStdString& orkuid);
void StopCapture(CStdString& party);
+ void SetOnHold(CStdString& party, CStdString& orkuid);
+ void SetOffHold(CStdString& party, CStdString& orkuid);
static void __CDECL__ AudioChunkCallBack(AudioChunkRef chunkRef, CStdString& capturePort);
static void __CDECL__ CaptureEventCallBack(CaptureEventRef eventRef, CStdString& capturePort);
@@ -46,6 +48,8 @@ private:
StartCaptureFunction m_startCaptureFunction;
StopCaptureFunction m_stopCaptureFunction;
PauseCaptureFunction m_pauseCaptureFunction;
+ SetOnHoldFunction m_setOnHoldFunction;
+ SetOffHoldFunction m_setOffHoldFunction;
ACE_DLL m_dll;
bool m_loaded;