Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(410)

Unified Diff: webrtc/test/channel_transport/traffic_control_win.h

Issue 2336123002: Revert of Moved webrtc/test/channel_transport/ into webrtc/voice_engine/test/ (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/test/channel_transport/traffic_control_win.h
diff --git a/webrtc/test/channel_transport/traffic_control_win.h b/webrtc/test/channel_transport/traffic_control_win.h
new file mode 100644
index 0000000000000000000000000000000000000000..1197b94b206be04a7fc106e34db3ef64a2d283a0
--- /dev/null
+++ b/webrtc/test/channel_transport/traffic_control_win.h
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2011 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_TEST_CHANNEL_TRANSPORT_TRAFFIC_CONTROL_WINDOWS_H_
+#define WEBRTC_TEST_CHANNEL_TRANSPORT_TRAFFIC_CONTROL_WINDOWS_H_
+
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+
+// Disable deprication warning from traffic.h
+#pragma warning(disable : 4995)
+
+#include <windows.h>
+#include <qos.h>
+#include <ntddndis.h>
+#include <traffic.h>
+
+#include "webrtc/system_wrappers/include/trace.h"
+
+namespace webrtc {
+namespace test {
+void MyClNotifyHandler(HANDLE ClRegCtx, HANDLE ClIfcCtx, ULONG Event,
+ HANDLE SubCode, ULONG BufSize, PVOID Buffer);
+
+
+typedef ULONG (WINAPI *registerFn)(ULONG, HANDLE, PTCI_CLIENT_FUNC_LIST,
+ PHANDLE);
+typedef ULONG (WINAPI *deregisterFn)(HANDLE);
+typedef ULONG (WINAPI *enumerateFn)(HANDLE, PULONG, PTC_IFC_DESCRIPTOR);
+typedef ULONG (WINAPI *openInterfaceFn)(LPWSTR, HANDLE, HANDLE, PHANDLE);
+typedef ULONG (WINAPI *closeInterfaceFn)(HANDLE);
+typedef ULONG (WINAPI *flowAddFn)(HANDLE, HANDLE, ULONG, PTC_GEN_FLOW, PHANDLE);
+typedef ULONG (WINAPI *filterAddFn)(HANDLE, PTC_GEN_FILTER, PHANDLE);
+typedef ULONG (WINAPI *flowDeleteFn)(HANDLE);
+typedef ULONG (WINAPI *filterDeleteFn)(HANDLE);
+
+class TrafficControlWindows
+{
+ public:
+ // Factory method. Constructor disabled.
+ static TrafficControlWindows* GetInstance(const int32_t id);
+ static void Release(TrafficControlWindows* gtc);
+
+ ULONG TcRegisterClient(ULONG TciVersion, HANDLE ClRegCtx,
+ PTCI_CLIENT_FUNC_LIST ClientHandlerList,
+ PHANDLE pClientHandle);
+
+ ULONG TcDeregisterClient(HANDLE clientHandle);
+
+ ULONG TcEnumerateInterfaces(HANDLE ClientHandle, PULONG pBufferSize,
+ PTC_IFC_DESCRIPTOR interfaceBuffer);
+
+ ULONG TcOpenInterfaceW(LPWSTR pInterfaceName, HANDLE ClientHandle,
+ HANDLE ClIfcCtx, PHANDLE pIfcHandle);
+
+ ULONG TcCloseInterface(HANDLE IfcHandle);
+
+ ULONG TcAddFlow(HANDLE IfcHandle, HANDLE ClFlowCtx, ULONG Flags,
+ PTC_GEN_FLOW pGenericFlow, PHANDLE pFlowHandle);
+
+ ULONG TcAddFilter(HANDLE FlowHandle, PTC_GEN_FILTER pGenericFilter,
+ PHANDLE pFilterHandle);
+
+ ULONG TcDeleteFlow(HANDLE FlowHandle);
+ ULONG TcDeleteFilter(HANDLE FilterHandle);
+private:
+ TrafficControlWindows(const int32_t id);
+ TCI_CLIENT_FUNC_LIST QoSFunctions;
+
+ static TrafficControlWindows* instance;
+
+ registerFn tcRegister;
+ deregisterFn tcDeregister;
+
+ enumerateFn tcEnumerate;
+ openInterfaceFn tcOpenInterface;
+ closeInterfaceFn tcCloseInterface;
+
+ flowAddFn tcAddFlow;
+ flowDeleteFn tcDeleteFlow;
+
+ filterAddFn tcAddFilter;
+ filterDeleteFn tcDeleteFilter;
+
+ static uint32_t refCounter;
+};
+
+} // namespace test
+} // namespace webrtc
+
+#endif // WEBRTC_TEST_CHANNEL_TRANSPORT_TRAFFIC_CONTROL_WINDOWS_H_
« no previous file with comments | « webrtc/test/channel_transport/channel_transport.cc ('k') | webrtc/test/channel_transport/traffic_control_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698