/[ghosts]/ghosts/gedcomparser/src/GEDCOMParser/LineageLinkageGedcom.cpp
ViewVC logotype

Diff of /ghosts/gedcomparser/src/GEDCOMParser/LineageLinkageGedcom.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by cpcp, Sun Jan 26 21:15:21 2003 UTC revision 1.5 by cpcp, Mon Feb 17 21:19:22 2003 UTC
# Line 22  Line 22 
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  {  {
# Line 38  void GEDCOMParser::LineageLinkageGedcom: Line 42  void GEDCOMParser::LineageLinkageGedcom:
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)
# Line 92  GEDCOMParser::IndividualRecords_t const Line 108  GEDCOMParser::IndividualRecords_t const
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;

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26