diff options
Diffstat (limited to 'sip/kio/kservice.sip')
-rw-r--r-- | sip/kio/kservice.sip | 286 |
1 files changed, 286 insertions, 0 deletions
diff --git a/sip/kio/kservice.sip b/sip/kio/kservice.sip new file mode 100644 index 0000000..3712f91 --- /dev/null +++ b/sip/kio/kservice.sip @@ -0,0 +1,286 @@ +// +// 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., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +class KService : KSycocaEntry +{ +%TypeHeaderCode +#include <kservice.h> +%End + + +public: +//ig typedef KSharedPtr<KService> Ptr; +//ig typedef QValueList<KService::Ptr> List; + +public: + KService (const QString&, const QString&, const QString&); + KService (const QString&); + KService (KDesktopFile*); + KService (QDataStream&, int); + virtual QString type () /PyName=type_/; + virtual QString name () const; + QString exec () /PyName=exec_/; + QString library () const; + QString init () const; + QString icon () const; + QPixmap pixmap (KIcon::Group, int = 0, int = 0, QString* = 0) const; + bool terminal () const; + QString terminalOptions () const; + bool substituteUid () const; + QString username () const; + QString desktopEntryPath () const; + QString desktopEntryName () const; + +%If ( KDE_3_2_0 - ) + QString menuId () const; + QString storageId () const; +%End + + + enum DCOPServiceType_t + { + DCOP_None, + DCOP_Unique, + DCOP_Multi, + DCOP_Wait + }; + + DCOPServiceType_t DCOPServiceType () const; + QString path () const; + QString comment () const; + QString genericName () const; + +%If ( KDE_3_2_0 - ) + QString untranslatedGenericName () const; +%End + + QStringList keywords () const; + +%If ( KDE_3_1_0 - ) + QStringList categories () const; +%End + + QStringList serviceTypes () const; + bool hasServiceType (const QString&) const; + bool allowAsDefault () const; + bool allowMultipleFiles () const; + int initialPreference () const; + +%If ( KDE_3_2_0 - ) + int initialPreferenceForMimeType (const QString&) const; +%End + + void setInitialPreference (int); + bool noDisplay () const; + +%If ( KDE_3_1_0 - ) + QString parentApp () const; +%End + + virtual QVariant property (const QString&) const; + +%If ( KDE_3_2_0 - ) + QVariant property (const QString&, QVariant::Type) const; +%End + + virtual QStringList propertyNames () const; + bool isValid () const; + +%If ( KDE_3_2_0 - ) + QString locateLocal (); +%End + + virtual void load (QDataStream&); + virtual void save (QDataStream&); + +%If ( KDE_3_2_0 - ) + void setMenuId (const QString&); + void setTerminal (bool); + void setTerminalOptions (const QString&); +%End + + static KService::Ptr serviceByName (const QString&); + static KService::Ptr serviceByDesktopPath (const QString&); + static KService::Ptr serviceByDesktopName (const QString&); + +%If ( KDE_3_2_0 - ) + static KService::Ptr serviceByMenuId (const QString&); + static KService::Ptr serviceByStorageId (const QString&); +%End + + static KService::List allServices (); + static KService::List allInitServices (); + +%If ( KDE_3_2_0 - ) + static QString newServicePath (bool, const QString&, QString* = 0, const QStringList* = 0); + static void rebuildKSycoca (QWidget* /Transfer/); +%End + + +protected: + void init (KDesktopFile*); + QStringList& accessServiceTypes (); + +%If ( KDE_3_1_1 - ) + +private: + KService (const KService&); +%End + + +protected: +//igx virtual void virtual_hook (int, void*); + +}; // class KService + + + +%MappedType KService::Ptr +//converts KService +{ +%TypeHeaderCode +#include <ksharedptr.h> +#include <kservice.h> +//typedef KSharedPtr<KService> SvcPtr; +//typedef KService::Ptr SvcPtr; +%End + +%ConvertFromTypeCode + // Convert to a Python instance + + if (!sipCpp) + return NULL; + + KSharedPtr<KService> *cPtr = new KSharedPtr<KService> (*(KSharedPtr<KService> *)sipCpp); + KService *cpp = cPtr->data (); + PyObject *obj = sipConvertFromInstance (cpp, sipClass_KService, sipTransferObj); + + return obj; +%End + +%ConvertToTypeCode + // Convert a Python instance to a Ptr on the heap. + + if (sipIsErr == NULL) + return sipCanConvertToType(sipPy, sipType_KService, SIP_NO_CONVERTORS); + + int iserr = 0; + KService *cpp = (KService *)sipConvertToType(sipPy, sipType_KService, sipTransferObj, SIP_NO_CONVERTORS, NULL, &iserr); + + if (iserr) + { + *sipIsErr = 1; + return 0; + } + + *sipCppPtr = new KSharedPtr<KService> (cpp); + + return 1; +%End +}; + + +%MappedType KService::List +//converts a Python list of KService +{ +%TypeHeaderCode +#include <qvaluelist.h> +#include <kservice.h> +//typedef KSharedPtr<KService> Ptr; +//typedef QValueList<Ptr> SvcList; +//typedef KService::List SvcList; +typedef QValueList<KService::Ptr> List; +%End + +%ConvertFromTypeCode + // Convert to a Python list of Ptr (KService). +#define QUOTE "" + if (!sipCpp) + return PyList_New (0); + + PyObject *plist; + + // Create the list + if ((plist = PyList_New(0)) == NULL) + return NULL; + + // Get it. + KService::List *cList = (KService::List *)sipCpp; + PyObject *inst; + KSharedPtr<KService> *svc; + + KService::List::Iterator it; + for( it = cList->begin(); it != cList->end(); ++it ) + { + svc = &(KService::Ptr)(*it); + inst = sipConvertFromType(svc, sipType_KService_Ptr, 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); + + KService::List *cList = new KService::List; + + PyObject *elem; + KService *service; + int iserr = 0; + + for (int i = 0; i < PyList_Size (sipPy); i++) + { + elem = PyList_GET_ITEM (sipPy, i); + service = (KService *)sipForceConvertToType(elem, sipType_KService, sipTransferObj, SIP_NO_CONVERTORS, NULL, &iserr); + + if (iserr) + { + *sipIsErr = 1; + delete cList; + return 0; + } + + KService::Ptr ptr(service); + + cList->append (ptr); + } + + *sipCppPtr = cList; + + return 1; +%End +}; + + |