jdl-api-cpp-3.4.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NodeAd.h
Go to the documentation of this file.
1 /*
2 Copyright (c) Members of the EGEE Collaboration. 2004.
3 See http://www.eu-egee.org/partners/ for details on the
4 copyright holders.
5 
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
9 
10  http://www.apache.org/licenses/LICENSE-2.0
11 
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
15 either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18 */
19 
20 #ifndef GLITE_WMS_COMMON_REQUESTAD_NODEAD_H
21 #define GLITE_WMS_COMMON_REQUESTAD_NODEAD_H
22 /*
23  * NodeAdNode.h
24  * Copyright (c) 2001 The European Datagrid Project - IST programme, all rights reserved.
25  * Contributors are mentioned in the code where appropriate.
26  */
27 
28 #include "JobAd.h"
29 #include "JdlAttributeList.h"
30 
31 namespace glite {
32 namespace jdl {
33 
43 class NodeAd : public glite::jdl::JobAd{
44  public:
46  NodeAd():JobAd(){};
50  NodeAd(const std::string& jdl):JobAd(){fromString(jdl);};
52  NodeAd(const classad::ClassAd& classAd):JobAd(){fromClassAd(classAd);};
54  NodeAd(const NodeAd& nodead);
56  void operator=(const NodeAd& nodead);
58  virtual ~NodeAd() throw();
62  std::vector<classad::ExprTree*> getRemoteSandbox() ;
67  std::vector<std::string> getStringValue(const std::string& attr_name) ;
72  void addUserTag ( const std::string& attr_name, const std::string& attr_value );
77  void checkSyntax( const std::string& attr_name , classad::Value attr_value ) ;
78  protected:
83  std::vector<std::string> getISBStrings();
87  void checkInputSandbox( std::vector<std::string>& extracted ) ;
90  void checkSpecials( ) ;
96  void insertAttribute(const std::string& attr_name , classad::ExprTree* val);
97 
98  private:
99  // This vector contains all ISB expr Values, later will be used
100  std::vector<classad::ExprTree*> inputRemotes ;
101  friend class ExpDagAd ;
102 };
103 
104 } // jdl namespace
105 } // glite namespace
106 
107 #endif
108 
109 //EOF
Provides a representation of the job description in the JDL language.
Definition: NodeAd.h:43
void insertAttribute(const std::string &attr_name, classad::ExprTree *val)
Provides a representation of the job description in the JDL language.
Definition: ExpDagAd.h:84
void operator=(const NodeAd &nodead)
std::vector< classad::ExprTree * > getRemoteSandbox()
void fromString(const std::string &jdl_string, std::string jdl_file="")
void checkSyntax(const std::string &attr_name, classad::Value attr_value)
Provides a representation of the job description in the JDL language.
Definition: JobAd.h:55
void addUserTag(const std::string &attr_name, const std::string &attr_value)
NodeAd()
Definition: NodeAd.h:46
std::vector< std::string > getStringValue(const std::string &attr_name)
NodeAd(const std::string &jdl)
Definition: NodeAd.h:50
std::vector< std::string > getISBStrings()
NodeAd(const classad::ClassAd &classAd)
Definition: NodeAd.h:52
void fromClassAd(const classad::ClassAd &classAd)
void checkInputSandbox(std::vector< std::string > &extracted)