// // Copyright 2006 Jim Bublitz // 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 %End public: //ig typedef KSharedPtr Ptr; //ig typedef QValueList 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 #include //typedef KSharedPtr SvcPtr; //typedef KService::Ptr SvcPtr; %End %ConvertFromTypeCode // Convert to a Python instance if (!sipCpp) return NULL; KSharedPtr *cPtr = new KSharedPtr (*(KSharedPtr *)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 (cpp); return 1; %End }; %MappedType KService::List //converts a Python list of KService { %TypeHeaderCode #include #include //typedef KSharedPtr Ptr; //typedef QValueList SvcList; //typedef KService::List SvcList; typedef QValueList 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 *svc; KService::List::Iterator it; for( it = cList->begin(); it != cList->end(); ++it ) { KSharedPtr svcptr = static_cast(*it); svc = &svcptr; 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 };