⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configurationmanagerimpl.hpp

📁 sip 开源代码 源于novell sip 开源代码 源于novell
💻 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 &section, 	   const QString &name,	   const QString &value);    QString get(const QString &section, 	      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 + -