Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GLITE_WMS_COMMON_REQUESTAD_NODEAD_H
00021 #define GLITE_WMS_COMMON_REQUESTAD_NODEAD_H
00022
00023
00024
00025
00026
00027
00028 #include "JobAd.h"
00029 #include "JdlAttributeList.h"
00030
00031 namespace glite {
00032 namespace jdl {
00033
00043 class NodeAd : public glite::jdl::JobAd{
00044 public:
00046 NodeAd():JobAd(){};
00050 NodeAd(const std::string& jdl):JobAd(){fromString(jdl);};
00052 NodeAd(const classad::ClassAd& classAd):JobAd(){fromClassAd(classAd);};
00054 NodeAd(const NodeAd& nodead);
00056 void operator=(const NodeAd& nodead);
00058 virtual ~NodeAd() throw();
00062 std::vector<classad::ExprTree*> getRemoteSandbox() ;
00067 std::vector<std::string> getStringValue(const std::string& attr_name) ;
00072 void addUserTag ( const std::string& attr_name, const std::string& attr_value );
00077 void checkSyntax( const std::string& attr_name , classad::Value attr_value ) ;
00078 protected:
00083 std::vector<std::string> getISBStrings();
00087 void checkInputSandbox( std::vector<std::string>& extracted ) ;
00090 void checkSpecials( ) ;
00096 void insertAttribute(const std::string& attr_name , classad::ExprTree* val);
00097
00098 private:
00099
00100 std::vector<classad::ExprTree*> inputRemotes ;
00101 friend class ExpDagAd ;
00102 };
00103
00104 }
00105 }
00106
00107 #endif
00108
00109