📄 configurationmanagerimpl.hpp
字号:
/* * Copyright (C) 2004-2006 Savoir-Faire Linux inc. * Author: Yan Morin <yan.morin@savoirfairelinux.com> * Author: Jean-Philippe Barrette-LaPierre <jean-philippe.barrette-lapierre@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY 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, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#ifndef __CONFIGURATION_MANAGER_IMPL_HPP__#define __CONFIGURATION_MANAGER_IMPL_HPP__#include <list>#include <map>#include <qobject.h>#include <vector>struct AudioDevice{public: QString index; QString hostApiName; QString deviceName; QString defaultRate;};struct Ringtone{public: QString index; QString filename;};struct Codec{public: QString index; QString codecName;};/** * This is the representation of a configuration * entry. */struct ConfigEntry{public: ConfigEntry(){} ConfigEntry(QString s, QString n, QString t, QString d, QString v) { section = s; name = n; type = t; def = d; value = v; } QString section; QString name; QString type; QString def; QString value;};class Session;class ConfigurationManagerImpl : public QObject{ Q_OBJECTsignals: void audioDevicesUpdated(); void audioDevicesInUpdated(); void audioDevicesOutUpdated(); void ringtonesUpdated(); void codecsUpdated(); void updated(); void saved();public: ConfigurationManagerImpl(); ~ConfigurationManagerImpl(); /** * will set the session to use. */ void setSession(Session* session); /** * This function will set the current speaker volume * to the given percentage. If it's greater than 100 * it will be set to 100. */ void setCurrentSpeakerVolume(unsigned int percentage); /** * This function will set the current microphone volume * to the given percentage. If it's greater than 100 * it will be set to 100. */ void setCurrentMicrophoneVolume(unsigned int percentage); void set(const QString §ion, const QString &name, const QString &value); QString get(const QString §ion, const QString &name); void clearAudioDevices() {mAudioDevices.clear();} void clearAudioDevicesIn() {mAudioDevices.clear();} void clearAudioDevicesOut() {mAudioDevices.clear();} std::list< AudioDevice > getAudioDevices() {return mAudioDevices;} std::list< AudioDevice > getAudioDevicesIn() {return mAudioDevicesIn;} std::list< AudioDevice > getAudioDevicesOut() {return mAudioDevicesOut;} /** Get Audio Device In pointer, or null if not found */ const QString getAudioDevicesInRate(int index); /** Get Audio Device Out pointer, or null if not found */ const QString getAudioDevicesOutRate(int index); std::list< Ringtone > getRingtones() {return mRingtones;} std::list< Codec > getCodecs() {return mCodecs;} QStringList getSkins(); //QString getCurrentSkin(){return QString("metal");} void complete() {emit updated();} void save(); void save(const QString& section, const QString& name); void finishSave(); /** * Reload sound driver from audiodevice in/audiodevice out */ void reloadSoundDriver(); public slots: void add(const ConfigEntry &entry); void addAudioDevice(QString index, QString hostApiName, QString deviceName, QString defaultRate); void add(const AudioDevice &entry); void addAudioDeviceIn(QString index, QString hostApiName, QString deviceName, QString defaultRate); void setRateMode(const QString& rateMode) { mRateMode = rateMode; } const QString& getRateMode() { return mRateMode; } void addIn(const AudioDevice &entry); void addAudioDeviceOut(QString index, QString hostApiName, QString deviceName, QString defaultRate); void addOut(const AudioDevice &entry); void addRingtone(QString index, QString filename); void add(const Ringtone &entry); void addCodec(QString index, QString codecName); void add(const Codec &entry);private: typedef std::map< QString, ConfigEntry > VariableMap; typedef std::map< QString, VariableMap > SectionMap; SectionMap mEntries; std::list< AudioDevice > mAudioDevices; std::list< AudioDevice > mAudioDevicesIn; std::list< AudioDevice > mAudioDevicesOut; std::list< Ringtone > mRingtones; std::list< Codec > mCodecs; Session *mSession; QString mRateMode; // VARIANT or number};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -