| 26 |
#include <string> |
#include <string> |
| 27 |
#include <vector> |
#include <vector> |
| 28 |
|
|
| 29 |
#include "GEDCOMParser/NoteStructure.hh" |
#include "GEDCOMParser/AttachmentManager.hh" |
| 30 |
|
#include "GEDCOMParser/ChangelogManager.hh" |
| 31 |
|
#include "GEDCOMParser/UserReferenceManager.hh" |
| 32 |
#include "GEDCOMParser/SourceRepositoryCitation.hh" |
#include "GEDCOMParser/SourceRepositoryCitation.hh" |
|
#include "GEDCOMParser/MultimediaLink.hh" |
|
|
#include "GEDCOMParser/NoteStructure.hh" |
|
|
#include "GEDCOMParser/UserReference.hh" |
|
|
#include "GEDCOMParser/ChangeDate.hh" |
|
| 33 |
#include "GEDCOMParser/DateManagement/DateValue.hh" |
#include "GEDCOMParser/DateManagement/DateValue.hh" |
| 34 |
#include "GEDCOMParser/Visitor/GEDCOMElement.hh" |
#include "GEDCOMParser/Visitor/GEDCOMElement.hh" |
| 35 |
|
|
| 38 |
{ |
{ |
| 39 |
class GEDCOMVisitor; |
class GEDCOMVisitor; |
| 40 |
/// @memo Implements the GEDCOM 5.5 SOURCE_RECORD structure |
/// @memo Implements the GEDCOM 5.5 SOURCE_RECORD structure |
| 41 |
class SourceRecord : public GEDCOMElement |
class SourceRecord : public GEDCOMElement, |
| 42 |
|
public AttachmentManager, |
| 43 |
|
public ChangelogManager, |
| 44 |
|
public UserReferenceManager |
| 45 |
{ |
{ |
| 46 |
public: |
public: |
| 47 |
/// @memo Implements the DATA members of SOURCE_RECORD structure |
/// @memo Implements the DATA members of SOURCE_RECORD structure |
| 48 |
class Data : public GEDCOMElement |
class Data : public GEDCOMElement, |
| 49 |
|
public AttachmentManager |
| 50 |
{ |
{ |
| 51 |
public: |
public: |
| 52 |
/// @memo Implements the EVENT members of SOURCE_RECORD structure |
/// @memo Implements the EVENT members of SOURCE_RECORD structure |
| 118 |
GEDCOMParser::SourceRecord::Data::Event * addEvent(GEDCOMParser::SourceRecord::Data::Event * const data = 0); |
GEDCOMParser::SourceRecord::Data::Event * addEvent(GEDCOMParser::SourceRecord::Data::Event * const data = 0); |
| 119 |
/// |
/// |
| 120 |
void setAgnc(std::string const &); |
void setAgnc(std::string const &); |
|
/// |
|
|
GEDCOMParser::NoteStructure * addNoteStructure(NoteStructure * const data = 0); |
|
| 121 |
//@} |
//@} |
| 122 |
|
|
| 123 |
///@name Accessors (get) |
///@name Accessors (get) |
| 126 |
Events_t const &getEvents(void) const; |
Events_t const &getEvents(void) const; |
| 127 |
/// |
/// |
| 128 |
virtual std::string const &getAgnc(void) const; |
virtual std::string const &getAgnc(void) const; |
|
/// |
|
|
NoteStructures_t const &getNoteStructures(void) const; |
|
| 129 |
virtual void Accept(GEDCOMParser::GEDCOMVisitor *); |
virtual void Accept(GEDCOMParser::GEDCOMVisitor *); |
| 130 |
|
|
| 131 |
//@} |
//@} |
| 132 |
protected: |
protected: |
| 133 |
Events_t _events; |
Events_t _events; |
| 134 |
std::string _agnc; |
std::string _agnc; |
|
NoteStructures_t _notes; |
|
| 135 |
}; |
}; |
| 136 |
SourceRecord(std::string const &id = ""); |
SourceRecord(std::string const &id = ""); |
| 137 |
virtual ~SourceRecord(void); |
virtual ~SourceRecord(void); |
| 162 |
/// |
/// |
| 163 |
GEDCOMParser::SourceRepositoryCitation * setSourceRepositoryCitation (SourceRepositoryCitation * const data = 0); |
GEDCOMParser::SourceRepositoryCitation * setSourceRepositoryCitation (SourceRepositoryCitation * const data = 0); |
| 164 |
/// |
/// |
|
GEDCOMParser::MultimediaLink * addMultimediaLink (MultimediaLink * const data = 0); |
|
|
/// |
|
|
GEDCOMParser::NoteStructure * addNoteStructure (NoteStructure * const data = 0); |
|
|
/// |
|
|
GEDCOMParser::UserReference * addUserReference (UserReference * const data = 0); |
|
|
/// |
|
| 165 |
void setRin (std::string const &); |
void setRin (std::string const &); |
|
/// |
|
|
GEDCOMParser::ChangeDate * setChangeDate (ChangeDate * const data = 0); |
|
| 166 |
//@} |
//@} |
| 167 |
|
|
| 168 |
///@name Accessors (get) |
///@name Accessors (get) |
| 184 |
/// |
/// |
| 185 |
SmartPtr<SourceRepositoryCitation> const & getSourceRepositoryCitation(void) const; |
SmartPtr<SourceRepositoryCitation> const & getSourceRepositoryCitation(void) const; |
| 186 |
/// |
/// |
|
MultimediaLinks_t const &getMultimediaLinks(void) const; |
|
|
/// |
|
|
NoteStructures_t const &getNoteStructures(void) const; |
|
|
/// |
|
|
UserReferences_t const &getUserReferences(void) const; |
|
|
/// |
|
| 187 |
virtual std::string const &getRin(void) const; |
virtual std::string const &getRin(void) const; |
|
/// |
|
|
SmartPtr<ChangeDate> const & getChangeDate(void) const; |
|
| 188 |
//@} |
//@} |
| 189 |
virtual void Accept(GEDCOMParser::GEDCOMVisitor *); |
virtual void Accept(GEDCOMParser::GEDCOMVisitor *); |
| 190 |
protected: |
protected: |
| 196 |
std::string _publ; |
std::string _publ; |
| 197 |
std::string _text; |
std::string _text; |
| 198 |
SmartPtr<SourceRepositoryCitation> _src_rep_citation; |
SmartPtr<SourceRepositoryCitation> _src_rep_citation; |
|
MultimediaLinks_t _mm_links; |
|
|
NoteStructures_t _notes; |
|
|
UserReferences_t _user_references; |
|
| 199 |
std::string _rin; |
std::string _rin; |
|
SmartPtr<ChangeDate> _change_date; |
|
| 200 |
}; |
}; |
| 201 |
///@name typedefs |
///@name typedefs |
| 202 |
//@{ |
//@{ |