00001 /* $Id: OSrLParserData.h 4292 2011-09-21 05:47:18Z 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 00030 { 00034 std::string name; 00035 00039 std::string description; 00040 00044 std::string value; 00045 00049 int numberOfVar; 00050 00057 std::string *otherVarText; 00058 00059 00066 int *otherVarIndex; 00067 00068 }; 00069 00070 00083 class OSrLParserData 00084 { 00085 public: 00086 00088 OSrLParserData( ); 00089 00090 //** the OSrLParserData class destructor */ 00091 ~OSrLParserData() ; 00092 00093 00095 std::string statusType; 00096 00098 std::string statusDescription; 00099 00102 double timeValue; 00103 std::string timeType; 00104 std::string timeCategory; 00105 std::string timeUnit; 00106 std::string timeDescription; 00107 00110 int numberOfTimes; 00111 00113 std::string tmpOtherValue; 00114 std::string tmpOtherName; 00115 std::string tmpOtherDescription; 00116 00118 std::string itemContent; 00119 00122 void* scanner; 00123 00125 unsigned int numberOfSolutions; 00126 00128 int numberOfVariables; 00129 00131 int numberOfConstraints; 00132 00134 int numberOfObjectives; 00135 00139 int numberOfIdx; 00140 00144 int numberOfVar; 00145 00149 int numberOfVarIdx; 00150 00154 int numberOfCon; 00155 00156 int numberOfEnumerations; 00157 00161 int numberOfObj; 00162 00164 int numberOf; 00165 00167 int kounter; 00168 00170 int iOther; 00171 00173 int ivar; 00174 00176 int idx; 00177 00179 double tempVal; 00180 00182 int tempInt; 00183 00185 std::string tempStr; 00186 00188 std::string name; 00189 00191 std::ostringstream outStr; 00192 00196 int numberOfOtherVariableResults; 00197 00201 int numberOfOtherObjectiveResults; 00202 00206 int numberOfOtherConstraintResults; 00207 00209 unsigned int solutionIdx; 00210 00212 int mult; 00213 00215 int incr; 00216 00223 bool numberAttributePresent; 00224 bool incrPresent; 00225 bool multPresent; 00226 bool idxAttributePresent; 00227 bool categoryAttributePresent; 00228 bool descriptionAttributePresent; 00229 bool nameAttributePresent; 00230 bool numberOfVarAttributePresent; 00231 bool numberOfVarIdxAttributePresent; 00232 bool numberOfObjAttributePresent; 00233 bool numberOfObjIdxAttributePresent; 00234 bool numberOfConAttributePresent; 00235 bool numberOfConIdxAttributePresent; 00236 bool numberOfEnumerationsAttributePresent; 00237 bool typeAttributePresent; 00238 bool unitAttributePresent; 00239 bool valueAttributePresent; 00240 bool weightedObjAttributePresent; 00241 00247 std::string categoryAttribute; 00248 std::string descriptionAttribute; 00249 std::string nameAttribute; 00250 std::string typeAttribute; 00251 std::string unitAttribute; 00252 std::string valueAttribute; 00253 00254 00255 bool nVarPresent; 00256 bool nObjPresent; 00257 bool nConPresent; 00258 00262 bool generalStatusPresent; 00263 bool generalMessagePresent; 00264 bool generalServiceURIPresent; 00265 bool generalServiceNamePresent; 00266 bool generalInstanceNamePresent; 00267 bool generalJobIDPresent; 00268 bool generalSolverInvokedPresent; 00269 bool generalTimeStampPresent; 00270 bool otherGeneralResultsPresent; 00271 00275 bool systemInformationPresent; 00276 bool systemAvailableDiskSpacePresent; 00277 bool systemAvailableMemoryPresent; 00278 bool systemAvailableCPUSpeedPresent; 00279 bool systemAvailableCPUNumberPresent; 00280 bool otherSystemResultsPresent; 00281 00285 bool serviceCurrentStatePresent; 00286 bool serviceCurrentJobCountPresent; 00287 bool serviceTotalJobsSoFarPresent; 00288 bool timeServiceStartedPresent; 00289 bool serviceUtilizationPresent; 00290 bool otherServiceResultsPresent; 00291 00295 bool jobStatusPresent; 00296 bool jobSubmitTimePresent; 00297 bool scheduledStartTimePresent; 00298 bool actualStartTimePresent; 00299 bool jobEndTimePresent; 00300 bool jobTimingInformationPresent; 00301 bool jobUsedDiskSpacePresent; 00302 bool jobUsedMemoryPresent; 00303 bool jobUsedCPUSpeedPresent; 00304 bool jobUsedCPUNumberPresent; 00305 bool otherJobResultsPresent; 00306 00307 bool numberOfItemsPresent; 00308 int numberOfItems; 00309 00310 00313 struct IndexValuePair *primalValPair; 00314 std::vector<IndexValuePair*> primalVals; 00315 00316 00319 struct IndexValuePair *objValPair; 00320 std::vector<IndexValuePair*> objVals; 00321 00322 00325 struct IndexValuePair *dualValPair; 00326 std::vector<IndexValuePair*> dualVals; 00327 00328 00330 struct OtherVariableResultStruct *otherVarStruct; 00331 00333 std::vector<OtherVariableResultStruct*> otherVarVec; 00334 00338 char *errorText; 00339 }; 00340 00341 #endif /*OSRLPARSERDATA_H_*/