#pragma once

#include <memory>

class AudioDevice;
using AudioDevicePtr = std::unique_ptr<AudioDevice>;

class IAudioInterface
{
public:

    IAudioInterface() = default;

    virtual ~IAudioInterface() = default;

    virtual void OpenDevice(const AudioDevicePtr& device) = 0;

    virtual void Play(const AudioDevicePtr& device) = 0;
};

using IAudioInterfaceUPtr = std::unique_ptr<IAudioInterface>;
