55 std::unique_ptr<SensorCommBase> &comm,
56 std::unique_ptr<SensorCommStatic> &staticComm,
57 std::unique_ptr<SensorHal> &hal,
60 hal = std::make_unique<HalType>();
64 comm = std::make_unique<CommType>(std::forward<Args>(args)..., hal.get());
72 staticComm = std::make_unique<SensorCommStatic>(comm.get(), hal.get());
81 std::unique_ptr<SensorCommBase> &comm,
82 std::unique_ptr<SensorHal> &hal,
85 hal = std::make_unique<HalType>();
89 comm = std::make_unique<CommType>(std::forward<Args>(args)..., hal.get());
99 typename CommType::CustomCallback callback,
102 std::unique_ptr<SensorCommBase> &comm,
103 std::unique_ptr<SensorHal> &hal)
109 comm = std::make_unique<CommType>(callback, addr);