| 22 |
#include "LineageLinkageGedcom.hh" |
#include "LineageLinkageGedcom.hh" |
| 23 |
#include <algorithm> |
#include <algorithm> |
| 24 |
#include "GEDCOMParser/Visitor/GEDCOMVisitor.hh" |
#include "GEDCOMParser/Visitor/GEDCOMVisitor.hh" |
| 25 |
|
#include "GEDCOMParser/GEDCOMFactory.hh" |
| 26 |
|
#include "GEDCOMParser/GEDCOMFactoryAccessor.hh" |
| 27 |
|
|
| 28 |
|
#define GET_LAST_ID "XYZ" |
| 29 |
|
|
| 30 |
void GEDCOMParser::LineageLinkageGedcom::setHeader(Header * const header) |
void GEDCOMParser::LineageLinkageGedcom::setHeader(Header * const header) |
| 31 |
{ |
{ |
| 42 |
return; |
return; |
| 43 |
} |
} |
| 44 |
|
|
| 45 |
void GEDCOMParser::LineageLinkageGedcom::addIndividualRecord(IndividualRecord * const individual_record) |
GEDCOMParser::IndividualRecord * GEDCOMParser::LineageLinkageGedcom::addIndividualRecord(IndividualRecord * const individual_record = 0) |
| 46 |
{ |
{ |
| 47 |
_individual_records[individual_record->getId()] = SmartPtr< IndividualRecord >(individual_record); |
std::string id; |
| 48 |
return; |
if (individual_record != 0) |
| 49 |
|
{ |
| 50 |
|
id = individual_record->getId(); |
| 51 |
|
_individual_records[id] = SmartPtr< IndividualRecord >(individual_record); |
| 52 |
|
} |
| 53 |
|
else |
| 54 |
|
{ |
| 55 |
|
id = GET_LAST_ID; //TODO : get a new ID !!! |
| 56 |
|
GEDCOMParser::GEDCOMFactory * factory = GEDCOMParser::GEDCOMFactoryAccessor::getFactory(); |
| 57 |
|
_individual_records[id] = SmartPtr< IndividualRecord >(factory->createIndividualRecord()); |
| 58 |
|
_individual_records[id]->setId(id); |
| 59 |
|
} |
| 60 |
|
return _individual_records[id].getPtr(); |
| 61 |
} |
} |
| 62 |
|
|
| 63 |
void GEDCOMParser::LineageLinkageGedcom::addMultimediaRecord(MultimediaRecord * const mm_record) |
void GEDCOMParser::LineageLinkageGedcom::addMultimediaRecord(MultimediaRecord * const mm_record) |
| 108 |
return _individual_records; |
return _individual_records; |
| 109 |
} |
} |
| 110 |
|
|
| 111 |
|
GEDCOMParser::IndividualRecord * GEDCOMParser::LineageLinkageGedcom::getLastInsertedIndividualRecord(void) |
| 112 |
|
{ |
| 113 |
|
GEDCOMParser::IndividualRecord * res; |
| 114 |
|
GEDCOMParser::IndividualRecords_t::const_iterator iter = _individual_records.find(GET_LAST_ID); |
| 115 |
|
if (iter != _individual_records.end()) |
| 116 |
|
{ |
| 117 |
|
res = (*iter).second.getPtr(); |
| 118 |
|
} |
| 119 |
|
else |
| 120 |
|
{ |
| 121 |
|
res = addIndividualRecord(); |
| 122 |
|
} |
| 123 |
|
return res; |
| 124 |
|
} |
| 125 |
|
|
| 126 |
GEDCOMParser::MultimediaRecords_t const & GEDCOMParser::LineageLinkageGedcom::getMultimediaRecords(void) const |
GEDCOMParser::MultimediaRecords_t const & GEDCOMParser::LineageLinkageGedcom::getMultimediaRecords(void) const |
| 127 |
{ |
{ |
| 128 |
return _multimedia_records; |
return _multimedia_records; |