//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     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 Ticket
{
%TypeHeaderCode
#include <tdeabc/resource.h>
%End


public:
    TDEABC::Resource*      resource ();

private:
                         Ticket (TDEABC::Resource*);

};  // class Ticket


%If ( KDE_3_2_0 -  )

class Resource : KRES::Resource
{
%TypeHeaderCode
#include <tdeabc/resource.h>
%End


public:
    
//ig     class Iterator;

    
//ig     class ConstIterator;

                         Resource (const TDEConfig*);
//ig     virtual TDEABC::Resource::ConstIterator begin () const;
//ig     virtual TDEABC::Resource::Iterator begin ();
//ig     virtual TDEABC::Resource::ConstIterator end () const;
//ig     virtual TDEABC::Resource::Iterator end ();
    TDEABC::AddressBook*   addressBook ();
    virtual void         writeConfig (TDEConfig*);
    virtual TDEABC::Ticket* requestSaveTicket ()  = 0;
    virtual void         releaseSaveTicket (TDEABC::Ticket*)  = 0;
    virtual bool         load ()  = 0;
    virtual bool         asyncLoad ();
    virtual void         insertAddressee (const TDEABC::Addressee&);
    virtual void         removeAddressee (const TDEABC::Addressee&);
    virtual bool         save (TDEABC::Ticket*)  = 0;
    virtual bool         asyncSave (TDEABC::Ticket*);
    virtual TDEABC::Addressee findByUid (const TQString&);
    virtual TDEABC::Addressee::List findByName (const TQString&);
    virtual TDEABC::Addressee::List findByEmail (const TQString&);
    virtual TDEABC::Addressee::List findByCategory (const TQString&);
    virtual void         clear ();
    void                 setAddressBook (TDEABC::AddressBook*);

signals:
    void                 loadingFinished (TDEABC::Resource*);
    void                 loadingError (TDEABC::Resource*, const TQString&);
    void                 savingFinished (TDEABC::Resource*);
    void                 savingError (TDEABC::Resource*, const TQString&);

protected:
    TDEABC::Ticket*        createTicket (TDEABC::Resource*);

};  // class Resource

%End


%If ( KDE_3_1_0 - KDE_3_2_0 )

class Resource : TDEABC::Plugin
{
%TypeHeaderCode
#include <tdeabc/resource.h>
%End


public:
                         Resource (TDEABC::AddressBook*);
    virtual bool         open ();
    virtual void         close ();
    virtual TDEABC::Ticket* requestSaveTicket ();
    virtual bool         load ();
    virtual bool         save (TDEABC::Ticket*);
    TDEABC::AddressBook*   addressBook ();
    virtual TQString      identifier () const;
    virtual void         removeAddressee (const TDEABC::Addressee&);
    virtual void         cleanUp ();
    virtual void         setReadOnly (bool);
    virtual bool         readOnly () const;
    virtual void         setFastResource (bool);
    virtual bool         fastResource () const;
    virtual void         setName (const TQString);
    virtual TQString      name () const;
    static TQString       cryptStr (const TQString&);

protected:
    TDEABC::Ticket*        createTicket (TDEABC::Resource*);

};  // class Resource

%End


%If (  - KDE_3_1_0 )

class Resource
{
%TypeHeaderCode
#include <tdeabc/resource.h>
%End


public:
                         Resource (TDEABC::AddressBook*);
    virtual bool         open ();
    virtual void         close ();
    virtual TDEABC::Ticket* requestSaveTicket ();
    virtual bool         load (TDEABC::AddressBook*);
    virtual bool         save (TDEABC::Ticket*);
    void                 setAddressBook (TDEABC::AddressBook*);
    TDEABC::AddressBook*   addressBook ();

protected:
    TDEABC::Ticket*        createTicket (TDEABC::Resource*);

};  // class Resource

%End

};  // namespace TDEABC

