00001
00002
#ifndef MEDUSA_NHOPTIMIZER_H
00003
#define MEDUSA_NHOPTIMIZER_H
00004
00005
#include "common.h"
00006
#include "BasicComponent.h"
00007
#include "LoadOffer.h"
00008
00009 MEDUSA_NAMESPACE_BEGIN
00010
00011
00016 class NHOptimizer :
public BasicComponent {
00017
00018
public:
00019
00020 NHOptimizer(string
id, string configFileName=DEFAULT_CONFIG_FILE)
00021 : BasicComponent(id,
"NHOptimizer"),
00022
m_configFileName(configFileName) { }
00023
00024 ~NHOptimizer() {}
00025
00026
00027
00028
00029 AsyncRPC< ptr<LoadOffer> >
handle_load_offer(ptr<LoadOffer> offer);
00030
00031 RPC< vector<Time> >
get_load_moves();
00032
00033
00034
NMSTL_RPC_OBJECT(
NHOptimizer);
00035
00036
protected:
00037 string
m_configFileName;
00038 virtual void handle_load_offer(AsyncRPC< ptr<LoadOffer> > completion, ptr<LoadOffer> offer) {
00039 completion.post(RPCFault(string(
"Unsupported operation")));
00040 }
00041
00043 vector<Time>
m_load_moves;
00044 };
00045
00046
00047 MEDUSA_NAMESPACE_END
00048
00049
#endif