//
//     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 Address
{
%TypeHeaderCode
#include <address.h>
%End


public:
    typedef QValueList<KABC::Address> List;

%If ( KDE_3_1_0 -  )
    typedef QValueList<int> TypeList;
%End


    enum Type
    {
        Dom, 
        Intl, 
        Postal, 
        Parcel, 
        Home, 
        Work, 
        Pref
    };

                         Address ();
                         Address (int);

%If ( KDE_3_1_0 -  )
    bool                 operator == (const KABC::Address&) const;
    bool                 operator != (const KABC::Address&) const;
%End

    bool                 isEmpty () const;
    void                 clear ();
    void                 setId (const QString&);
    QString              id () const;
    void                 setType (int);
    int                  type () const;

%If ( KDE_3_1_0 -  )
    QString              typeLabel () const;
%End

    void                 setPostOfficeBox (const QString&);
    QString              postOfficeBox () const;

%If ( KDE_3_1_0 -  )
    static QString       postOfficeBoxLabel ();
%End

    void                 setExtended (const QString&);
    QString              extended () const;

%If ( KDE_3_1_0 -  )
    static QString       extendedLabel ();
%End

    void                 setStreet (const QString&);
    QString              street () const;

%If ( KDE_3_1_0 -  )
    static QString       streetLabel ();
%End

    void                 setLocality (const QString&);
    QString              locality () const;

%If ( KDE_3_1_0 -  )
    static QString       localityLabel ();
%End

    void                 setRegion (const QString&);
    QString              region () const;

%If ( KDE_3_1_0 -  )
    static QString       regionLabel ();
%End

    void                 setPostalCode (const QString&);
    QString              postalCode () const;

%If ( KDE_3_1_0 -  )
    static QString       postalCodeLabel ();
%End

    void                 setCountry (const QString&);
    QString              country () const;

%If ( KDE_3_1_0 -  )
    static QString       countryLabel ();
%End

    void                 setLabel (const QString&);
    QString              label () const;

%If ( KDE_3_1_0 -  )
    static QString       labelLabel ();
    static KABC::Address::TypeList typeList ();
    static QString       typeLabel (int);
%End

    void                 dump () const;

%If ( KDE_3_2_0 -  )
    QString              formattedAddress (const QString& = QString ::null , const QString& = QString ::null ) const;
    static QString       countryToISO (const QString&);
    static QString       ISOtoCountry (const QString&);
%End


};  // class Address


%If ( KDE_3_1_0 -  )
//igx QDataStream&         operator << (QDataStream&, const KABC::Address&);
//igx QDataStream&         operator >> (QDataStream&, KABC::Address&);
%End

};  // namespace KABC

