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_JOBADSCHEMA_H 00021 #define GLITE_WMS_COMMON_REQUESTAD_JOBADSCHEMA_H 00022 /* 00023 * JobAdSchema.h 00024 * 00025 * Copyright (c) 2001 The European DataGrid Project - IST programme, all rights reserved. 00026 * 00027 * Contributors are mentioned in the code there appropriate. 00028 * 00029 */ 00030 #include <string> 00031 #include <vector> 00032 00033 namespace glite { 00034 namespace jdl { 00035 00043 class JobAdSchema { 00044 public: 00045 // int SCHEMA_MAX_ATTR 00046 /******************Public methods********************/ 00047 enum attribute { 00049 SCHEMA_DAC , 00052 SCHEMA_RTE , 00055 SCHEMA_TCPU , 00058 SCHEMA_FCPU , 00061 SCHEMA_OIP , 00063 SCHEMA_ARRAY 00064 }; 00067 JobAdSchema ( std::vector<std::string> values ) ; 00069 static JobAdSchema* glueSchema() ; 00071 static JobAdSchema edgSchema( ) ; 00075 std::string get ( attribute attrName ) ; 00078 JobAdSchema* Copy( ) ; 00079 private : 00080 /******************Private memebrs********************/ 00081 std::vector<std::string> values ; 00082 JobAdSchema() ; 00083 }; 00084 00085 } // jdl namespace 00086 } // glite namespace 00087 00088 #endif