// // Copyright 2008 Simon Edwards // 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 . %ModuleHeaderCode #include %End namespace Phonon { enum ObjectDescriptionType { AudioOutputDeviceType, EffectType, AudioChannelType, SubtitleType, AudioCaptureDeviceType, VideoCaptureDeviceType }; template class ObjectDescription { %TypeHeaderCode #include %End public: static Phonon::ObjectDescription fromIndex (int index); bool operator == (const ObjectDescription& otherDescription) const; bool operator != (const ObjectDescription& otherDescription) const; QString name () const; QString description () const; QVariant property (const char* name) const; QList propertyNames () const; bool isValid () const; int index () const; ObjectDescription (); ObjectDescription (int index, const QHash& properties); }; // ObjectDescription typedef Phonon::ObjectDescription AudioOutputDevice; typedef Phonon::ObjectDescription AudioCaptureDevice; typedef Phonon::ObjectDescription VideoCaptureDevice; typedef Phonon::ObjectDescription EffectDescription; typedef Phonon::ObjectDescription AudioChannelDescription; typedef Phonon::ObjectDescription SubtitleDescription; typedef QPair DeviceAccess; typedef QList> DeviceAccessList; // typedef QList DeviceAccessList; class ObjectDescriptionData { %TypeHeaderCode #include %End public: bool operator == (const Phonon::ObjectDescriptionData& otherDescription) const; QString name () const; QString description () const; QVariant property (const char* name) const; QList propertyNames () const; bool isValid () const; int index () const; static Phonon::ObjectDescriptionData* fromIndex (Phonon::ObjectDescriptionType type, int index); ~ObjectDescriptionData (); //ig ObjectDescriptionData (ObjectDescriptionPrivate* = 0); ObjectDescriptionData (int index, const QHash& properties); }; void registerMetaTypes (); }; // Phonon /* %MappedType QList { %TypeHeaderCode #include %End %ConvertFromTypeCode // Create the list. PyObject *l; if ((l = PyList_New(sipCpp->size())) == NULL) return NULL; // Set the list elements. for (int i = 0; i < sipCpp->size(); ++i) { DNSSD::RemoteService::Ptr *t = new Phonon::ObjectDescription (sipCpp->at(i)); PyObject *tobj; if ((tobj = sipConvertFromNewInstance(t->data(), sipClass_DNSSD_RemoteService, sipTransferObj)) == NULL) { Py_DECREF(l); delete t; return NULL; } PyList_SET_ITEM(l, i, tobj); } return l; %End %ConvertToTypeCode // Check the type if that is all that is required. if (sipIsErr == NULL) { if (!PyList_Check(sipPy)) return 0; for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_DNSSD_RemoteService, SIP_NOT_NONE)) return 0; return 1; } QList *ql = new QList; for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) { int state; DNSSD::RemoteService *t = reinterpret_cast(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_DNSSD_RemoteService, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); if (*sipIsErr) { sipReleaseInstance(t, sipClass_DNSSD_RemoteService, state); delete ql; return 0; } DNSSD::RemoteService::Ptr *tptr = new DNSSD::RemoteService::Ptr (t); ql->append(*tptr); sipReleaseInstance(t, sipClass_DNSSD_RemoteService, state); } *sipCppPtr = ql; return sipGetState(sipTransferObj); %End }; */