15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/*
25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) *
45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) *  Use of this source code is governed by a BSD-style license
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) *  that can be found in the LICENSE file in the root of the source
65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) *  tree. An additional intellectual property rights grant can be found
75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) *  in the file PATENTS.  All contributing project authors may
85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) *  be found in the AUTHORS file in the root of the source tree.
95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) */
105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#ifndef WEBRTC_VOICE_ENGINE_INCLUDE_MOCK_MOCK_VOE_VOLUME_CONTROL_H_
125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define WEBRTC_VOICE_ENGINE_INCLUDE_MOCK_MOCK_VOE_VOLUME_CONTROL_H_
135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "testing/gmock/include/gmock/gmock.h"
155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "webrtc/voice_engine/include/voe_volume_control.h"
165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)namespace webrtc {
185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class VoiceEngine;
205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)class MockVoEVolumeControl : public VoEVolumeControl {
225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) public:
235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  MOCK_METHOD0(Release, int());
245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  MOCK_METHOD1(SetSpeakerVolume, int(unsigned int volume));
255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  MOCK_METHOD1(GetSpeakerVolume, int(unsigned int& volume));
265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  MOCK_METHOD1(SetSystemOutputMute, int(bool enable));
275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  MOCK_METHOD1(GetSystemOutputMute, int(bool &enabled));
285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  MOCK_METHOD1(SetMicVolume, int(unsigned int volume));
295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  MOCK_METHOD1(GetMicVolume, int(unsigned int& volume));
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  MOCK_METHOD2(SetInputMute, int(int channel, bool enable));
315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  MOCK_METHOD2(GetInputMute, int(int channel, bool& enabled));
325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  MOCK_METHOD1(SetSystemInputMute, int(bool enable));
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  MOCK_METHOD1(GetSystemInputMute, int(bool& enabled));
341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  MOCK_METHOD1(GetSpeechInputLevel, int(unsigned int& level));
351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  MOCK_METHOD2(GetSpeechOutputLevel, int(int channel, unsigned int& level));
365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  MOCK_METHOD1(GetSpeechInputLevelFullRange, int(unsigned int& level));
375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  MOCK_METHOD2(GetSpeechOutputLevelFullRange,
385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)               int(int channel, unsigned int& level));
395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  MOCK_METHOD2(SetChannelOutputVolumeScaling, int(int channel, float scaling));
405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  MOCK_METHOD2(GetChannelOutputVolumeScaling, int(int channel, float& scaling));
415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  MOCK_METHOD3(SetOutputVolumePan, int(int channel, float left, float right));
425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  MOCK_METHOD3(GetOutputVolumePan, int(int channel, float& left, float& right));
435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)};
445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}  // namespace webrtc
465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif  // WEBRTC_VOICE_ENGINE_INCLUDE_MOCK_MOCK_VOE_VOLUME_CONTROL_H_
485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)