00001 // Copyright (C) 2006 Ivo Nowak and Stefan Vigerske 00002 // All Rights Reserved. 00003 // This code is published under the Common Public License. 00004 // 00005 // Author: Stefan Vigerske 00006 00007 #ifndef PREPROCESSAPI_H 00008 #define PREPROCESSAPI_H 00009 00010 #include "standard.h" 00011 #include "tools.h" 00012 #include "param.h" 00013 #include "problem.h" 00014 00015 extern "C" struct dictRec; 00016 00019 class LocOptPreprocessing { 00020 protected: 00021 Pointer<Param> param; 00022 00023 public: 00024 LocOptPreprocessing(const Pointer<Param>& param_) 00025 : param(param_) 00026 { } 00027 00028 virtual ~LocOptPreprocessing() { }; 00029 00030 virtual int run(UserVector<double>& x)=0; 00031 }; 00032 00037 extern "C" typedef LocOptPreprocessing* (preprocess_create_t)(const Pointer<Param>& param, struct dictRec* LaGO_dict, const MinlpProblem& LaGO_prob); 00038 00041 extern "C" typedef void (preprocess_destroy_t)(LocOptPreprocessing*); 00042 00043 #endif