Instrument Neutral Distributed Interface INDI 2.2.5
Public Member Functions | Public Attributes | List of all members
geminipbh::Device::Impl Struct Reference

Public Member Functions

 Impl ()
 
 ~Impl ()
 
Result requireConnected () const
 
void invalidateTelemetry ()
 
std::shared_ptr< const TelemetrySnapshot > snapshot () const
 
Result finishCommand (int rc) const
 

Public Attributes

GeminiProtocol protocol
 
std::mutex stateMutex
 
std::shared_ptr< const TelemetrySnapshot > latestTelemetry
 
std::array< unsigned, kHeaterCount > heaterManualPower {}
 
std::array< bool, kHeaterCount > haveHeaterManualPower {{false, false}}
 
std::atomic< ConnectionState > state {ConnectionState::Disconnected}
 
std::mutex lifecycleMutex
 
std::mutex cancelMutex
 
std::function< bool()> cancelFunction
 
std::atomic< bool > cancellationObserved {false}
 
GeminiProtocol::TelemetryCallbackHandle internalTelemetryCallback_ = 0
 
GeminiProtocol::ConnectionCallbackHandle internalConnectionCallback_ = 0
 

Detailed Description

Definition at line 103 of file device.cpp.

Constructor & Destructor Documentation

◆ Impl()

geminipbh::Device::Impl::Impl ( )
inline

Definition at line 105 of file device.cpp.

◆ ~Impl()

geminipbh::Device::Impl::~Impl ( )
inline

Definition at line 147 of file device.cpp.

Member Function Documentation

◆ finishCommand()

Result geminipbh::Device::Impl::finishCommand ( int  rc) const
inline

Definition at line 183 of file device.cpp.

◆ invalidateTelemetry()

void geminipbh::Device::Impl::invalidateTelemetry ( )
inline

Definition at line 171 of file device.cpp.

◆ requireConnected()

Result geminipbh::Device::Impl::requireConnected ( ) const
inline

Definition at line 154 of file device.cpp.

◆ snapshot()

std::shared_ptr< const TelemetrySnapshot > geminipbh::Device::Impl::snapshot ( ) const
inline

Definition at line 177 of file device.cpp.

Member Data Documentation

◆ cancelFunction

std::function<bool()> geminipbh::Device::Impl::cancelFunction

Definition at line 199 of file device.cpp.

◆ cancellationObserved

std::atomic<bool> geminipbh::Device::Impl::cancellationObserved {false}

Definition at line 200 of file device.cpp.

◆ cancelMutex

std::mutex geminipbh::Device::Impl::cancelMutex
mutable

Definition at line 198 of file device.cpp.

◆ haveHeaterManualPower

std::array<bool, kHeaterCount> geminipbh::Device::Impl::haveHeaterManualPower {{false, false}}

Definition at line 195 of file device.cpp.

◆ heaterManualPower

std::array<unsigned, kHeaterCount> geminipbh::Device::Impl::heaterManualPower {}

Definition at line 194 of file device.cpp.

◆ internalConnectionCallback_

GeminiProtocol::ConnectionCallbackHandle geminipbh::Device::Impl::internalConnectionCallback_ = 0

Definition at line 202 of file device.cpp.

◆ internalTelemetryCallback_

GeminiProtocol::TelemetryCallbackHandle geminipbh::Device::Impl::internalTelemetryCallback_ = 0

Definition at line 201 of file device.cpp.

◆ latestTelemetry

std::shared_ptr<const TelemetrySnapshot> geminipbh::Device::Impl::latestTelemetry

Definition at line 193 of file device.cpp.

◆ lifecycleMutex

std::mutex geminipbh::Device::Impl::lifecycleMutex
mutable

Definition at line 197 of file device.cpp.

◆ protocol

GeminiProtocol geminipbh::Device::Impl::protocol

Definition at line 191 of file device.cpp.

◆ state

std::atomic<ConnectionState> geminipbh::Device::Impl::state {ConnectionState::Disconnected}

Definition at line 196 of file device.cpp.

◆ stateMutex

std::mutex geminipbh::Device::Impl::stateMutex
mutable

Definition at line 192 of file device.cpp.


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