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