diff options
Diffstat (limited to 'python/pykde/sip/kabc/distributionlist.sip')
-rw-r--r-- | python/pykde/sip/kabc/distributionlist.sip | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/python/pykde/sip/kabc/distributionlist.sip b/python/pykde/sip/kabc/distributionlist.sip new file mode 100644 index 00000000..b44e43d6 --- /dev/null +++ b/python/pykde/sip/kabc/distributionlist.sip @@ -0,0 +1,177 @@ +// +// 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., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +namespace KABC +{ + +class DistributionList +{ +%TypeHeaderCode +#include <distributionlist.h> +%End + + +public: + + class Entry + { + + public: + typedef QValueList<KABC::DistributionList::Entry> List; + Entry (); + Entry (const KABC::Addressee&, const QString&); + KABC::Addressee addressee; + QString email; + + }; // class Entry + + +public: + DistributionList (KABC::DistributionListManager*, const QString&); + void setName (const QString&); + QString name () const; + void insertEntry (const KABC::Addressee&, const QString& = QString ::null ); + void removeEntry (const KABC::Addressee&, const QString& = QString ::null ); + QStringList emails () const; + KABC::DistributionList::Entry::List entries () const; + +}; // class DistributionList + + +class DistributionListManager +{ +%TypeHeaderCode +#include <distributionlist.h> +%End + + +public: + DistributionListManager (KABC::AddressBook*); + KABC::DistributionList* list (const QString&); + void insert (KABC::DistributionList*); + void remove (KABC::DistributionList*); + QStringList listNames (); + bool load (); + bool save (); + +}; // class DistributionListManager + + +%If ( KDE_3_1_0 - ) + +class DistributionListWatcher : QObject +{ +%TypeHeaderCode +#include <distributionlist.h> +%End + + +public: + static KABC::DistributionListWatcher* self (); + +signals: + void changed (); + +protected: + DistributionListWatcher (); + ~DistributionListWatcher (); + +}; // class DistributionListWatcher + +%End + +}; // namespace KABC + + + +%MappedType KABC::DistributionList::Entry::List +//converts a Python list of KABC::DistributionList::Entry +{ +%TypeHeaderCode +#include <qvaluelist.h> +#include <sipkabcKABCDistributionListEntry.h> +//typedef QValueList<KABC::DistributionList::Entry> List; +%End + +%ConvertFromTypeCode + if (!sipCpp) + return PyList_New(0); + + // Create the list + PyObject *pylist; + if ((pylist = PyList_New(0)) == NULL) + return NULL; + + QValueList<KABC::DistributionList::Entry> *cpplist = (QValueList<KABC::DistributionList::Entry> *)sipCpp; + PyObject *inst; + + // Get it. + QValueList<KABC::DistributionList::Entry>::Iterator it; + for( it = cpplist->begin(); it != cpplist->end(); ++it ) + { + if (((inst = sipBuildResult (NULL, "N", new KABC::DistributionList::Entry (*it), sipClass_KABC_DistributionList_Entry)) == NULL) + || PyList_Append (pylist, inst) < 0) + { + Py_DECREF (pylist); + return NULL; + } + } + + return pylist; +%End + + +%ConvertToTypeCode + if (sipIsErr == NULL) + return PyList_Check(sipPy); + + QValueList<KABC::DistributionList::Entry> *cpplist = new QValueList<KABC::DistributionList::Entry>; + + PyObject *elem; + KABC::DistributionList::Entry *cpp; + int iserr = 0; + + for (int i = 0; i < PyList_Size (sipPy); i++) + { + elem = PyList_GET_ITEM (sipPy, i); + cpp = (KABC::DistributionList::Entry *)sipForceConvertTo_KABC_DistributionList_Entry (elem, &iserr); + + if (iserr) + { + *sipIsErr = 1; + delete cpplist; + return 0; + } + + cpplist->append (*cpp); + } + + *sipCppPtr = cpplist; + + return 1; +%End +}; + + |