// // Copyright 2006 Jim Bublitz // Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson // may also apply // Generated by preSip // module tdeabc 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. namespace TDEABC { class DistributionList { %TypeHeaderCode #include %End public: class Entry { public: typedef TQValueList List; Entry (); Entry (const TDEABC::Addressee&, const TQString&); TDEABC::Addressee addressee; TQString email; }; // class Entry public: DistributionList (TDEABC::DistributionListManager*, const TQString&); void setName (const TQString&); TQString name () const; void insertEntry (const TDEABC::Addressee&, const TQString& = TQString ::null ); void removeEntry (const TDEABC::Addressee&, const TQString& = TQString ::null ); TQStringList emails () const; TDEABC::DistributionList::Entry::List entries () const; }; // class DistributionList class DistributionListManager { %TypeHeaderCode #include %End public: DistributionListManager (TDEABC::AddressBook*); TDEABC::DistributionList* list (const TQString&); void insert (TDEABC::DistributionList*); void remove (TDEABC::DistributionList*); TQStringList listNames (); bool load (); bool save (); }; // class DistributionListManager %If ( KDE_3_1_0 - ) class DistributionListWatcher : TQObject { %TypeHeaderCode #include %End public: static TDEABC::DistributionListWatcher* self (); signals: void changed (); protected: DistributionListWatcher (); ~DistributionListWatcher (); }; // class DistributionListWatcher %End }; // namespace TDEABC %MappedType TDEABC::DistributionList::Entry::List //converts a Python list of TDEABC::DistributionList::Entry { %TypeHeaderCode #include %End %ConvertFromTypeCode if (!sipCpp) return PyList_New(0); // Create the list PyObject *pylist; if ((pylist = PyList_New(0)) == NULL) return NULL; TQValueList *cpplist = (TQValueList *)sipCpp; PyObject *inst; // Get it. TQValueList::Iterator it; for( it = cpplist->begin(); it != cpplist->end(); ++it ) { if (((inst = sipConvertFromNewType(new TDEABC::DistributionList::Entry (*it), sipType_TDEABC_DistributionList_Entry, NULL)) == NULL) || PyList_Append (pylist, inst) < 0) { Py_DECREF (pylist); return NULL; } } return pylist; %End %ConvertToTypeCode if (sipIsErr == NULL) return PyList_Check(sipPy); TQValueList *cpplist = new TQValueList; PyObject *elem; TDEABC::DistributionList::Entry *cpp; int iserr = 0; for (int i = 0; i < PyList_Size (sipPy); i++) { elem = PyList_GET_ITEM (sipPy, i); cpp = (TDEABC::DistributionList::Entry *)sipForceConvertToType(elem, sipType_TDEABC_DistributionList_Entry, 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 };