// CompoundDatasetMergerCreator.cxx #include "dataset_split/CompoundDatasetMergerCreator.h" #include #include "dataset_util/XmlElement.h" #include "dataset_util/DtdRegistry.h" #include "dataset_split/CompoundDatasetMerger.h" using std::string; using std::ostream; using std::auto_ptr; using dset::DatasetMerger; using dset::DatasetMergerCreator; using dset::CompoundDatasetMerger; using dset::CompoundDatasetMergerCreator; //********************************************************************** // Local definitions. //********************************************************************** namespace { // Creator. const DatasetMergerCreator* create(const XmlElement& ele) { assert( ele.name() == CompoundDatasetMergerCreator::xml_name() ); if ( ele.name() != CompoundDatasetMergerCreator::xml_name() ) return 0; return new CompoundDatasetMergerCreator; } // Register creator. int CompoundDatasetMergerCreator_xml_stat = DatasetMergerCreator::register_creator( CompoundDatasetMergerCreator::xml_name(), create); // Register the DTD. DtdRegistry::Status CompoundDatasetMerger_dtd_stat = DtdRegistry::register_dtd("dataset"); } // end unnamed namespace. //********************************************************************** // Static member functions //********************************************************************** // DTD const Text& CompoundDatasetMergerCreator::dtd() { static Text txt; if ( txt.size() == 0 ) { txt.append(""); } return txt; } //********************************************************************** // Member functions //********************************************************************** // Constructor. CompoundDatasetMergerCreator::CompoundDatasetMergerCreator() { } //********************************************************************** // Validity bool CompoundDatasetMergerCreator::is_valid() const { return true; } //********************************************************************** // Return a new merger instance. DatasetMerger* CompoundDatasetMergerCreator::create(string dir) const { return new CompoundDatasetMerger(dir); } //********************************************************************** // Write to XML. const XmlElement* CompoundDatasetMergerCreator::xml() const { auto_ptr pele(new XmlElement(CompoundDatasetMergerCreator::xml_name())); return pele.release(); } //********************************************************************** // Output stream. ostream& CompoundDatasetMergerCreator::ostr(std::ostream& str) const { str << "Compound dataset merger creator"; return str; } //**********************************************************************