// JobPreferencesId.cxx #include "dial_job/JobPreferencesId.h" #include #include "dataset_id/UniqueIdGenerator.h" #include "dataset_id/SimpleUniqueIdGenerator.h" #include "dataset_util/DtdRegistry.h" using std::string; using dial::JobPreferencesId; //********************************************************************** // Local data. //********************************************************************** namespace { UniqueIdGenerator* PGEN = 0; // Register the DTD. DtdRegistry::Status ISTAT_DTD_JobPreferencesId = DtdRegistry::register_dtd("dial"); } //********************************************************************** // Static member functions. //********************************************************************** // DTD const Text& JobPreferencesId::dtd() { static Text txt; if ( txt.size() == 0 ) { txt = UniqueId::make_dtd(xml_name()); } return txt; } //********************************************************************** // Generate an ID. JobPreferencesId JobPreferencesId::generate() { if ( PGEN == 0 ) { PGEN = UniqueIdGenerator:: find_generator(JobPreferencesId::id_context()); if ( PGEN == 0 ) { PGEN = new SimpleUniqueIdGenerator; } } if ( PGEN == 0 ) return JobPreferencesId(); JobPreferencesId jid = PGEN->next(); return jid; } //********************************************************************** // Non-static member functions. //********************************************************************** // Default constructor. JobPreferencesId::JobPreferencesId() { } //********************************************************************** // Constructor from an UniqueID. JobPreferencesId::JobPreferencesId(const UniqueId& uid) : UniqueId(uid) { } //********************************************************************** // Constructor from indices. JobPreferencesId::JobPreferencesId(Index col, Index ent) : UniqueId(col, ent) { } //********************************************************************** // Constructor from a string. JobPreferencesId::JobPreferencesId(string sid) : UniqueId(sid) { } //********************************************************************** // Constructor from XML. JobPreferencesId::JobPreferencesId(const XmlElement& ele) : UniqueId(ele) { } //********************************************************************** // Write to XML. const XmlElement* JobPreferencesId::xml() const { return xml_with_name(xml_name()); } //**********************************************************************