diff options
author | Xavi Garcia Mena <xavi.garcia.mena@canonical.com> | 2015-11-03 17:47:08 +0000 |
---|---|---|
committer | CI Train Bot <ci-train-bot@canonical.com> | 2015-11-03 17:47:08 +0000 |
commit | a9adeaeb032dd78b1ad69081764132bc62cfd352 (patch) | |
tree | 4f145c3713f350b392820d782179b8d4c72af316 /tests/integration/utils/dbus-pulse-volume.h | |
parent | 6ee23e401d3847e609f1ef50e1736f69e6253608 (diff) | |
parent | a8d027ef37f2432867c99a8d1f0331014c53eeaf (diff) | |
download | ayatana-indicator-sound-a9adeaeb032dd78b1ad69081764132bc62cfd352.tar.gz ayatana-indicator-sound-a9adeaeb032dd78b1ad69081764132bc62cfd352.tar.bz2 ayatana-indicator-sound-a9adeaeb032dd78b1ad69081764132bc62cfd352.zip |
This branch removes the warning message in the volume notification.
Approved by: PS Jenkins bot, Charles Kerr
Diffstat (limited to 'tests/integration/utils/dbus-pulse-volume.h')
-rw-r--r-- | tests/integration/utils/dbus-pulse-volume.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/integration/utils/dbus-pulse-volume.h b/tests/integration/utils/dbus-pulse-volume.h new file mode 100644 index 0000000..2d55e89 --- /dev/null +++ b/tests/integration/utils/dbus-pulse-volume.h @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2015 Canonical, Ltd. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 3, as published + * by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranties of + * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + * + * Author: Xavi Garcia <xavi.garcia.mena@canonical.com> + */ +#pragma once + +#include <QObject> +#include <QDBusConnection> + +#include <map> +#include <memory> + +class StreamRestoreInterface; +class DBusPropertiesInterface; +class AccountsInterface; +class AccountsSoundInterface; +class QSignalSpy; + +struct RoleInformation +{ + std::unique_ptr<DBusPropertiesInterface> interface_; + QString path_; +}; + +class DBusPulseVolume : public QObject +{ +public: + DBusPulseVolume(); + ~DBusPulseVolume(); + + bool setVolume(QString const & role, double volume); + double getVolume(QString const & role); + bool waitForVolumeChangedInAccountsService(); + +protected: + QString fillRolePath(QString const &role); + void initializeAccountsInterface(); + std::unique_ptr<QDBusConnection> connection_; + std::unique_ptr<StreamRestoreInterface> interface_paths_; + typedef std::map<QString, std::shared_ptr<RoleInformation>> RolesMap; + RolesMap roles_map_; + std::unique_ptr<DBusPropertiesInterface> accounts_interface_; + std::unique_ptr<QSignalSpy> signal_spy_volume_changed_; +}; |