glite/jdl/NodeAd.h

Go to the documentation of this file.
00001 /*
00002 Copyright (c) Members of the EGEE Collaboration. 2004.
00003 See http://www.eu-egee.org/partners/ for details on the
00004 copyright holders.
00005 
00006 Licensed under the Apache License, Version 2.0 (the "License");
00007 you may not use this file except in compliance with the License.
00008 You may obtain a copy of the License at
00009 
00010     http://www.apache.org/licenses/LICENSE-2.0
00011 
00012 Unless required by applicable law or agreed to in writing, software
00013 distributed under the License is distributed on an "AS IS" BASIS,
00014 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
00015 either express or implied.
00016 See the License for the specific language governing permissions and
00017 limitations under the License.
00018 */
00019 
00020 #ifndef GLITE_WMS_COMMON_REQUESTAD_NODEAD_H
00021 #define GLITE_WMS_COMMON_REQUESTAD_NODEAD_H
00022 /*
00023  * NodeAdNode.h
00024  * Copyright (c) 2001 The European Datagrid Project - IST programme, all rights reserved.
00025  * Contributors are mentioned in the code where appropriate.
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         // This vector contains all ISB expr Values, later will be used
00100         std::vector<classad::ExprTree*> inputRemotes ;
00101         friend class ExpDagAd ;
00102 };
00103 
00104 } // jdl namespace
00105 } // glite namespace
00106 
00107 #endif
00108 
00109 //EOF

Generated on 9 Feb 2014 for jdl-api-cpp-3.4.3 by  doxygen 1.4.7