/*
 *  Copyright (c) 2013 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 MODULES_AUDIO_DEVICE_INCLUDE_FAKE_AUDIO_DEVICE_H_
#define MODULES_AUDIO_DEVICE_INCLUDE_FAKE_AUDIO_DEVICE_H_

#include "modules/audio_device/include/audio_device.h"
#include "modules/audio_device/include/audio_device_default.h"

namespace webrtc {

class FakeAudioDeviceModule
    : public webrtc_impl::AudioDeviceModuleDefault<AudioDeviceModule> {
 public:
  // TODO(nisse): Fix all users of this class to managed references using
  // scoped_refptr. Current code doesn't always use refcounting for this class.
  void AddRef() const override {}
  rtc::RefCountReleaseStatus Release() const override {
    return rtc::RefCountReleaseStatus::kDroppedLastRef;
  }
};

}  // namespace webrtc

#endif  // MODULES_AUDIO_DEVICE_INCLUDE_FAKE_AUDIO_DEVICE_H_
