pacemaker 1.0.1
COM automation for people with deadlines and a hatred of GUIs
 
Loading...
Searching...
No Matches
IncaOnlineExperimentProxy.hpp
Go to the documentation of this file.
1#ifndef PACEMAKER_INCA_COM_INCAONLINEEXPERIMENTPROXY_HPP_
2#define PACEMAKER_INCA_COM_INCAONLINEEXPERIMENTPROXY_HPP_
3
4#include <string>
5#include <vector>
6
9
10struct IncaOnlineExperiment_Dispatch;
11struct IDispatch;
12struct ExperimentDevice_Dispatch;
13
15{
34 class IncaOnlineExperimentProxy : private pacemaker::inca::detail::COMProxy<::IncaOnlineExperiment_Dispatch>
35 {
36 public:
54
70 [[nodiscard]] auto GetAllDevices() -> std::vector<pacemaker::inca::detail::unique_com_ptr<::IDispatch>>;
71
78 auto StopMeasurement() -> void;
79
87 auto StartRecording() -> void;
88
100 auto StopRecordingAndSave() -> void;
101
117 auto GetCalibrationValueInDevice(const std::string &name, ::ExperimentDevice_Dispatch *const device) -> pacemaker::inca::detail::unique_com_ptr<::IDispatch>;
118 };
119
120} // namespace pacemaker::inca::com
121#endif // PACEMAKER_INCA_COM_INCAONLINEEXPERIMENTPROXY_HPP_
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.
Definition COMProxy.hpp:35
std::unique_ptr< T, ComObjDeleter< T > > unique_com_ptr
RAII owning pointer for COM objects.