# PvCard Class Reference

Class to represent a vCard as per RFC2426. More...

`#include <vcard.h>`

Inheritance diagram for PvCard:

List of all members.

## Public Types

typedef std::map< Token, ParamValues > | ParamMap
typedef std::map< Token, ExtendedType > | ExtendedTypeMap
| e_Standard
| As per RFC2425.
| e_XML_XMPP
| Jabber XML.
| e_XML_RDF
| W3C version.
| e_XML_RFC
| Draft RFC.
enum | Format { e_Standard, e_XML_XMPP, e_XML_RDF, e_XML_RFC }
| Output string formats. More...

## Public Member Functions

| PvCard ()
bool | IsValid () const
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream.
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream.
bool | Parse (const PString &str)
PString | AsString (Format fmt=e_Standard)

## Public Attributes

Token | m_group
TextValue | m_fullName
TextValue | m_version
TextValue | m_familyName
TextValue | m_givenName
TextValues | m_additionalNames
TextValue | m_honorificPrefixes
TextValue | m_honorificSuffixes
TextValues | m_nickNames
TextValue | m_sortString
PTime | m_birthday
URIValue | m_url
InlineValue | m_photo
InlineValue | m_sound
TextValue | m_timeZone
double | m_latitude
double | m_longitude
TextValue | m_title
TextValue | m_role
InlineValue | m_logo
TextValue | m_agent
TextValue | m_organisationName
TextValue | m_organisationUnit
TextValue | m_mailer
TextValues | m_categories
TextValue | m_note
TextValue | m_productId
TextValue | m_guid
TextValue | m_revision
TextValue | m_class
TextValue | m_publicKey
PArray< Address > | m_addresses
PArray< Address > | m_labels
PArray< Telephone > | m_telephoneNumbers
PArray< EMail > | m_emailAddresses
ExtendedTypeMap | m_extensions

## Classes

struct | Address
struct | EMail
struct | ExtendedType
class | InlineValue
| Representation of EBNF img-inline-value/snd-inline-value. More...
struct | MultiValue
class | ParamValue
| Representation of EBNF param-value. More...
class | ParamValues
| Comma separated list of param-value's. More...
class | Separator
struct | Telephone
class | TextValue
| Representation of EBNF text-value. More...
class | TextValues
| Comma separated list of text-value's. More...
class | Token
| Representation of token (EBNF group, name, iana-token or x-name). More...
class | TypeValues
class | URIValue

## Detailed Description

Class to represent a vCard as per RFC2426.

## Member Typedef Documentation

typedef std::map<Token, ExtendedType> PvCard::ExtendedTypeMap

typedef std::map<Token, ParamValues> PvCard::ParamMap

## Member Enumeration Documentation

enum PvCard::Format

Output string formats.

If operator<< or PrintOn() is used the stream width() parameter may be set to this to indicate the output format. e.g. `stream << setw(PvCard::e_XML_XMPP) << card;`

Enumerator:

  e_Standard | As per RFC2425.
  e_XML_XMPP | Jabber XML.
  e_XML_RDF | W3C version.
  e_XML_RFC | Draft RFC.

## Constructor & Destructor Documentation

PvCard::PvCard | ( |  | ) |

## Member Function Documentation

PString PvCard::AsString | ( | Format | fmt = `e_Standard` | ) |

bool PvCard::IsValid | ( |  | ) | const

bool PvCard::Parse | ( | const PString & | str | ) |

virtual void PvCard::PrintOn | ( | ostream & | strm | ) | const`[virtual]`

Output the contents of the object to the stream.

The exact output is dependent on the exact semantics of the descendent class. This is primarily used by the standard `operator<<` function.

The default behaviour is to print the class name.

Reimplemented from PObject.

virtual void PvCard::ReadFrom | ( | istream & | strm | ) | `[virtual]`

Input the contents of the object from the stream.

The exact input is dependent on the exact semantics of the descendent class. This is primarily used by the standard `operator>>` function.

The default behaviour is to do nothing.

Reimplemented from PObject.

## Member Data Documentation

TextValues PvCard::m_additionalNames

PArray<Address> PvCard::m_addresses

TextValue PvCard::m_agent

PTime PvCard::m_birthday

TextValues PvCard::m_categories

TextValue PvCard::m_class

PArray<EMail> PvCard::m_emailAddresses

ExtendedTypeMap PvCard::m_extensions

TextValue PvCard::m_familyName

TextValue PvCard::m_fullName

TextValue PvCard::m_givenName

Token PvCard::m_group

TextValue PvCard::m_guid

TextValue PvCard::m_honorificPrefixes

TextValue PvCard::m_honorificSuffixes

PArray<Address> PvCard::m_labels

double PvCard::m_latitude

InlineValue PvCard::m_logo

double PvCard::m_longitude

TextValue PvCard::m_mailer

TextValues PvCard::m_nickNames

TextValue PvCard::m_note

TextValue PvCard::m_organisationName

TextValue PvCard::m_organisationUnit

InlineValue PvCard::m_photo

TextValue PvCard::m_productId

TextValue PvCard::m_publicKey

TextValue PvCard::m_revision

TextValue PvCard::m_role

TextValue PvCard::m_sortString

InlineValue PvCard::m_sound

PArray<Telephone> PvCard::m_telephoneNumbers

TextValue PvCard::m_timeZone

TextValue PvCard::m_title

URIValue PvCard::m_url

TextValue PvCard::m_version

The documentation for this class was generated from the following file:

- vcard.h