/* * Copyright (c) 2023, kleines Filmröllchen * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace Audio { class ConnectionToManagerServer final : public IPC::ConnectionToServer , public AudioManagerClientEndpoint { IPC_CLIENT_CONNECTION(ConnectionToManagerServer, "/tmp/session/%sid/portal/audiomanager"sv) public: virtual ~ConnectionToManagerServer() override; virtual void die() override; virtual void main_mix_volume_changed(double volume) override; virtual void main_mix_muted_state_changed(bool muted) override; virtual void device_sample_rate_changed(u32 sample_rate) override; Function on_main_mix_muted_state_change; Function on_main_mix_volume_change; Function on_device_sample_rate_change; private: ConnectionToManagerServer(NonnullOwnPtr); }; }