// Copyright 2009 Simon Edwards <simon@simonzone.com>

//                 Generated by twine2

// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU Library General Public License as
// published by the Free Software Foundation; either version 2, 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 Library General Public
// License along with this program; if not, write to the
// Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

namespace Phonon
{
class GlobalConfig
{
%TypeHeaderCode
#include <phonon/globalconfig.h>
%End

public:
                            GlobalConfig ();
    virtual ~GlobalConfig ();
    enum DevicesToHideFlag
    {
        ShowUnavailableDevices,
        ShowAdvancedDevices,
        HideAdvancedDevices,
        AdvancedDevicesFromSettings,
        HideUnavailableDevices
    };
    bool                    hideAdvancedDevices () const;
    void                    setHideAdvancedDevices (bool hide = 1);
private:
//force
    Phonon::GlobalConfig&   operator = (const Phonon::GlobalConfig&);
//end
public:
    QHash<QByteArray,QVariant>  deviceProperties (Phonon::ObjectDescriptionType deviceType, int index) const;
    QHash<QByteArray,QVariant>  audioOutputDeviceProperties (int index) const;
    QHash<QByteArray,QVariant>  videoCaptureDeviceProperties (int index) const;
    QHash<QByteArray,QVariant>  audioCaptureDeviceProperties (int index) const;
    void                    setAudioOutputDeviceListFor (Phonon::Category category, QList<int> order);
    QList<int>              audioOutputDeviceListFor (Phonon::Category category, int override = Phonon::GlobalConfig::AdvancedDevicesFromSettings) const;
    int                     audioOutputDeviceFor (Phonon::Category category, int override = Phonon::GlobalConfig::AdvancedDevicesFromSettings) const;
    void                    setVideoCaptureDeviceListFor (Phonon::CaptureCategory category, QList<int> order);
    QList<int>              videoCaptureDeviceListFor (Phonon::CaptureCategory category, int override = Phonon::GlobalConfig::AdvancedDevicesFromSettings) const;
    int                     videoCaptureDeviceFor (Phonon::CaptureCategory category, int override = Phonon::GlobalConfig::AdvancedDevicesFromSettings) const;
    void                    setVideoCaptureDeviceListFor (Phonon::Category category, QList<int> order);
    QList<int>              videoCaptureDeviceListFor (Phonon::Category category, int override = Phonon::GlobalConfig::AdvancedDevicesFromSettings) const;
    int                     videoCaptureDeviceFor (Phonon::Category category, int override = Phonon::GlobalConfig::AdvancedDevicesFromSettings) const;
    void                    setAudioCaptureDeviceListFor (Phonon::CaptureCategory category, QList<int> order);
    QList<int>              audioCaptureDeviceListFor (Phonon::CaptureCategory category, int override = Phonon::GlobalConfig::AdvancedDevicesFromSettings) const;
    int                     audioCaptureDeviceFor (Phonon::CaptureCategory category, int override = Phonon::GlobalConfig::AdvancedDevicesFromSettings) const;
    void                    setAudioCaptureDeviceListFor (Phonon::Category category, QList<int> order);
    QList<int>              audioCaptureDeviceListFor (Phonon::Category category, int override = Phonon::GlobalConfig::AdvancedDevicesFromSettings) const;
    int                     audioCaptureDeviceFor (Phonon::Category category, int override = Phonon::GlobalConfig::AdvancedDevicesFromSettings) const;
};
};
