// // Copyright 2007 Jim Bublitz // Generated by preSip // 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 //ctscc #include %End class KServiceGroup : KSycocaEntry { %TypeHeaderCode #include %End public: typedef KSharedPtr Ptr; //ig typedef KSharedPtr SPtr; //ig typedef QList List; public: KServiceGroup (const QString&); KServiceGroup (const QString&, const QString&); KServiceGroup (QDataStream&, int, bool); bool isValid () const; virtual QString name () const; virtual QString relPath () const; QString caption () const; QString icon () const; QString comment () const; int childCount (); bool noDisplay () const; bool showEmptyMenu () const; void setShowEmptyMenu (bool); bool showInlineHeader () const; void setShowInlineHeader (bool); bool inlineAlias () const; void setInlineAlias (bool); bool allowInline () const; void setAllowInline (bool); int inlineValue () const; void setInlineValue (int); QStringList suppressGenericNames () const; void setLayoutInfo (const QStringList&); QStringList layoutInfo () const; virtual void load (QDataStream&); virtual void save (QDataStream&); KServiceGroup::List entries (bool, bool, bool, bool = 0); virtual KSycocaEntry::List entries (bool, bool); virtual KServiceGroup::List entries (bool = 0); QString baseGroupName () const; QString directoryEntryPath () const; static KServiceGroup::Ptr baseGroup (const QString&); static KServiceGroup::Ptr root (); static KServiceGroup::Ptr group (const QString&); static KServiceGroup::Ptr childGroup (const QString& /Transfer/); void parseAttribute (const QString&, bool& /Out/, bool& /Out/, bool& /Out/, bool& /Out/, int& /Out/); protected: //ig void addEntry (const KSycocaEntry::Ptr&); protected: //igx virtual void virtual_hook (int, void*); public: //force typedef KSycocaEntry::Ptr SPtr; //end protected: //force void addEntry (const KServiceGroup::SPtr&); // Subclasses for KSycocaEntry public: %ConvertToSubClassCode if (dynamic_cast(sipCpp)) sipClass = sipClass_KServiceGroup; else if (dynamic_cast(sipCpp)) sipClass = sipClass_KServiceSeparator; else sipClass = NULL; %End //end }; // class KServiceGroup class KServiceSeparator : KSycocaEntry { %TypeHeaderCode #include %End public: //ig typedef KSharedPtr Ptr; public: KServiceSeparator (); bool isValid () const; virtual QString name () const; virtual void load (QDataStream&); virtual void save (QDataStream&); }; // class KServiceSeparator %MappedType KServiceGroup::List { %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) { KServiceGroup::SPtr *t = new KServiceGroup::SPtr (sipCpp->at(i)); PyObject *tobj; if ((tobj = sipConvertFromNewInstance(t->data(), sipClass_KServiceGroup, 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_KServiceGroup, SIP_NOT_NONE)) return 0; return 1; } QList *ql = new QList; for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) { int state; KServiceGroup *t = reinterpret_cast(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_KServiceGroup, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); if (*sipIsErr) { sipReleaseInstance(t, sipClass_KServiceGroup, state); delete ql; return 0; } KServiceGroup::SPtr *tptr = new KServiceGroup::SPtr (t); ql->append(*tptr); sipReleaseInstance(t, sipClass_KServiceGroup, state); } *sipCppPtr = ql; return sipGetState(sipTransferObj); %End };