Back to index

nordugrid-arc-nox  1.1.0~rc6
JobDescriptionParser.h
Go to the documentation of this file.
00001 // -*- indent-tabs-mode: nil -*-
00002 
00003 #ifndef __ARC_JOBDESCRIPTIONPARSER_H__
00004 #define __ARC_JOBDESCRIPTIONPARSER_H__
00005 
00006 #include <string>
00007 
00008 #include <arc/client/JobDescription.h>
00009 
00017 namespace Arc {
00018 
00019   class Logger;
00020 
00021   // Abstract class for the different parsers
00022   class JobDescriptionParser {
00023   public:
00024     JobDescriptionParser();
00025     virtual ~JobDescriptionParser();
00026     virtual JobDescription Parse(const std::string& source) const = 0;
00027     virtual std::string UnParse(const JobDescription& job) const = 0;
00028     void AddHint(const std::string& key,const std::string& value);
00029     void SetHints(const std::map<std::string,std::string>& hints);
00030   protected:
00031     static Logger logger;
00032     std::map<std::string,std::string> hints;
00033     std::string GetHint(const std::string& key) const;
00034   };
00035 
00036 } // namespace Arc
00037 
00038 #endif // __ARC_JOBDESCRIPTIONPARSER_H__