//
//     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 Ticket
{
%TypeHeaderCode
#include <kabc/resource.h>
%End


public:
    KABC::Resource*      resource ();

private:
                         Ticket (KABC::Resource*);

};  // class Ticket


%If ( KDE_3_2_0 -  )

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


public:
    
//ig     class Iterator;

    
//ig     class ConstIterator;

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

signals:
    void                 loadingFinished (KABC::Resource*);
    void                 loadingError (KABC::Resource*, const QString&);
    void                 savingFinished (KABC::Resource*);
    void                 savingError (KABC::Resource*, const QString&);

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

};  // class Resource

%End


%If ( KDE_3_1_0 - KDE_3_2_0 )

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


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

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

};  // class Resource

%End


%If (  - KDE_3_1_0 )

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


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

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

};  // class Resource

%End

};  // namespace KABC

