3 #ifndef __ARC_JOBDESCRIPTIONPARSERPLUGIN_H__     4 #define __ARC_JOBDESCRIPTIONPARSERPLUGIN_H__    15 #include <arc/loader/Loader.h>    16 #include <arc/loader/Plugin.h>    36     JobDescriptionParsingError(
const std::string& message, 
const std::pair<int, int>& line_pos = std::make_pair(0, 0), 
const std::string& failing_code = 
"")
    37       : message(message), failing_code(failing_code), line_pos(line_pos) {}
    40     std::string failing_code;
    41     std::pair<int, int> line_pos;
    52     JobDescriptionParserPluginResult(
bool v):v_(v?Success:
Failure) { };
    53     JobDescriptionParserPluginResult(
Result v):v_(v) { };
    54     operator bool(
void) { 
return (v_ == Success); };
    55     bool operator!(
void) { 
return (v_ != Success); };
    56     bool operator==(
bool v) { 
return ((v_ == Success) == v); };
    57     bool operator==(
Result v) { 
return (v_ == v); };
    61     bool HasErrors()
 const { 
return !errors_.empty(); };
    65     const std::list<JobDescriptionParsingError>& 
GetErrors()
 const { 
return errors_; };
    74                   const std::pair<int, int>& location = std::make_pair(0, 0),
    75                   const std::string& failing_code = 
"") {
    92     std::list<JobDescriptionParsingError> errors_;
   173     virtual JobDescriptionParserPluginResult Parse(
const std::string& source, std::list<JobDescription>& jobdescs, 
const std::string& language = 
"", 
const std::string& dialect = 
"") 
const = 0;
   281       operator bool() { 
return !jdpl->jdpDescs.empty() || current != jdpl->jdps.end(); }
   287       std::list<JobDescriptionParserPlugin*>::iterator current;
   294     std::list<JobDescriptionParserPlugin*> jdps;
   295     std::list<ModuleDesc> jdpDescs;
   302 #endif // __ARC_JOBDESCRIPTIONPARSERPLUGIN_H__ Arc namespace contains all core ARC classes. 
Definition: ArcConfig.h:11
 
void AddError(const IString &msg, const std::pair< int, int > &location=std::make_pair(0, 0), const std::string &failing_code="")
Definition: JobDescriptionParserPlugin.h:73
 
~JobDescriptionParserPluginLoader()
 
Definition: JobDescriptionParserPlugin.h:243
 
JobDescriptionParserPluginLoader()
 
std::list< std::string > supportedLanguages
List of supported job description languages. 
Definition: JobDescriptionParserPlugin.h:224
 
std::string error
[DEPRECATED] Parsing error 
Definition: JobDescriptionParserPlugin.h:230
 
A logger class. 
Definition: Logger.h:493
 
const std::list< JobDescriptionParserPlugin * > & GetJobDescriptionParserPlugins() const
Definition: JobDescriptionParserPlugin.h:267
 
Class used for localised output of log messages. 
Definition: IString.h:180
 
Abstract plugin class for different parsers. 
Definition: JobDescriptionParserPlugin.h:121
 
void SetWrongLanguage()
Definition: JobDescriptionParserPlugin.h:89
 
void SetSuccess()
Definition: JobDescriptionParserPlugin.h:81
 
Definition: JobDescription.h:842
 
const std::list< JobDescriptionParsingError > & GetErrors() const
Definition: JobDescriptionParserPlugin.h:65
 
void SetFailure()
Definition: JobDescriptionParserPlugin.h:85
 
JobDescriptionParserPlugin * load(const std::string &name)
 
const std::string & GetError(void)
[DEPRECATED] Get parsing error 
Definition: JobDescriptionParserPlugin.h:208
 
std::string & SourceLanguage(JobDescription &j) const
[DEPRECATED] Get reference to sourceLanguage member 
 
bool HasErrors() const
Definition: JobDescriptionParserPlugin.h:61
 
const std::list< std::string > & GetSupportedLanguages() const
Get supported job description languages. 
Definition: JobDescriptionParserPlugin.h:194
 
Result
Definition: JobDescriptionParserPlugin.h:46
 
virtual JobDescriptionParserPluginResult UnParse(const JobDescription &job, std::string &output, const std::string &language, const std::string &dialect="") const
[DEPRECATED] Assemble job description into string 
Definition: JobDescriptionParserPlugin.h:187
 
virtual JobDescriptionParserPluginResult Parse(const std::string &source, std::list< JobDescription > &jobdescs, const std::string &language="", const std::string &dialect="") const =0
Parse string into JobDescription objects. 
 
Definition: JobDescriptionParserPlugin.h:44
 
Definition: JobDescriptionParserPlugin.h:269
 
Definition: JobDescriptionParserPlugin.h:48
 
void AddError(const JobDescriptionParsingError &error)
Definition: JobDescriptionParserPlugin.h:69
 
bool IsLanguageSupported(const std::string &language) const
Check if language is supported. 
Definition: JobDescriptionParserPlugin.h:202
 
virtual JobDescriptionParserPluginResult Assemble(const JobDescription &job, std::string &output, const std::string &language, const std::string &dialect="") const =0
Assemble job description into string. 
 
Definition: JobDescriptionParserPlugin.h:33