1#ifndef PACEMAKER_INCA_COM_INCAONLINEEXPERIMENTPROXY_HPP_
2#define PACEMAKER_INCA_COM_INCAONLINEEXPERIMENTPROXY_HPP_
10struct IncaOnlineExperiment_Dispatch;
12struct ExperimentDevice_Dispatch;
70 [[nodiscard]]
auto GetAllDevices() -> std::vector<pacemaker::inca::detail::unique_com_ptr<::IDispatch>>;
Proxy for the INCA online experiment COM object.
auto GetCalibrationValueInDevice(const std::string &name, ::ExperimentDevice_Dispatch *const device) -> pacemaker::inca::detail::unique_com_ptr<::IDispatch >
Retrieves a calibration scalar data item by name from a specific device.
IncaOnlineExperimentProxy(pacemaker::inca::detail::unique_com_ptr<::IDispatch > idispatch)
Constructs the proxy by narrowing a generic IDispatch to IncaOnlineExperiment_Dispatch.
auto StartRecording() -> void
Starts a new measurement recording.
auto StopRecordingAndSave() -> void
Stops the current recording and saves the collected data.
IncaOnlineExperimentProxy & operator=(IncaOnlineExperimentProxy &&)=default
Move assignment transfers ownership of the COM object.
IncaOnlineExperimentProxy(IncaOnlineExperimentProxy &&)=default
Move constructor transfers ownership of the COM object.
~IncaOnlineExperimentProxy()
Destructor; releases the underlying COM object.
auto GetAllDevices() -> std::vector< pacemaker::inca::detail::unique_com_ptr<::IDispatch > >
Returns all ECU devices associated with the open experiment.
auto StopMeasurement() -> void
Stops the active measurement session.
Non-copyable CRTP base class for COM dispatch proxy objects.
std::unique_ptr< T, ComObjDeleter< T > > unique_com_ptr
RAII owning pointer for COM objects.