syntax = "proto3";

import "cmvr/api/speaker_command.proto";

package cmvr.api;

service SpeakerService {
    rpc GetStatus(GetSpeakerStateCommand.Request) returns (GetSpeakerStateCommand.Feedback);
    rpc PlayAudio(PlayAudioCommand.Request) returns (PlayAudioCommand.Feedback);
    rpc StreamAudio(stream StreamSpeakerAudioCommand.Request) returns (StreamSpeakerAudioCommand.Feedback);
    rpc StopPlayback(StopSpeakerCommand.Request) returns (StopSpeakerCommand.Feedback);
    rpc PausePlayback(PauseSpeakerCommand.Request) returns (PauseSpeakerCommand.Feedback);
    rpc ResumePlayback(ResumeSpeakerCommand.Request) returns (ResumeSpeakerCommand.Feedback);

    rpc SetVolume(SetSpeakerVolumeCommand.Request) returns (SetSpeakerVolumeCommand.Feedback);
    rpc GetVolume(GetSpeakerVolumeCommand.Request) returns (GetSpeakerVolumeCommand.Feedback);
}
