• Main Page
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

glite/jdl/parametricad.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 
00021 #ifndef GLITE_WMS_COMMON_REQUESTAD_PARAMETRICAD_H
00022 #define GLITE_WMS_COMMON_REQUESTAD_PARAMETRICAD_H
00023 /*
00024 * ParametricAd.h
00025 */
00026 
00027 #include "JobAd.h"
00028 #include "JdlAttributeList.h"
00029 
00030 namespace glite {
00031 namespace jdl {
00032 
00041 class ParametricAd : public glite::jdl::JobAd{
00042  public:
00044         ParametricAd():JobAd(){};
00048         ParametricAd(const std::string& jdl):JobAd(){fromString(jdl);};
00050         ParametricAd(const classad::ClassAd& classAd):JobAd(){fromClassAd(classAd);};
00052         ParametricAd(const ParametricAd& nodead);
00054         void operator=(const ParametricAd& nodead);
00056         virtual ~ParametricAd() throw();
00060         std::vector<classad::ExprTree*> getRemoteSandbox() ;
00065         std::vector<std::string> getStringValue(const std::string& attr_name) ;
00070         void addUserTag ( const std::string& attr_name,  const std::string& attr_value );
00075         void checkSyntax( const std::string& attr_name , classad::Value attr_value )  ;
00076   protected:
00081         std::vector<std::string> getISBStrings();
00085         void checkInputSandbox(  std::vector<std::string>& extracted ) ;
00088         void checkSpecials( ) ;
00094         void insertAttribute(const std::string& attr_name , classad::ExprTree* val);
00095 
00096   private:
00097         // This vector contains all ISB expr Values, later will be used
00098         std::vector<classad::ExprTree*> inputRemotes ;
00099         friend class ExpDagAd ;
00100 };
00101 
00102 } // jdl namespace
00103 } // glite namespace
00104 
00105 #endif
00106 
00107 //EOF

Generated on Tue Mar 5 2013 13:56:08 for jdl-api-cpp-3.4.1 by  doxygen 1.7.1