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

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 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, see <http://www.gnu.org/licenses/>.

namespace Phonon
{

class MediaSource
{
%TypeHeaderCode
#include <phonon/mediasource.h>
%End


public:
    enum Type
    {
        Invalid,
        LocalFile,
        Url,
        Disc,
        Stream,
        CaptureDevice,
        Empty
    };

                            MediaSource ();
                            MediaSource (const QString& fileName);
                            MediaSource (const QUrl& url);
                            MediaSource (Phonon::AbstractMediaStream* stream);
                            MediaSource (QIODevice* ioDevice);
                            MediaSource (const Phonon::MediaSource& rhs);
    bool                    operator == (const Phonon::MediaSource& rhs) const;
    void                    setAutoDelete (bool enable);
    bool                    autoDelete () const;
    Phonon::MediaSource::Type  type () const;
    QString                 fileName () const;
    QUrl                    url () const;
    Phonon::DiscType        discType () const;
    QString                 deviceName () const;
    Phonon::AbstractMediaStream*  stream () const;

protected:
//ig                            MediaSource (MediaSourcePrivate&);
public:
    ~MediaSource ();
                            MediaSource (const Phonon::AudioCaptureDevice& device);
                            MediaSource (const Phonon::VideoCaptureDevice& device);
    const Phonon::DeviceAccessList&  deviceAccessList () const;
    Phonon::AudioCaptureDevice  audioCaptureDevice () const;
    Phonon::VideoCaptureDevice  videoCaptureDevice () const;
protected:
                            MediaSource (const Phonon::DeviceAccess& access);
public:
                            MediaSource (Phonon::DiscType discType, const QString& deviceName = QString());
                            MediaSource (Phonon::Capture::DeviceType deviceType, Phonon::CaptureCategory category = Phonon::NoCaptureCategory);
    Phonon::Mrl             mrl () const;
};
// MediaSource

};
// Phonon


