// $Header: https://oberon.oapd.inaf.it/shins/trunk/shins/src/tiptilt_ctrl/bcu/Interface/Sharknir/Bcu/TaNDiagnosticsDispatcherFactory.h 975 2018-10-31 09:24:04Z depa $
#pragma once

#include "tiptilt_ctrl/bcu/Interface/Sharknir/Bcu/DiagnosticsDispatcher.h"
#include "tiptilt_ctrl/bcu/Interface/Sharknir/Bcu/DiagnosticsDispatcherFactory.h"
#include "tiptilt_ctrl/bcu/Interface/Sharknir/Bcu/OverallDiagnosticRecordBuffer.h"

#include <Nice/Property.h>


namespace Sharknir { namespace Bcu {


class TaNDiagnosticsDispatcherFactory : public DiagnosticsDispatcherFactory
{
public:
    TaNDiagnosticsDispatcherFactory(
            const Nice::PropertyPtr& diagnosticsDestinationUdpPortProperty,
            const OverallDiagnosticRecordBufferPtr& diagBuffer);

    /** @note overridden */
    virtual DiagnosticsDispatcherPtr build();

private:
    Nice::PropertyPtr diagDestinationUdpPort_;
    OverallDiagnosticRecordBufferPtr diagBuffer_;
};

}
}
