// Note: Instrumentation statements are highlighted in green 
#ifndef __CONTACTINFO_HPP
#define __CONTACTINFO_HPP

#include <contactinfobase.hpp>
#include "nameinfo.hpp"
#include "homeinfo.hpp"
#include "businessinfo.hpp"
#include "personalinfo.hpp"
#include "miscellaneousinfo.hpp"
#include "emailaddresses.hpp"

using namespace visibility;



///////////////////////////////////////////////////////////////////////////////
// ContactInfo class
///////////////////////////////////////////////////////////////////////////////


class ContactInfo : public ContactInfoBase 
{
  DECLARE_VISIBILITY(ContactInfo)      // Instrumentation statement

public: // data
  NameInfo nameInfo;
  HomeInfo homeInfo;
  BusinessInfo businessInfo;
  PersonalInfo personalInfo;
  MiscellaneousInfo miscellaneousInfo;
  EmailAddresses emailAddresses;

public: // functions
  ContactInfo(void);
  ContactInfo(const ContactInfo & that);
  virtual ~ContactInfo(void);
  ContactInfo & operator =(const ContactInfo & that);
  virtual bool operator==(const ContactInfo & that) const;
  virtual bool operator!=(const ContactInfo & that) const;
  virtual bool operator<(const ContactInfo & that) const;
  virtual bool operator>(const ContactInfo & that) const;
  virtual void populateEditView(void);
  char * getName(void);
  char * getEmailAddress(void);
  char * getHomePhone(void);
  char * getPager(void);
  char * getMobile(void);
  char * getPersonalWebPage(void);
  char * getBusinessPhone(void);
  char * getBusinessFax(void);
  char * getJobTitle(void);
  char * getDepartment(void);
  char * getOffice(void);
  char * getCompany(void);
  char * getBusinessWebPage(void);
  virtual void clear(void);
  friend std::ostream & operator<< (std::ostream & os, ContactInfo & obj);
  friend std::istream & operator>> (std::istream & is, ContactInfo & obj);
};
DECLARE_VISIBILITY_CREATOR(ContactInfo)      // Instrumentation statement

#endif  // __CONTACTINFO_HPP
Copyright 2002-2007 Outerface Technologies, Inc.