//
//     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.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

namespace KABC
{

class Address
{
%TypeHeaderCode
#include <address.h>
%End


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

%If ( KDE_3_1_0 -  )
    typedef TQValueList<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 TQString&);
    TQString              id () const;
    void                 setType (int);
    int                  type () const;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    void                 dump () const;

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


};  // class Address


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

};  // namespace KABC

