This class provides the client API to the driver side alignment database. It communicates with the driver via the INDI properties interface.
More...
#include <ClientAPIForAlignmentDatabase.h>
This class provides the client API to the driver side alignment database. It communicates with the driver via the INDI properties interface.
◆ ClientAPIForAlignmentDatabase()
INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::ClientAPIForAlignmentDatabase |
( |
| ) |
|
◆ ~ClientAPIForAlignmentDatabase()
INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::~ClientAPIForAlignmentDatabase |
( |
| ) |
|
|
virtual |
◆ AppendSyncPoint()
Append a sync point to the database.
- Parameters
-
[in] | CurrentValues | The entry to append. |
- Returns
- True if successful
◆ ClearSyncPoints()
bool INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::ClearSyncPoints |
( |
| ) |
|
Delete all sync points from the database.
- Returns
- True if successful
◆ DeleteSyncPoint()
bool INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::DeleteSyncPoint |
( |
unsigned int |
Offset | ) |
|
Delete a sync point from the database.
- Parameters
-
[in] | Offset | Pointer to the entry to delete |
- Returns
- True if successful
◆ EditSyncPoint()
Edit a sync point in the database.
- Parameters
-
[in] | Offset | Pointer to where to make the edit. |
[in] | CurrentValues | The entry to edit. |
- Returns
- True if successful
◆ GetDatabaseSize()
int INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::GetDatabaseSize |
( |
| ) |
|
Return the number of entries in the database.
- Returns
- The number of entries in the database
◆ Initialise()
void INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::Initialise |
( |
INDI::BaseClient * |
BaseClient | ) |
|
Initialise the API.
- Parameters
-
◆ InsertSyncPoint()
Insert a sync point in the database.
- Parameters
-
[in] | Offset | Pointer to where to make then insertion. |
[in] | CurrentValues | The entry to insert. |
- Returns
- True if successful
◆ LoadDatabase()
bool INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::LoadDatabase |
( |
| ) |
|
Load the database from persistent storage.
- Returns
- True if successful
◆ ProcessNewBLOB()
void INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::ProcessNewBLOB |
( |
IBLOB * |
BLOBPointer | ) |
|
Process new BLOB message from driver.
This routine should be called from within the newBLOB handler in the client. This routine is not normally called directly but is called by the ProcessNewBLOB function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function.
- Parameters
-
[in] | BLOBPointer | A pointer to the INDI::IBLOB. |
◆ ProcessNewDevice()
void INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::ProcessNewDevice |
( |
INDI::BaseDevice * |
DevicePointer | ) |
|
Process new device message from driver.
This routine should be called from within the newDevice handler in the client. This routine is not normally called directly but is called by the ProcessNewDevice function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function.
- Parameters
-
◆ ProcessNewNumber()
void INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::ProcessNewNumber |
( |
INumberVectorProperty * |
NumberVectorProperty | ) |
|
Process new number message from driver.
This routine should be called from within the newNumber handler in the client. This routine is not normally called directly but it is called by the ProcessNewNumber function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function.
- Parameters
-
[in] | NumberVectorProperty | A pointer to the INDI::INumberVectorProperty. |
◆ ProcessNewProperty()
void INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::ProcessNewProperty |
( |
INDI::Property * |
PropertyPointer | ) |
|
Process new property message from driver.
This routine should be called from within the newProperty handler in the client. This routine is not normally called directly but it is called by the ProcessNewProperty function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function.
- Parameters
-
◆ ProcessNewSwitch()
void INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::ProcessNewSwitch |
( |
ISwitchVectorProperty * |
SwitchVectorProperty | ) |
|
Process new switch message from driver.
This routine should be called from within the newSwitch handler in the client. This routine is not normally called directly but it is called by the ProcessNewSwitch function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function.
- Parameters
-
[in] | SwitchVectorProperty | A pointer to the INDI::ISwitchVectorProperty. |
◆ ReadIncrementSyncPoint()
Increment the current offset then read a sync point from the database.
- Parameters
-
[out] | CurrentValues | The entry read. |
- Returns
- True if successful
◆ ReadSyncPoint()
bool INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::ReadSyncPoint |
( |
unsigned int |
Offset, |
|
|
AlignmentDatabaseEntry & |
CurrentValues |
|
) |
| |
Read a sync point from the database.
- Parameters
-
[in] | Offset | Pointer to where to read from. |
[out] | CurrentValues | The entry read. |
- Returns
- True if successful
◆ SaveDatabase()
bool INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::SaveDatabase |
( |
| ) |
|
Save the database to persistent storage.
- Returns
- True if successful
◆ SendEntryData()
◆ SetDriverBusy()
bool INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::SetDriverBusy |
( |
| ) |
|
|
private |
◆ SignalDriverCompletion()
bool INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::SignalDriverCompletion |
( |
| ) |
|
|
private |
◆ WaitForDriverCompletion()
bool INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::WaitForDriverCompletion |
( |
| ) |
|
|
private |
◆ Action
INDI::Property* INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::Action { nullptr } |
|
private |
◆ BaseClient
INDI::BaseClient* INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::BaseClient { nullptr } |
|
private |
◆ Commit
INDI::Property* INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::Commit { nullptr } |
|
private |
◆ CurrentEntry
INDI::Property* INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::CurrentEntry { nullptr } |
|
private |
◆ Device
INDI::BaseDevice* INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::Device { nullptr } |
|
private |
◆ DriverActionComplete
bool INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::DriverActionComplete { false } |
|
private |
◆ DriverActionCompleteCondition
pthread_cond_t INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::DriverActionCompleteCondition |
|
private |
◆ DriverActionCompleteMutex
pthread_mutex_t INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::DriverActionCompleteMutex |
|
private |
◆ MandatoryNumbers
INDI::Property* INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::MandatoryNumbers { nullptr } |
|
private |
◆ OptionalBinaryBlob
INDI::Property* INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::OptionalBinaryBlob { nullptr } |
|
private |
◆ PointsetSize
INDI::Property* INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase::PointsetSize { nullptr } |
|
private |
The documentation for this class was generated from the following files: