| 24 |
|
|
| 25 |
#include <string> |
#include <string> |
| 26 |
|
|
| 27 |
#include "GEDCOMParser/Address.hh" |
#include "GEDCOMParser/AddressManager.hh" |
| 28 |
#include "GEDCOMParser/Place.hh" |
#include "GEDCOMParser/Place.hh" |
| 29 |
#include "GEDCOMParser/MultimediaLink.hh" |
#include "GEDCOMParser/AttachmentManager.hh" |
|
#include "GEDCOMParser/NoteStructure.hh" |
|
|
#include "GEDCOMParser/SourceCitation.hh" |
|
| 30 |
#include "GEDCOMParser/DateManagement/DateValue.hh" |
#include "GEDCOMParser/DateManagement/DateValue.hh" |
| 31 |
#include "GEDCOMParser/Visitor/GEDCOMElement.hh" |
#include "GEDCOMParser/Visitor/GEDCOMElement.hh" |
| 32 |
|
|
| 35 |
{ |
{ |
| 36 |
class GEDCOMVisitor; |
class GEDCOMVisitor; |
| 37 |
/// @memo Implements the GEDCOM 5.5 EVENT_DETAIL structure |
/// @memo Implements the GEDCOM 5.5 EVENT_DETAIL structure |
| 38 |
class Event : public GEDCOMElement |
class Event : public GEDCOMElement, |
| 39 |
|
public AttachmentManager, |
| 40 |
|
public AddressManager |
| 41 |
{ |
{ |
| 42 |
public: |
public: |
| 43 |
typedef enum |
typedef enum |
| 50 |
e_Age, |
e_Age, |
| 51 |
e_Agnc, |
e_Agnc, |
| 52 |
e_Caus, |
e_Caus, |
| 53 |
e_Citations, |
e_Attachment |
|
e_MultimediaLinks, |
|
|
e_NoteStructure |
|
| 54 |
} |
} |
| 55 |
enumAttributes; |
enumAttributes; |
| 56 |
Event (void): |
Event (void): |
| 57 |
_type (""), |
_type (""), |
| 58 |
_date (0), |
_date (0), |
| 59 |
_place (), |
_place (), |
|
_address (), |
|
| 60 |
_age (""), |
_age (""), |
| 61 |
_agnc (""), |
_agnc (""), |
| 62 |
_caus (""), |
_caus (""), |
|
_citations (), |
|
|
_mm_links (), |
|
|
_notes (), |
|
| 63 |
_updated_attr (e_None) |
_updated_attr (e_None) |
| 64 |
{ |
{ |
| 65 |
}; |
}; |
| 67 |
_type (e._type), |
_type (e._type), |
| 68 |
_date (0), |
_date (0), |
| 69 |
_place (e._place), |
_place (e._place), |
|
_address (e._address), |
|
| 70 |
_age (e._age), |
_age (e._age), |
| 71 |
_agnc (e._agnc), |
_agnc (e._agnc), |
| 72 |
_caus (e._caus), |
_caus (e._caus), |
|
_citations (e._citations), |
|
|
_mm_links (e._mm_links), |
|
|
_notes (e._notes), |
|
| 73 |
_updated_attr (e._updated_attr) |
_updated_attr (e._updated_attr) |
| 74 |
{ |
{ |
| 75 |
if (e._date != 0) |
if (e._date != 0) |
| 94 |
/// |
/// |
| 95 |
GEDCOMParser::Place * setPlace (Place * const data = 0); |
GEDCOMParser::Place * setPlace (Place * const data = 0); |
| 96 |
/// |
/// |
| 97 |
GEDCOMParser::Address * setAddress (Address * const data = 0); |
void setAddress (Address * const data = 0); |
| 98 |
/// |
/// |
| 99 |
void setAge (std::string const &); |
void setAge (std::string const &); |
| 100 |
/// |
/// |
| 102 |
/// |
/// |
| 103 |
void setCaus (std::string const &); |
void setCaus (std::string const &); |
| 104 |
/// |
/// |
| 105 |
GEDCOMParser::NoteStructure * addNoteStructure (NoteStructure * const data = 0); |
void addAttachment (GEDCOMParser::Attachment * const data); |
| 106 |
/// |
/// |
| 107 |
GEDCOMParser::SourceCitation * addSourceCitation (SourceCitation * const data = 0); |
void addMultimediaLink (GEDCOMParser::Attachment * const data); |
| 108 |
/// |
/// |
| 109 |
GEDCOMParser::MultimediaLink * addMultimediaLink (MultimediaLink * const data = 0); |
void addNoteStructure (GEDCOMParser::Attachment * const data); |
| 110 |
|
/// |
| 111 |
|
void addSourceCitation (GEDCOMParser::Attachment * const data); |
| 112 |
/// |
/// |
| 113 |
//@} |
//@} |
| 114 |
|
|
| 122 |
/// |
/// |
| 123 |
SmartPtr<Place> const &getPlace(void) const; |
SmartPtr<Place> const &getPlace(void) const; |
| 124 |
/// |
/// |
|
SmartPtr<Address> const &getAddress(void) const; |
|
|
/// |
|
| 125 |
virtual std::string const &getAge(void) const; |
virtual std::string const &getAge(void) const; |
| 126 |
/// |
/// |
| 127 |
virtual std::string const &getAgnc(void) const; |
virtual std::string const &getAgnc(void) const; |
| 128 |
/// |
/// |
| 129 |
virtual std::string const &getCaus(void) const; |
virtual std::string const &getCaus(void) const; |
|
/// |
|
|
NoteStructures_t const &getNoteStructures(void) const; |
|
|
/// |
|
|
SourceCitations_t const &getSourceCitations(void) const; |
|
|
/// |
|
|
MultimediaLinks_t const &getMultimediaLinks(void) const; |
|
|
/// |
|
| 130 |
//@} |
//@} |
| 131 |
virtual void Accept(GEDCOMParser::GEDCOMVisitor *); |
virtual void Accept(GEDCOMParser::GEDCOMVisitor *); |
| 132 |
protected: |
protected: |
| 133 |
std::string _type; |
std::string _type; |
| 134 |
GEDCOMParser::DateManagement::DateValue * _date; |
GEDCOMParser::DateManagement::DateValue * _date; |
| 135 |
SmartPtr<Place> _place; |
SmartPtr<Place> _place; |
|
SmartPtr<Address> _address; |
|
| 136 |
std::string _age; |
std::string _age; |
| 137 |
std::string _agnc; |
std::string _agnc; |
| 138 |
std::string _caus; |
std::string _caus; |
|
SourceCitations_t _citations; |
|
|
MultimediaLinks_t _mm_links; |
|
|
NoteStructures_t _notes; |
|
| 139 |
enumAttributes _updated_attr; |
enumAttributes _updated_attr; |
| 140 |
void _setType (std::string const &); |
void _setType (std::string const &); |
| 141 |
void _setDate (GEDCOMParser::DateManagement::DateValue const &); |
void _setDate (GEDCOMParser::DateManagement::DateValue const &); |
| 142 |
void _setPlace (SmartPtr<Place> const &); |
void _setPlace (SmartPtr<Place> const &); |
| 143 |
void _setAddress (SmartPtr<Address> const &); |
void _setAddress (Address * const data = 0); |
| 144 |
void _setAge (std::string const &); |
void _setAge (std::string const &); |
| 145 |
void _setAgnc (std::string const &); |
void _setAgnc (std::string const &); |
| 146 |
void _setCaus (std::string const &); |
void _setCaus (std::string const &); |
| 147 |
void _addNoteStructure (SmartPtr<NoteStructure> const &); |
void _addAttachment (SmartPtr < GEDCOMParser::Attachment > const& data); |
|
void _addSourceCitation (SmartPtr<SourceCitation> const &); |
|
|
void _addMultimediaLink (SmartPtr<MultimediaLink> const &); |
|
| 148 |
}; |
}; |
| 149 |
}; |
}; |
| 150 |
#endif |
#endif |