diff options
Diffstat (limited to 'python/pykde/sip/kio/kservicetype.sip')
-rw-r--r-- | python/pykde/sip/kio/kservicetype.sip | 292 |
1 files changed, 292 insertions, 0 deletions
diff --git a/python/pykde/sip/kio/kservicetype.sip b/python/pykde/sip/kio/kservicetype.sip new file mode 100644 index 00000000..305994bd --- /dev/null +++ b/python/pykde/sip/kio/kservicetype.sip @@ -0,0 +1,292 @@ +// +// Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com> +// Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson +// may also apply + + +// Generated by preSip +// module kio version KDE 3.5.3 + + +// This software is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License as +// published by the Free Software Foundation; either version 2 of +// the License, or (at your option) any later version. +// +// This software 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 library; see the file COPYING. +// If not, write to the Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +class KServiceType : KSycocaEntry +{ +%TypeHeaderCode +#include <kservicetype.h> +%End + + +public: + typedef KSharedPtr<KServiceType> Ptr; + typedef QValueList<KServiceType::Ptr> List; + +public: + KServiceType (const QString&, const QString&, const QString&, const QString&); + KServiceType (const QString&); + KServiceType (KDesktopFile*); + KServiceType (QDataStream&, int); + QString icon () const; + QString comment () const; + QString name () const; + QString desktopEntryPath () const; + bool isDerived () const; + QString parentServiceType () const; + +%If ( KDE_3_1_0 - ) + bool inherits (const QString&) const; +%End + + virtual QVariant property (const QString&) const; + virtual QStringList propertyNames () const; + bool isValid () const; + virtual QVariant::Type propertyDef (const QString&) const; + virtual QStringList propertyDefNames () const; + virtual const QMap<QString,QVariant::Type>& propertyDefs () const; + virtual void save (QDataStream&); + virtual void load (QDataStream&); + +%If ( KDE_3_2_0 - ) + KServiceType::Ptr parentType (); + void addService (KService::Ptr); + KService::List services (); +%End + + static KServiceType::Ptr serviceType (const QString&); + static KService::List offers (const QString&); + static KServiceType::List allServiceTypes (); + +protected: + void init (KDesktopFile*); + +protected: + +protected: +//igx virtual void virtual_hook (int, void*); + +}; // class KServiceType + + + +%MappedType KServiceType::Ptr +//converts KServiceType +{ +%TypeHeaderCode +#include <ksharedptr.h> +#include <kservicetype.h> +#include <sipkioKServiceType.h> +%End + +%ConvertFromTypeCode + // Convert to a Python instance + + if (!sipCpp) + return NULL; + + KServiceType::Ptr *cPtr = new KServiceType::Ptr (*(KServiceType::Ptr *)sipCpp); + KServiceType *cpp = cPtr->data (); + PyObject *obj = sipConvertFromInstance (cpp, sipClass_KServiceType, sipTransferObj); + + return obj; +%End + +%ConvertToTypeCode + // Convert a Python instance to a Ptr on the heap. + + if (sipIsErr == NULL) + return PyInstance_Check(sipPy); + + int iserr = 0; + KServiceType *cpp = (KServiceType *)sipForceConvertTo_KServiceType (sipPy, &iserr); + + if (iserr) + { + *sipIsErr = 1; + return 0; + } + + *sipCppPtr = new KServiceType::Ptr (cpp); + + return 1; +%End +}; + + +%MappedType QMap<QString,QVariant::Type> +//converts a Python dict of QString:QVariant +{ +%TypeHeaderCode +#include <qmap.h> +#include <qvariant.h> +#include <sipqtQString.h> +%End + +%ConvertFromTypeCode + // Convert to a Python dict + + if (!sipCpp) + return PyDict_New(); + + PyObject *dict; + + // Create the dictionary. + + if ((dict = PyDict_New()) == NULL) + return NULL; + + // Get it. + + const QMap<QString,QVariant::Type> cppmap = *sipCpp; + QMap<QString,QVariant::Type>::ConstIterator it; + + for (it = cppmap.begin (); it != cppmap.end (); ++it) + { + QString acpp = it.key (); + int bcpp = (int) it.data (); + PyObject *ainst; + PyObject *binst = PyInt_FromLong (bcpp); + if (((ainst = sipBuildResult (NULL, "N", new QString (acpp), sipClass_QString)) == NULL) + || (PyDict_SetItem (dict, ainst, binst) < 0)) + { + Py_XDECREF (ainst); + Py_XDECREF (binst); + Py_DECREF (dict); + return NULL; + } + } + + return dict; +%End + + +%ConvertToTypeCode + // Convert a Python dictionary to a QMap on the heap. + + if (sipIsErr == NULL) + return PyDict_Check(sipPy); + + + QMap<QString,QVariant::Type> *cppmap = new QMap<QString,QVariant::Type>; + + PyObject *aelem, *belem; + int pos = 0; + QString *acpp; + QVariant::Type bcpp; + + while (PyDict_Next(sipPy, &pos, &aelem, &belem)) + { + int iserr = 0; + + if (!PyInt_Check (belem) || iserr) + { + *sipIsErr = 1; + delete cppmap; + return 0; + } + + acpp = (QString *)sipForceConvertTo_QString (aelem, &iserr); + bcpp = (QVariant::Type) PyInt_AS_LONG(belem); + + cppmap->insert (*acpp, bcpp); + } + + *sipCppPtr = cppmap; + + return 1; +%End +}; + + +%MappedType QValueList<KServiceType::Ptr> +//converts a Python list of KServiceType +{ +%TypeHeaderCode +#include <kservicetype.h> +#include <sipkioKServiceType.h> +#include <sipkioKServiceTypePtr.h> +%End + +%ConvertFromTypeCode + // Convert to a Python list of Ptr (KServiceType). + + if (!sipCpp) + return PyList_New (0); + + PyObject *plist; + + // Create the list + if ((plist = PyList_New(0)) == NULL) + return NULL; + + // Get it. + QValueList<KServiceType::Ptr> *cList = (QValueList<KServiceType::Ptr> *)sipCpp; + PyObject *inst; + KSharedPtr <KServiceType> *svc; + + QValueList<KServiceType::Ptr>::Iterator it; + for( it = cList->begin(); it != cList->end(); ++it ) + { + svc = &(KServiceType::Ptr)(*it); + inst = sipConvertFrom_KServiceType_Ptr (svc, sipTransferObj); + + if ((inst == NULL) || (PyList_Append (plist, inst) < 0)) + { + Py_XDECREF (inst); + Py_DECREF (plist); + return NULL; + } + } + + return plist; +%End + +%ConvertToTypeCode + // Convert a Python list to List on the heap. + + if (sipIsErr == NULL) + return PyList_Check(sipPy); + + QValueList<KServiceType::Ptr> *cList = new QValueList<KServiceType::Ptr>; + + PyObject *elem; + KServiceType *service; + int iserr = 0; + + for (int i = 0; i < PyList_Size (sipPy); i++) + { + elem = PyList_GET_ITEM (sipPy, i); + service = (KServiceType *)sipForceConvertTo_KServiceType (elem, &iserr); + + KServiceType::Ptr *ptr = new KServiceType::Ptr (service); + + if (iserr) + { + *sipIsErr = 1; + delete cList; + return 0; + } + + cList->append (*ptr); + } + + *sipCppPtr = cList; + + return 1; +%End +}; + + |