pacemaker 3.0.3
COM automation for people with deadlines and a hatred of GUIs
 
Loading...
Searching...
No Matches
IncaOnlineExperiment_DispatchWrapper Struct Reference

DispatchWrapper for the IncaOnlineExperiment_Dispatch COM interface. More...

#include <IncaOnlineExperimentProxy.hpp>

Inheritance diagram for IncaOnlineExperiment_DispatchWrapper:
Collaboration diagram for IncaOnlineExperiment_DispatchWrapper:

Public Member Functions

auto GetAllDevices () -> std::vector< ExperimentDeviceProxy >
 Returns all ECU devices associated with the open experiment.
 
auto GetCalibrationValueInDevice (const std::string &name, ::ExperimentDevice_Dispatch *const device) -> CalibrationScalarDataProxy
 Retrieves a calibration scalar data item by name from a specific device.
 

Additional Inherited Members

- Public Types inherited from DispatchWrapper<::IncaOnlineExperiment_Dispatch >
using type
 

Detailed Description

DispatchWrapper for the IncaOnlineExperiment_Dispatch COM interface.

Inherits ::IncaOnlineExperiment_Dispatch and overload two C++ methods that hide COM SAFEARRAY and BSTR marshalling behind standard C++ return types. Methods that require no adaptation are inherited directly from the base and accessed via operator-> on the IncaOnlineExperimentProxy owning pointer.

Instances are managed exclusively through the IncaOnlineExperimentProxy owning smart pointer.

See also
IncaOnlineExperimentProxy
pacemaker::inca::detail::COMProxy

Definition at line 29 of file IncaOnlineExperimentProxy.hpp.

Member Function Documentation

◆ GetAllDevices()

auto GetAllDevices ( ) -> std::vector<ExperimentDeviceProxy>
inlinenodiscard

Returns all ECU devices associated with the open experiment.

Calls the base IncaOnlineExperiment_Dispatch::GetAllDevices(), unapckas the returned SAFEARRAY of VT_DISPATCH elements, and constructs an ExperimentDeviceProxy for each element by narrowing the individual IDispatch pointers.

Returns
std::vector<ExperimentDeviceProxy> containing one proxy per device reported by INCA. The vector is empty if no devices are configured in the open experiment.
Exceptions
std::runtime_errorif the returned variant is not of type VT_ARRAY | VT_VARIANT.
std::runtime_errorif SafeArrayGetElement fails for any element.
std::runtime_errorif any element variant is not VT_DISPATCH.

Definition at line 45 of file IncaOnlineExperimentProxy.hpp.

◆ GetCalibrationValueInDevice()

auto GetCalibrationValueInDevice ( const std::string & name,
::ExperimentDevice_Dispatch *const device ) -> CalibrationScalarDataProxy
inlinenodiscard

Retrieves a calibration scalar data item by name from a specific device.

Calls the base IncaOnlineExperiment_Dispatch::GetCalibrationValueInDevice(), detaches the returned IDispatch, and constructs a CalibrationScalarDataProxy by narrowing the pointer via query_interface.

Parameters
nameName of the calibration parameter as configured in INCA
deviceNon-owning raw pointer to the device on which to look up the parameter. Obtain this via ExperimentDeviceProxy::get().
Returns
Owning CalibrationScalarDataProxy for the named parameter.
Exceptions
std::runtime_errorif the parameter is not found on the device (the underlying COM call returns a nullptr).

Definition at line 86 of file IncaOnlineExperimentProxy.hpp.


The documentation for this struct was generated from the following file: