| 45 |
GEDCOMParser::IndividualRecord * GEDCOMParser::LineageLinkageGedcom::addIndividualRecord(IndividualRecord * const individual_record = 0) |
GEDCOMParser::IndividualRecord * GEDCOMParser::LineageLinkageGedcom::addIndividualRecord(IndividualRecord * const individual_record = 0) |
| 46 |
{ |
{ |
| 47 |
std::string id; |
std::string id; |
| 48 |
if (individual_record != 0) |
IndividualRecord * tmp_indi; |
| 49 |
|
if (individual_record == 0) |
| 50 |
{ |
{ |
| 51 |
id = individual_record->getId(); |
GEDCOMParser::GEDCOMFactory * factory = GEDCOMParser::GEDCOMFactoryAccessor::getFactory(); |
| 52 |
_individual_records[id] = SmartPtr< IndividualRecord >(individual_record); |
tmp_indi = factory->createIndividualRecord(true); |
| 53 |
} |
} |
| 54 |
else |
else |
| 55 |
{ |
{ |
| 56 |
id = GET_LAST_ID; //TODO : get a new ID !!! |
tmp_indi = individual_record; |
|
GEDCOMParser::GEDCOMFactory * factory = GEDCOMParser::GEDCOMFactoryAccessor::getFactory(); |
|
|
_individual_records[id] = SmartPtr< IndividualRecord >(factory->createIndividualRecord()); |
|
|
_individual_records[id]->setId(id); |
|
| 57 |
} |
} |
| 58 |
|
id = tmp_indi->getId(); |
| 59 |
|
_individual_records[id] = SmartPtr< IndividualRecord >(tmp_indi); |
| 60 |
return _individual_records[id].getPtr(); |
return _individual_records[id].getPtr(); |
| 61 |
} |
} |
| 62 |
|
|