// // Copyright 2006 Jim Bublitz // Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson // may also apply // Generated by preSip // module kabc 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. %If ( KDE_3_1_0 - ) namespace KABC { //ig typedef QValueList LdapAttrValue; //ig typedef QMap LdapAttrMap; class LdapObject { %TypeHeaderCode #include %End public: LdapObject (); %If ( KDE_3_3_0 - ) LdapObject (const QString&, KABC::LdapClient*); %End LdapObject (const KABC::LdapObject&); QString toString () const; void clear (); QString dn; //ig LdapAttrMap attrs; %If ( KDE_3_3_0 - ) KABC::LdapClient* client; %End protected: void assign (const KABC::LdapObject&); public: %If ( - KDE_3_3_0 ) LdapObject (QString); %End }; // class LdapObject class LdapClient : QObject { %TypeHeaderCode #include %End public: LdapClient (QObject* = 0, const char* = 0); bool isActive () const; signals: void done (); void error (const QString&); void result (const KABC::LdapObject&); public slots: void setHost (const QString&); QString host () const; void setPort (const QString&); QString port () const; void setBase (const QString&); QString base () const; %If ( KDE_3_2_0 - ) void setBindDN (const QString&); QString bindDN () const; void setPwdBindDN (const QString&); QString pwdBindDN () const; %End void setAttrs (const QStringList&); QStringList attrs () const; void setScope (const QString); void startQuery (const QString&); void cancelQuery (); protected slots: void slotData (KIO::Job*, const QByteArray&); void slotInfoMessage (KIO::Job*, const QString&); void slotDone (); protected: void startParseLDIF (); void parseLDIF (const QByteArray&); void endParseLDIF (); }; // class LdapClient %If ( KDE_3_3_0 - ) class LdapResult { %TypeHeaderCode #include %End public: QString name; QString email; int clientNumber; }; // class LdapResult %End %If ( KDE_3_3_0 - ) typedef QValueList LdapResultList; %End class LdapSearch : QObject { %TypeHeaderCode #include %End public: LdapSearch (); void startSearch (const QString&); void cancelSearch (); bool isAvailable () const; signals: void searchData (const QStringList&); %If ( KDE_3_3_0 - ) void searchData (const KABC::LdapResultList&); %End void searchDone (); }; // class LdapSearch }; // namespace KABC %End %If (KDE_3_3_0 - ) %MappedType KABC::LdapResultList //converts a Python list of KABC::LdapREsult { %TypeHeaderCode #include %End %ConvertFromTypeCode if (!sipCpp) return PyList_New(0); // Create the list PyObject *pylist; if ((pylist = PyList_New(0)) == NULL) return NULL; QValueList *cpplist = (QValueList *)sipCpp; PyObject *inst; // Get it. QValueList::Iterator it; for( it = cpplist->begin(); it != cpplist->end(); ++it ) { if (((inst = sipConvertFromNewType(new KABC::LdapResult(*it), sipType_KABC_LdapResult, NULL)) == NULL) || PyList_Append (pylist, inst) < 0) { Py_DECREF (pylist); return NULL; } } return pylist; %End %ConvertToTypeCode if (sipIsErr == NULL) return PyList_Check(sipPy); QValueList *cpplist = new QValueList; PyObject *elem; KABC::LdapResult *cpp; int iserr = 0; for (int i = 0; i < PyList_Size (sipPy); i++) { elem = PyList_GET_ITEM (sipPy, i); cpp = (KABC::LdapResult *)sipForceConvertToType(elem, sipType_KABC_LdapResult, sipTransferObj, SIP_NOT_NONE|SIP_NO_CONVERTORS, NULL, &iserr); if (iserr) { *sipIsErr = 1; delete cpplist; return 0; } cpplist->append (*cpp); } *sipCppPtr = cpplist; return 1; %End }; %End