diff options
Diffstat (limited to 'sip/kabc/ldapclient.sip')
-rw-r--r-- | sip/kabc/ldapclient.sip | 243 |
1 files changed, 243 insertions, 0 deletions
diff --git a/sip/kabc/ldapclient.sip b/sip/kabc/ldapclient.sip new file mode 100644 index 0000000..610749e --- /dev/null +++ b/sip/kabc/ldapclient.sip @@ -0,0 +1,243 @@ +// +// Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com> +// 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<QByteArray> LdapAttrValue; +//ig typedef QMap<QString,KABC::LdapAttrValue> LdapAttrMap; + +class LdapObject +{ +%TypeHeaderCode +#include <ldapclient.h> +%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 <ldapclient.h> +%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 <ldapclient.h> +%End + + +public: + QString name; + QString email; + int clientNumber; + +}; // class LdapResult + +%End + + +%If ( KDE_3_3_0 - ) +typedef QValueList<KABC::LdapResult> LdapResultList; +%End + + +class LdapSearch : QObject +{ +%TypeHeaderCode +#include <ldapclient.h> +%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 <ldapclient.h> +%End + +%ConvertFromTypeCode + if (!sipCpp) + return PyList_New(0); + + // Create the list + PyObject *pylist; + if ((pylist = PyList_New(0)) == NULL) + return NULL; + + QValueList<KABC::LdapResult> *cpplist = (QValueList<KABC::LdapResult> *)sipCpp; + PyObject *inst; + + // Get it. + QValueList<KABC::LdapResult>::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<KABC::LdapResult> *cpplist = new QValueList<KABC::LdapResult>; + + 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 + + |