text: /*
   *  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_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_TB_INTERFACES_H_
  #define WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_TB_INTERFACES_H_
  
  #include <string>
  
  #include "webrtc/common_types.h"
  #include "webrtc/system_wrappers/interface/constructor_magic.h"
  #include "webrtc/video_engine/include/vie_base.h"
  #include "webrtc/video_engine/include/vie_capture.h"
  #include "webrtc/video_engine/include/vie_codec.h"
  #include "webrtc/video_engine/include/vie_image_process.h"
  #include "webrtc/video_engine/include/vie_network.h"
  #include "webrtc/video_engine/include/vie_render.h"
  #include "webrtc/video_engine/include/vie_rtp_rtcp.h"
  #include "webrtc/video_engine/vie_defines.h"
  
  // This class deals with all the tedium of setting up video engine interfaces.
  // It does its work in constructor and destructor, so keeping it in scope is
  // enough. It also sets up tracing.
  class TbInterfaces
  {
  public:
      // Sets up all interfaces and creates a trace file
      TbInterfaces(const std::string& test_name);
      ~TbInterfaces(void);
  
      webrtc::VideoEngine* video_engine;
      webrtc::ViEBase* base;
      webrtc::ViECapture* capture;
      webrtc::ViERender* render;
      webrtc::ViERTP_RTCP* rtp_rtcp;
      webrtc::ViECodec* codec;
      webrtc::ViENetwork* network;
      webrtc::ViEImageProcess* image_process;
  
      int LastError() {
          return base->LastError();
      }
  
  private:
      DISALLOW_COPY_AND_ASSIGN(TbInterfaces);
  };
  
  #endif  // WEBRTC_VIDEO_ENGINE_MAIN_TEST_AUTOTEST_INTERFACE_TB_INTERFACES_H_
  