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
17namespace voetest {
18
19class VoETestManager;
20
21class 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