00001 /* $Id: OSrLParserData.h 4120 2011-03-30 06:28:16Z kmartin $ */ 00014 #ifndef OSRLPARSERDATA_H 00015 #define OSRLPARSERDATA_H 00016 00017 #include "OSnLNode.h" 00018 #include "OSGeneral.h" 00019 00020 #include <vector> 00021 #include <sstream> 00022 00023 00024 00029 struct OtherVariableResultStruct{ 00033 std::string name; 00034 00038 std::string description; 00039 00043 std::string value; 00044 00048 int numberOfVar; 00049 00056 std::string *otherVarText; 00057 00058 00065 int *otherVarIndex; 00066 00067 }; 00068 00069 00082 class OSrLParserData{ 00083 public: 00084 00086 OSrLParserData( ); 00087 00088 //** the OSrLParserData class destructor */ 00089 ~OSrLParserData() ; 00090 00091 00093 std::string statusType; 00094 00096 std::string statusDescription; 00097 00100 double timeValue; 00101 std::string timeType; 00102 std::string timeCategory; 00103 std::string timeUnit; 00104 std::string timeDescription; 00105 00108 int numberOfTimes; 00109 00111 std::string tmpOtherValue; 00112 std::string tmpOtherName; 00113 std::string tmpOtherDescription; 00114 00116 std::string itemContent; 00117 00120 void* scanner; 00121 00123 unsigned int numberOfSolutions; 00124 00126 int numberOfVariables; 00127 00129 int numberOfConstraints; 00130 00132 int numberOfObjectives; 00133 00137 int numberOfIdx; 00138 00142 int numberOfVar; 00143 00147 int numberOfVarIdx; 00148 00152 int numberOfCon; 00153 00154 int numberOfEnumerations; 00155 00159 int numberOfObj; 00160 00162 int numberOf; 00163 00165 int kounter; 00166 00168 int iOther; 00169 00171 int ivar; 00172 00174 int idx; 00175 00177 double tempVal; 00178 00180 int tempInt; 00181 00183 std::string tempStr; 00184 00186 std::ostringstream outStr; 00187 00191 int numberOfOtherVariableResults; 00192 00196 int numberOfOtherObjectiveResults; 00197 00201 int numberOfOtherConstraintResults; 00202 00204 unsigned int solutionIdx; 00205 00207 int mult; 00208 00210 int incr; 00211 00218 bool numberAttributePresent; 00219 bool incrPresent; 00220 bool multPresent; 00221 bool idxAttributePresent; 00222 bool categoryAttributePresent; 00223 bool descriptionAttributePresent; 00224 bool nameAttributePresent; 00225 bool numberOfVarAttributePresent; 00226 bool numberOfVarIdxAttributePresent; 00227 bool numberOfObjAttributePresent; 00228 bool numberOfObjIdxAttributePresent; 00229 bool numberOfConAttributePresent; 00230 bool numberOfConIdxAttributePresent; 00231 bool numberOfEnumerationsAttributePresent; 00232 bool typeAttributePresent; 00233 bool unitAttributePresent; 00234 bool valueAttributePresent; 00235 bool weightedObjAttributePresent; 00236 00242 std::string categoryAttribute; 00243 std::string descriptionAttribute; 00244 std::string nameAttribute; 00245 std::string typeAttribute; 00246 std::string unitAttribute; 00247 std::string valueAttribute; 00248 00249 00250 bool nVarPresent; 00251 bool nObjPresent; 00252 bool nConPresent; 00253 00257 bool generalStatusPresent; 00258 bool generalMessagePresent; 00259 bool generalServiceURIPresent; 00260 bool generalServiceNamePresent; 00261 bool generalInstanceNamePresent; 00262 bool generalJobIDPresent; 00263 bool generalSolverInvokedPresent; 00264 bool generalTimeStampPresent; 00265 bool otherGeneralResultsPresent; 00266 00270 bool systemInformationPresent; 00271 bool systemAvailableDiskSpacePresent; 00272 bool systemAvailableMemoryPresent; 00273 bool systemAvailableCPUSpeedPresent; 00274 bool systemAvailableCPUNumberPresent; 00275 bool otherSystemResultsPresent; 00276 00280 bool serviceCurrentStatePresent; 00281 bool serviceCurrentJobCountPresent; 00282 bool serviceTotalJobsSoFarPresent; 00283 bool timeServiceStartedPresent; 00284 bool serviceUtilizationPresent; 00285 bool otherServiceResultsPresent; 00286 00290 bool jobStatusPresent; 00291 bool jobSubmitTimePresent; 00292 bool scheduledStartTimePresent; 00293 bool actualStartTimePresent; 00294 bool jobEndTimePresent; 00295 bool jobTimingInformationPresent; 00296 bool jobUsedDiskSpacePresent; 00297 bool jobUsedMemoryPresent; 00298 bool jobUsedCPUSpeedPresent; 00299 bool jobUsedCPUNumberPresent; 00300 bool otherJobResultsPresent; 00301 00302 bool numberOfItemsPresent; 00303 int numberOfItems; 00304 00305 00308 struct IndexValuePair *primalValPair; 00309 std::vector<IndexValuePair*> primalVals; 00310 00311 00314 struct IndexValuePair *objValPair; 00315 std::vector<IndexValuePair*> objVals; 00316 00317 00320 struct IndexValuePair *dualValPair; 00321 std::vector<IndexValuePair*> dualVals; 00322 00323 00325 struct OtherVariableResultStruct *otherVarStruct; 00326 00328 std::vector<OtherVariableResultStruct*> otherVarVec; 00329 00333 char *errorText; 00334 }; 00335 00336 #endif /*OSRLPARSERDATA_H_*/