Home | History | Annotate | Download | only in auto_test
      1 /*
      2  *  Copyright (c) 2011 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_VOICE_ENGINE_VOE_STRESS_TEST_H
     12 #define WEBRTC_VOICE_ENGINE_VOE_STRESS_TEST_H
     13 
     14 #include "webrtc/base/platform_thread.h"
     15 #include "webrtc/base/scoped_ptr.h"
     16 
     17 namespace voetest {
     18 
     19 class VoETestManager;
     20 
     21 class VoEStressTest {
     22  public:
     23   VoEStressTest(VoETestManager& mgr) : _mgr(mgr) {
     24   }
     25   ~VoEStressTest() {
     26   }
     27   int DoTest();
     28 
     29  private:
     30   int MenuSelection();
     31   int StartStopTest();
     32   int CreateDeleteChannelsTest();
     33   int MultipleThreadsTest();
     34 
     35   static bool RunExtraApi(void* ptr);
     36   bool ProcessExtraApi();
     37 
     38   VoETestManager& _mgr;
     39 
     40   // TODO(pbos): Remove scoped_ptr and use PlatformThread directly.
     41   rtc::scoped_ptr<rtc::PlatformThread> _ptrExtraApiThread;
     42 };
     43 
     44 }  // namespace voetest
     45 
     46 #endif // WEBRTC_VOICE_ENGINE_VOE_STRESS_TEST_H
     47