• Skip to content
  • Skip to link menu
KDE 4.6 API Reference
  • KDE API Reference
  • kdelibs
  • KDE Home
  • Contact Us
 

Solid

audiointerface.h

Go to the documentation of this file.
00001 /*
00002     Copyright 2006-2007 Kevin Ottens <ervin@kde.org>
00003 
00004     This library is free software; you can redistribute it and/or
00005     modify it under the terms of the GNU Lesser General Public
00006     License as published by the Free Software Foundation; either
00007     version 2.1 of the License, or (at your option) version 3, or any
00008     later version accepted by the membership of KDE e.V. (or its
00009     successor approved by the membership of KDE e.V.), which shall
00010     act as a proxy defined in Section 6 of version 3 of the license.
00011 
00012     This library is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015     Lesser General Public License for more details.
00016 
00017     You should have received a copy of the GNU Lesser General Public
00018     License along with this library. If not, see <http://www.gnu.org/licenses/>.
00019 */
00020 
00021 #ifndef SOLID_AUDIOINTERFACE_H
00022 #define SOLID_AUDIOINTERFACE_H
00023 
00024 #include <solid/solid_export.h>
00025 
00026 #include <solid/deviceinterface.h>
00027 
00028 class QVariant;
00029 namespace Solid
00030 {
00031     class AudioInterfacePrivate;
00032     class Device;
00033 
00037     class SOLID_EXPORT AudioInterface : public DeviceInterface
00038     {
00039         Q_OBJECT
00040         Q_ENUMS(AudioDriver AudioInterfaceType SoundcardType)
00041         Q_FLAGS(AudioInterfaceTypes)
00042         Q_PROPERTY(AudioDriver driver READ driver)
00043         Q_PROPERTY(QVariant driverHandle READ driverHandle)
00044         Q_PROPERTY(QString name READ name)
00045         Q_PROPERTY(AudioInterfaceTypes deviceType READ deviceType)
00046         Q_PROPERTY(SoundcardType soundcardType READ soundcardType)
00047         Q_DECLARE_PRIVATE(AudioInterface)
00048         friend class Device;
00049 
00050     public:
00055         enum AudioDriver
00056         {
00060             Alsa,
00064             OpenSoundSystem,
00068             UnknownAudioDriver
00069         };
00070 
00075         enum AudioInterfaceType
00076         {
00080             UnknownAudioInterfaceType = 0,
00084             AudioControl = 1,
00088             AudioInput = 2,
00092             AudioOutput = 4
00093         };
00094 
00098         Q_DECLARE_FLAGS(AudioInterfaceTypes, AudioInterfaceType)
00099 
00100         
00103         enum SoundcardType {
00107             InternalSoundcard,
00111             UsbSoundcard,
00115             FirewireSoundcard,
00121             Headset,
00128             Modem
00129         };
00130 
00131 
00132     private:
00141         explicit AudioInterface(QObject *backendObject);
00142 
00143     public:
00147         virtual ~AudioInterface();
00148 
00149 
00156         static Type deviceInterfaceType() { return DeviceInterface::AudioInterface; }
00157 
00158 
00159 
00166         AudioDriver driver() const;
00167 
00186         QVariant driverHandle() const;
00187 
00188 
00189 
00199         QString name() const;
00200 
00207         AudioInterfaceTypes deviceType() const;
00208 
00215         SoundcardType soundcardType() const;
00216     };
00217 }
00218 
00219 Q_DECLARE_OPERATORS_FOR_FLAGS(Solid::AudioInterface::AudioInterfaceTypes)
00220 
00221 #endif // SOLID_AUDIOINTERFACE_H

Solid

Skip menu "Solid"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.7.3
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal