summaryrefslogtreecommitdiff
path: root/voice_engine/voe_network_impl.h
diff options
context:
space:
mode:
authorandrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2012-10-22 18:19:23 +0000
committerandrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2012-10-22 18:19:23 +0000
commitb015cbede88899f67a53fbbe581b02ce8e327949 (patch)
tree530a64a3cfdbbabacab974c183326517d49e761e /voice_engine/voe_network_impl.h
downloadwebrtc-b015cbede88899f67a53fbbe581b02ce8e327949.tar.gz
Move src/ -> webrtc/
TBR=niklas.enbom@webrtc.org Review URL: https://webrtc-codereview.appspot.com/915006 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'voice_engine/voe_network_impl.h')
-rw-r--r--voice_engine/voe_network_impl.h114
1 files changed, 114 insertions, 0 deletions
diff --git a/voice_engine/voe_network_impl.h b/voice_engine/voe_network_impl.h
new file mode 100644
index 00000000..b159c81b
--- /dev/null
+++ b/voice_engine/voe_network_impl.h
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree. An additional intellectual property rights grant can be found
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+#ifndef WEBRTC_VOICE_ENGINE_VOE_NETWORK_IMPL_H
+#define WEBRTC_VOICE_ENGINE_VOE_NETWORK_IMPL_H
+
+#include "voe_network.h"
+
+#include "shared_data.h"
+
+
+namespace webrtc
+{
+
+class VoENetworkImpl: public VoENetwork
+{
+public:
+ virtual int RegisterExternalTransport(int channel, Transport& transport);
+
+ virtual int DeRegisterExternalTransport(int channel);
+
+ virtual int ReceivedRTPPacket(int channel,
+ const void* data,
+ unsigned int length);
+
+ virtual int ReceivedRTCPPacket(int channel,
+ const void* data,
+ unsigned int length);
+
+ virtual int GetSourceInfo(int channel,
+ int& rtpPort,
+ int& rtcpPort,
+ char ipAddr[64]);
+
+ virtual int GetLocalIP(char ipAddr[64], bool ipv6 = false);
+
+ virtual int EnableIPv6(int channel);
+
+ virtual bool IPv6IsEnabled(int channel);
+
+ virtual int SetSourceFilter(int channel,
+ int rtpPort,
+ int rtcpPort,
+ const char ipAddr[64] = 0);
+
+ virtual int GetSourceFilter(int channel,
+ int& rtpPort,
+ int& rtcpPort,
+ char ipAddr[64]);
+
+ virtual int SetSendTOS(int channel,
+ int DSCP,
+ int priority = -1,
+ bool useSetSockopt = false);
+
+ virtual int GetSendTOS(int channel,
+ int& DSCP,
+ int& priority,
+ bool& useSetSockopt);
+
+ virtual int SetSendGQoS(int channel,
+ bool enable,
+ int serviceType,
+ int overrideDSCP);
+
+ virtual int GetSendGQoS(int channel,
+ bool& enabled,
+ int& serviceType,
+ int& overrideDSCP);
+
+ virtual int SetPacketTimeoutNotification(int channel,
+ bool enable,
+ int timeoutSeconds = 2);
+
+ virtual int GetPacketTimeoutNotification(int channel,
+ bool& enabled,
+ int& timeoutSeconds);
+
+ virtual int RegisterDeadOrAliveObserver(int channel,
+ VoEConnectionObserver& observer);
+
+ virtual int DeRegisterDeadOrAliveObserver(int channel);
+
+ virtual int SetPeriodicDeadOrAliveStatus(int channel,
+ bool enable,
+ int sampleTimeSeconds = 2);
+
+ virtual int GetPeriodicDeadOrAliveStatus(int channel,
+ bool& enabled,
+ int& sampleTimeSeconds);
+
+ virtual int SendUDPPacket(int channel,
+ const void* data,
+ unsigned int length,
+ int& transmittedBytes,
+ bool useRtcpSocket = false);
+
+protected:
+ VoENetworkImpl(voe::SharedData* shared);
+ virtual ~VoENetworkImpl();
+private:
+ voe::SharedData* _shared;
+};
+
+} // namespace webrtc
+
+#endif // WEBRTC_VOICE_ENGINE_VOE_NETWORK_IMPL_H