Solid
audiointerface.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef SOLID_AUDIOINTERFACE_H
00021 #define SOLID_AUDIOINTERFACE_H
00022
00023 #include <solid/solid_export.h>
00024
00025 #include <solid/deviceinterface.h>
00026
00027 class QVariant;
00028 namespace Solid
00029 {
00030 class AudioInterfacePrivate;
00031 class Device;
00032
00036 class SOLID_EXPORT AudioInterface : public DeviceInterface
00037 {
00038 Q_OBJECT
00039 Q_ENUMS(AudioDriver AudioInterfaceType SoundcardType)
00040 Q_FLAGS(AudioInterfaceTypes)
00041 Q_PROPERTY(AudioDriver driver READ driver)
00042 Q_PROPERTY(QVariant driverHandle READ driverHandle)
00043 Q_PROPERTY(QString name READ name)
00044 Q_PROPERTY(AudioInterfaceTypes deviceType READ deviceType)
00045 Q_PROPERTY(SoundcardType soundcardType READ soundcardType)
00046 Q_DECLARE_PRIVATE(AudioInterface)
00047 friend class Device;
00048
00049 public:
00054 enum AudioDriver
00055 {
00059 Alsa,
00063 OpenSoundSystem,
00067 UnknownAudioDriver
00068 };
00069
00074 enum AudioInterfaceType
00075 {
00079 UnknownAudioInterfaceType = 0,
00083 AudioControl = 1,
00087 AudioInput = 2,
00091 AudioOutput = 4
00092 };
00093
00097 Q_DECLARE_FLAGS(AudioInterfaceTypes, AudioInterfaceType)
00098
00099
00102 enum SoundcardType {
00106 InternalSoundcard,
00110 UsbSoundcard,
00114 FirewireSoundcard,
00120 Headset,
00127 Modem
00128 };
00129
00130
00131 private:
00140 explicit AudioInterface(QObject *backendObject);
00141
00142 public:
00146 virtual ~AudioInterface();
00147
00148
00155 static Type deviceInterfaceType() { return DeviceInterface::AudioInterface; }
00156
00157
00158
00165 AudioDriver driver() const;
00166
00185 QVariant driverHandle() const;
00186
00187
00188
00198 QString name() const;
00199
00206 AudioInterfaceTypes deviceType() const;
00207
00214 SoundcardType soundcardType() const;
00215 };
00216 }
00217
00218 Q_DECLARE_OPERATORS_FOR_FLAGS(Solid::AudioInterface::AudioInterfaceTypes)
00219
00220 #endif // SOLID_AUDIOINTERFACE_H