00001 // Copyright (C) GAMS Development and others 2008-2009 00002 // All Rights Reserved. 00003 // This code is published under the Eclipse Public License. 00004 // 00005 // $Id: OSgams2osil.hpp 4292 2011-09-21 05:47:18Z kmartin $ 00006 // 00007 // Author: Stefan Vigerske 00008 00009 #ifndef OSGAMS2OSIL_HPP_ 00010 #define OSGAMS2OSIL_HPP_ 00011 00012 #include <string> 00013 00014 class OSInstance; 00015 class OSnLNode; 00016 00017 struct gmoRec; 00018 struct gevRec; 00019 00022 class OSgams2osil 00023 { 00024 private: 00025 struct gevRec* gev; 00026 struct gmoRec* gmo; 00027 00028 OSnLNode* parseGamsInstructions(int codelen, int* opcodes, int* fields, int constantlen, double* constants); 00029 00030 00031 public: 00032 OSInstance *osinstance; 00033 00034 OSgams2osil(struct gmoRec* gmo_ = NULL); 00035 00036 OSgams2osil( std::string gamsControlFile); 00037 00038 ~OSgams2osil(); 00039 00040 bool initGMO(const char* datfile); 00041 00045 bool createOSInstance(); 00046 00050 OSInstance* takeOverOSInstance(); 00051 00055 OSInstance* getOSInstance() 00056 { 00057 return osinstance; 00058 } 00059 }; 00060 00061 00062 #endif /*GAMS2OSIL_HPP_*/