/* * 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_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_VIE_AUTOTEST_WINDOWS_H_ #define WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_VIE_AUTOTEST_WINDOWS_H_ #include "vie_autotest_window_manager_interface.h" #include "engine_configurations.h" #include #define TITLE_LENGTH 1024 // Forward declaration namespace webrtc { class ThreadWrapper; class CriticalSectionWrapper; } class ViEAutoTestWindowManager: public ViEAutoTestWindowManagerInterface { public: ViEAutoTestWindowManager(); ~ViEAutoTestWindowManager(); virtual void* GetWindow1(); virtual void* GetWindow2(); virtual int CreateWindows(AutoTestRect window1Size, AutoTestRect window2Size, void* window1Title, void* window2Title); virtual int TerminateWindows(); virtual bool SetTopmostWindow(); protected: static bool EventProcess(void* obj); bool EventLoop(); private: int ViECreateWindow(HWND &hwndMain, int xPos, int yPos, int width, int height, TCHAR* className); int ViEDestroyWindow(HWND& hwnd); void* _window1; void* _window2; bool _terminate; webrtc::ThreadWrapper& _eventThread; webrtc::CriticalSectionWrapper& _crit; HWND _hwndMain; HWND _hwnd1; HWND _hwnd2; AutoTestRect _hwnd1Size; AutoTestRect _hwnd2Size; TCHAR _hwnd1Title[TITLE_LENGTH]; TCHAR _hwnd2Title[TITLE_LENGTH]; }; #endif // WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_VIE_AUTOTEST_WINDOWS_H_