- add third_party src.
[platform/framework/web/crosswalk.git] / src / third_party / webrtc / video_engine / test / libvietest / include / tb_interfaces.h
1 /*
2  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10
11 #ifndef WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_TB_INTERFACES_H_
12 #define WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_TB_INTERFACES_H_
13
14 #include <string>
15
16 #include "webrtc/common_types.h"
17 #include "webrtc/system_wrappers/interface/constructor_magic.h"
18 #include "webrtc/video_engine/include/vie_base.h"
19 #include "webrtc/video_engine/include/vie_capture.h"
20 #include "webrtc/video_engine/include/vie_codec.h"
21 #include "webrtc/video_engine/include/vie_encryption.h"
22 #include "webrtc/video_engine/include/vie_image_process.h"
23 #include "webrtc/video_engine/include/vie_network.h"
24 #include "webrtc/video_engine/include/vie_render.h"
25 #include "webrtc/video_engine/include/vie_rtp_rtcp.h"
26 #include "webrtc/video_engine/vie_defines.h"
27
28 // This class deals with all the tedium of setting up video engine interfaces.
29 // It does its work in constructor and destructor, so keeping it in scope is
30 // enough. It also sets up tracing.
31 class TbInterfaces
32 {
33 public:
34     // Sets up all interfaces and creates a trace file
35     TbInterfaces(const std::string& test_name);
36     ~TbInterfaces(void);
37
38     webrtc::VideoEngine* video_engine;
39     webrtc::ViEBase* base;
40     webrtc::ViECapture* capture;
41     webrtc::ViERender* render;
42     webrtc::ViERTP_RTCP* rtp_rtcp;
43     webrtc::ViECodec* codec;
44     webrtc::ViENetwork* network;
45     webrtc::ViEImageProcess* image_process;
46     webrtc::ViEEncryption* encryption;
47
48     int LastError() {
49         return base->LastError();
50     }
51
52 private:
53     DISALLOW_COPY_AND_ASSIGN(TbInterfaces);
54 };
55
56 #endif  // WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_TB_INTERFACES_H_