Diana  0.8.3
IDianaNLPParalleling.hpp
00001 
00002 #ifndef IDIANA_NLP_PARALLELING_H
00003 #define IDIANA_NLP_PARALLELING_H
00004 
00005 using namespace Common::Types;
00006 using namespace Common::Error;
00007 
00008 namespace Diana{
00009 
00010   // Foward declaration of interface of numeric solver
00011   class IDianaNLPSolverReportingInterface;
00012   
00013   class IDianaNLPSolverParallelInterface : public Common::Utilities::ICapeUtilities {
00014   protected:
00015     
00016     Numeric::Solvers::NLPTasks::ICapeNLPTask *task;
00017     
00018   public:
00019     virtual void EvaluateArray(std::vector <Numeric::Solvers::NLPTasks::Parameters::ICapeOptimizationPoint *> &) = 0;
00020     
00021     /* Sets Task class */
00022     void SetNLPTask(Numeric::Solvers::NLPTasks::ICapeNLPTask *_task) {task = _task; };
00024     virtual bool IsServer() = 0;
00026     virtual void RunClient() = 0;
00027     
00028   };
00029   
00030 }
00031 
00032 #endif // IDIANA_NLP_PARALLELING_H