diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 90825e2392b2d70e43c7a25b8a3752299a933894 (patch) | |
tree | e33aa27f02b74604afbfd0ea4f1cfca8833d882a /python/pykde/sip/kio/ksycocaentry.sip | |
download | tdebindings-90825e2392b2d70e43c7a25b8a3752299a933894.tar.gz tdebindings-90825e2392b2d70e43c7a25b8a3752299a933894.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebindings@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'python/pykde/sip/kio/ksycocaentry.sip')
-rw-r--r-- | python/pykde/sip/kio/ksycocaentry.sip | 213 |
1 files changed, 213 insertions, 0 deletions
diff --git a/python/pykde/sip/kio/ksycocaentry.sip b/python/pykde/sip/kio/ksycocaentry.sip new file mode 100644 index 00000000..099d1b1a --- /dev/null +++ b/python/pykde/sip/kio/ksycocaentry.sip @@ -0,0 +1,213 @@ +// +// 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 KSycocaEntry : KShared +{ +%TypeHeaderCode +#include <ksycocaentry.h> +%End + + +public: + virtual bool isType (KSycocaType) const; + virtual KSycocaType sycocaType () const; + +public: +//ig typedef KSharedPtr<KSycocaEntry> Ptr; +//ig typedef QValueList<KSycocaEntry::Ptr> List; + +public: + KSycocaEntry (const QString&); + +%If ( KDE_3_1_0 - ) + static void read (QDataStream&, QString&); + static void read (QDataStream&, QStringList&); +%End + + KSycocaEntry (QDataStream&, int); + virtual QString name () const = 0; + QString entryPath () const; + virtual bool isValid () const = 0; + virtual bool isDeleted () const; + int offset (); + virtual void save (QDataStream&); + virtual void load (QDataStream&) = 0; + +protected: + +protected: +//igx virtual void virtual_hook (int, void*); + +}; // class KSycocaEntry + + + +%MappedType KSycocaEntry::Ptr +//converts KSycocaEntry +{ +%TypeHeaderCode +#include <ksharedptr.h> +#include <ksycocaentry.h> +#include <sipkioKSycocaEntry.h> +%End + +%ConvertFromTypeCode + // Convert to a Python instance + + if (!sipCpp) + return NULL; + + KSharedPtr<KSycocaEntry> *cPtr = new KSharedPtr<KSycocaEntry> (*(KSharedPtr<KSycocaEntry> *)sipCpp); + KSycocaEntry *cpp = cPtr->data (); + PyObject *obj = sipConvertFromInstance (cpp, sipClass_KSycocaEntry, 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; + KSycocaEntry *cpp = (KSycocaEntry *)sipForceConvertTo_KSycocaEntry (sipPy, &iserr); + + if (iserr) + { + *sipIsErr = 1; + return 0; + } + + *sipCppPtr = new KSharedPtr<KSycocaEntry> (cpp); + + return 1; +%End +}; + + +%MappedType KSycocaEntry::List +//converts a Python list of KSycocaEntry +{ +%TypeHeaderCode +#include <ksharedptr.h> +#include <kservice.h> +#include <kservicegroup.h> +#include <ksycocaentry.h> +#include <sipkioKSycocaEntry.h> +#include <ksycocatype.h> +#include <sipkioKService.h> +#include <sipkioKServicePtr.h> +#include <sipkioKServiceGroup.h> +#include <sipkioKServiceGroupPtr.h> +#include <qvaluelist.h> +%End + +%ConvertFromTypeCode + // Convert to a Python list of Ptr (KService). + + if (!sipCpp) + return PyList_New (0); + + PyObject *plist; + + // Create the list + + if ((plist = PyList_New(0)) == NULL) + return NULL; + + // Get it. + + KSycocaEntry::List *cList = (KSycocaEntry::List *)sipCpp; + PyObject *inst; + KSharedPtr<KSycocaEntry> *svc; + KSharedPtr <KService> *svcType; + KSharedPtr <KServiceGroup> *svcGroupType; + + KSycocaEntry::List::Iterator it; + for( it = cList->begin(); it != cList->end(); ++it ) + { + svc = &(KSycocaEntry::Ptr)(*it); + if (svc->data ()->sycocaType () == KST_KService) + { + svcType = (KSharedPtr<KService> *)svc; + inst = sipConvertFrom_KService_Ptr (svcType, sipTransferObj); + } + else if (svc->data ()->sycocaType () == KST_KServiceGroup) + { + svcGroupType = (KSharedPtr <KServiceGroup> *) svc; + inst = sipConvertFrom_KServiceGroup_Ptr (svcGroupType, sipTransferObj); + } + else + inst = NULL; + + 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); + + KSycocaEntry::List *cList = new KSycocaEntry::List; + + PyObject *elem; + KSycocaEntry *service; + int iserr = 0; + + for (int i = 0; i < PyList_Size (sipPy); i++) + { + elem = PyList_GET_ITEM (sipPy, i); + service = (KSycocaEntry *)sipForceConvertTo_KSycocaEntry (elem, &iserr); + + KSycocaEntry::Ptr *ptr = new KSycocaEntry::Ptr (service); + + if (iserr) + { + *sipIsErr = 1; + delete cList; + return 0; + } + + cList->append (*ptr); + } + + *sipCppPtr = cList; + + return 1; +%End +}; + + |