/[ghosts]/ghosts/gedcomparser/src/gedcomsave.cpp
ViewVC logotype

Diff of /ghosts/gedcomparser/src/gedcomsave.cpp

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

revision 1.4 by cpcp, Thu Mar 13 19:57:49 2003 UTC revision 1.5 by cpcp, Mon Apr 7 22:03:28 2003 UTC
# Line 23  int main(int argc, char **argv) Line 23  int main(int argc, char **argv)
23    GEDCOMParser::GEDCOMFactory factory;    GEDCOMParser::GEDCOMFactory factory;
24    GEDCOMParser::GEDCOMFactoryAccessor::Init(&factory);    GEDCOMParser::GEDCOMFactoryAccessor::Init(&factory);
25    GEDCOMParser::Parser viewparser(&factory);    GEDCOMParser::Parser viewparser(&factory);
26    if (argc == 3)    if (argc == 2)
27      {      {
28        char * gedcom_filename = argv[1];        char * gedcom_filename = argv[1];
       char * output_filename = argv[2];  
29        GEDCOMParser::ParseErrorManagement::ParseErrorManager parse_error_manager = viewparser.Parse(gedcom_filename);        GEDCOMParser::ParseErrorManagement::ParseErrorManager parse_error_manager = viewparser.Parse(gedcom_filename);
30        if (parse_error_manager.ErrorCount() == 0)        if (parse_error_manager.ErrorCount() == 0)
31          {          {
32            std::cerr << _("Parsing passed") << std::endl;            std::cerr << _("Parsing passed") << std::endl;
33            GEDCOMParser::LineageLinkageGedcom * const lineage = viewparser.getLineageLinkageGedcom();            GEDCOMParser::LineageLinkageGedcom * const lineage = viewparser.getLineageLinkageGedcom();
           lineage->addFamilyRecord();  
           lineage->addIndividualRecord();  
           lineage->addMultimediaRecord();  
           lineage->addNoteRecord();  
           lineage->addSourceRecord();  
           lineage->addRepositoryRecord();  
           lineage->addSubmitterRecord();  
           GEDCOMParser::IndividualRecords_t individus = lineage->getIndividualRecords();  
           GEDCOMParser::IndividualRecords_t::iterator individu_iter = individus.begin();  
           GEDCOMParser::IndividualRecord * individu = individu_iter->second.getPtr();  
           std::cerr << "before AddSpouse" << std::endl;  
           GEDCOMParser::SpouseToFamilyLink * spouse_link = lineage->AddSpouse(individu);  
           std::cerr << "AddSpouse done : " << spouse_link << std::endl;    
           std::cerr << "before RemoveSpouseToFamilyLink" << std::endl;  
           lineage->RemoveSpouseToFamilyLink(individu, spouse_link);  
           std::cerr << "RemoveSpouseToFamilyLink done" << std::endl;  
           std::cerr << "before AddParents" << std::endl;  
           GEDCOMParser::ChildToFamilyLink * child_link = lineage->AddParents(individu);  
           std::cerr << "AddParents done : " << child_link << std::endl;    
           std::cerr << "before RemoveChildToFamilyLink" << std::endl;  
           lineage->RemoveChildToFamilyLink(individu, child_link);  
           std::cerr << "RemoveChildToFamilyLink done" << std::endl;  
             
34            GEDCOMParser::Writer * writer = new GEDCOMParser::GEDCOMWriter();            GEDCOMParser::Writer * writer = new GEDCOMParser::GEDCOMWriter();
           writer->setFile(output_filename);  
35            GEDCOMParser::GEDCOMSerializerVisitor * visitor = new GEDCOMParser::GEDCOMSerializerVisitor();            GEDCOMParser::GEDCOMSerializerVisitor * visitor = new GEDCOMParser::GEDCOMSerializerVisitor();
36            visitor->setWriter(writer);            visitor->setWriter(writer);
           writer->OpenTransaction();  
37            lineage->Accept(visitor);            lineage->Accept(visitor);
38            writer->CloseTransaction();            std::cout << writer->getBuffer() << std::endl;
39            delete writer; writer = 0;            delete writer; writer = 0;
40            delete visitor; visitor = 0;            delete visitor; visitor = 0;
41          }          }

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