// // Copyright 2006 Jim Bublitz // Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson // may also apply // Generated by preSip // module kdecore 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 KEntry { %TypeHeaderCode #include %End public: KEntry (); QCString mValue; bool bDirty; bool bNLS; bool bGlobal; bool bImmutable; bool bDeleted; %If ( KDE_3_1_0 - ) bool bExpand; %End }; // class KEntry class KEntryKey { %TypeHeaderCode #include %End public: KEntryKey (const QCString& = QCString ("" ), const QCString& = QCString ("" )); QCString mGroup; QCString mKey; bool bLocal; bool bDefault; const char* c_key; }; // class KEntryKey //ig typedef QMap::Iterator KEntryMapIterator; //ig typedef QMap::ConstIterator KEntryMapConstIterator; //force KEntryMap testKEntryMap (SIP_PYOBJECT) [KEntryMap (KEntryMap)]; %MethodCode //takes dict | (KEntryMap) //returns (QMap #include %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 KEntryMap cppmap = *sipCpp; KEntryMap::ConstIterator it; for (it = cppmap.begin (); it != cppmap.end (); ++it) { KEntryKey acpp = it.key (); KEntry bcpp = it.data (); PyObject *ainst; PyObject *binst = NULL; if (((ainst = sipConvertFromNewType(new KEntryKey(acpp), sipType_KEntryKey, NULL)) == NULL) || ((binst = sipConvertFromNewType(new KEntry(bcpp), sipType_KEntry, NULL)) == 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); KEntryMap *cppmap = new KEntryMap; PyObject *aelem, *belem; SIP_SSIZE_T pos = 0; KEntryKey *acpp; KEntry *bcpp; while (PyDict_Next(sipPy, &pos, &aelem, &belem)) { int iserr = 0; acpp = (KEntryKey *)sipForceConvertToType(aelem, sipType_KEntryKey, sipTransferObj, SIP_NOT_NONE|SIP_NO_CONVERTORS, NULL, &iserr); bcpp = (KEntry *)sipForceConvertToType(belem, sipType_KEntry, sipTransferObj, SIP_NOT_NONE|SIP_NO_CONVERTORS, NULL, &iserr); if (iserr) { *sipIsErr = 1; delete cppmap; return 0; } cppmap->insert (*acpp, *bcpp); } *sipCppPtr = cppmap; return 1; %End };