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 namespace webrtc {
     15 class ThreadWrapper;
     16 }
     17 
     18 namespace voetest {
     19 // TODO(andrew): using directives are not permitted.
     20 using namespace webrtc;
     21 
     22 class VoETestManager;
     23 
     24 class VoEStressTest {
     25  public:
     26   VoEStressTest(VoETestManager& mgr) :
     27     _mgr(mgr), _ptrExtraApiThread(NULL) {
     28   }
     29   ~VoEStressTest() {
     30   }
     31   int DoTest();
     32 
     33  private:
     34   int MenuSelection();
     35   int StartStopTest();
     36   int CreateDeleteChannelsTest();
     37   int MultipleThreadsTest();
     38 
     39   static bool RunExtraApi(void* ptr);
     40   bool ProcessExtraApi();
     41 
     42   VoETestManager& _mgr;
     43 
     44   ThreadWrapper* _ptrExtraApiThread;
     45 };
     46 
     47 }  // namespace voetest
     48 
     49 #endif // WEBRTC_VOICE_ENGINE_VOE_STRESS_TEST_H
     50