// ScriptedJobCreator.h #ifndef dial__ScriptedJobCreator_H #define dial__ScriptedJobCreator_H // David Adams // July 2003 // // Factory to create Job. // // XML representation: // ScriptedJobCreator // script_name = /hmoe/myjobscript #include "dataset_util/Text.h" #include "dial_job/JobCreator.h" class XmlElement; namespace dial { class ScriptedJobCreator : public JobCreator { private: std::string m_scrname; public: // static functions // XML name. static std::string xml_name() { return "ScriptedJobCreator"; } // DTD. static const Text& dtd(); public: // Constructor. ScriptedJobCreator(std::string scrname); // Validity bool is_valid() const; // Create a new local job. Job* create_local_job(JobId jid, const Application& app, const Task& tsk, const dset::Dataset& dst, const JobPreferences& prf, std::string rundir, std::string runfile) const; // Convert. Job* convert(const Job& job) const; // Return the LSF queue used. std::string script_name() const; // XML. const XmlElement* xml() const; // Output stream. std::ostream& ostr(std::ostream& lhs) const; }; } // end namespace dial #endif