Commit 2ba77dd3 authored by Pascal Palenda's avatar Pascal Palenda
Browse files

Add result handler interface - WIP

parent 5ccebe31
#ifndef INCLUDE_WATCHER_ITA_SIMULATION_SCHEDULER_ROOM_ACOUSTICS_RESULT_HANDLER
#define INCLUDE_WATCHER_ITA_SIMULATION_SCHEDULER_ROOM_ACOUSTICS_RESULT_HANDLER
// std includes
#include <memory>
// API includes
#include <ITA/simulation_scheduler/definitions.h>
// simulation scheduler includes
#include <ITA/simulation_scheduler/room_acoustics/simulation_result.h>
namespace ITA
{
namespace simulation_scheduler
{
namespace room_acoustics
{
///
/// \brief Result handler interface.
///
/// This class defines the interface for result handler.
/// \todo Add enable_shared_from_this? As a result a handler has to be instantiated as a shared_ptr. However, if the scheduler doesn't take ownership, passing a raw ptr is preferred anyways.
///
class ITA_SIMULATION_SCHEDULER_API IResultHandler //: public std::enable_shared_from_this<IResultHandler>
{
public:
///
/// \brief Post a result to the handler.
///
/// With this function a CSimulationResult gets passed to a result handler.
/// \param pResult the CSimulationResult to be passed to the result handler.
///
virtual void postResultReceived ( std::unique_ptr<CSimulationResult> pResult ) = 0;
};
} // namespace room_acoustics
} // namespace simulation_scheduler
} // namespace ITA
#endif // INCLUDE_WATCHER_ITA_SIMULATION_SCHEDULER_ROOM_ACOUSTICS_RESULT_HANDLER
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment