Instrument Neutral Distributed Interface INDI  1.9.5
MapPropertiesToInMemoryDatabase.h
Go to the documentation of this file.
1 
9 #pragma once
10 
11 #include "InMemoryDatabase.h"
12 
13 #include "inditelescope.h"
14 
15 namespace INDI
16 {
17 namespace AlignmentSubsystem
18 {
71 {
72  public:
75 
76  // Public methods
77 
81  void InitProperties(Telescope *pTelescope);
82 
93  void ProcessBlobProperties(Telescope *pTelescope, const char *name, int sizes[], int blobsizes[], char *blobs[],
94  char *formats[], char *names[], int n);
95 
103  void ProcessNumberProperties(Telescope *, const char *name, double values[], char *names[], int n);
104 
112  void ProcessSwitchProperties(Telescope *pTelescope, const char *name, ISState *states, char *names[], int n);
113 
118  void UpdateLocation(double latitude, double longitude, double elevation);
119 
121  void UpdateSize();
122 
123  private:
124  INumber AlignmentPointSetEntry[6];
125  INumberVectorProperty AlignmentPointSetEntryV;
126  IBLOB AlignmentPointSetPrivateBinaryData;
127  IBLOBVectorProperty AlignmentPointSetPrivateBinaryDataV;
128  INumber AlignmentPointSetSize;
129  INumberVectorProperty AlignmentPointSetSizeV;
130  INumber AlignmentPointSetPointer;
131  INumberVectorProperty AlignmentPointSetPointerV;
132  ISwitch AlignmentPointSetAction[9];
133  ISwitchVectorProperty AlignmentPointSetActionV;
134  ISwitch AlignmentPointSetCommit;
135  ISwitchVectorProperty AlignmentPointSetCommitV;
136 };
137 
138 } // namespace AlignmentSubsystem
139 } // namespace INDI
INDI::AlignmentSubsystem::MapPropertiesToInMemoryDatabase
An entry in the sync point database is defined by the following INDI properties.
Definition: MapPropertiesToInMemoryDatabase.h:70
InMemoryDatabase.h
ISwitch
One switch descriptor.
INumber
One number descriptor.
_IBLOBVectorProperty
BLOB (Binary Large Object) vector property descriptor.
Definition: indiapi.h:469
_INumberVectorProperty
Number vector property descriptor.
Definition: indiapi.h:317
inditelescope.h
INDI::AlignmentSubsystem::MapPropertiesToInMemoryDatabase::UpdateSize
void UpdateSize()
Call this function when the number of entries in the database changes.
Definition: MapPropertiesToInMemoryDatabase.cpp:273
INDI::AlignmentSubsystem::InMemoryDatabase
This class provides the driver side API to the in memory alignment database.
Definition: InMemoryDatabase.h:23
INDI::Telescope
Definition: inditelescope.h:70
INDI::AlignmentSubsystem::MapPropertiesToInMemoryDatabase::InitProperties
void InitProperties(Telescope *pTelescope)
Initialize alignment database properties. It is recommended to call this function within initProperti...
Definition: MapPropertiesToInMemoryDatabase.cpp:17
INDI::AlignmentSubsystem::MapPropertiesToInMemoryDatabase::~MapPropertiesToInMemoryDatabase
virtual ~MapPropertiesToInMemoryDatabase()
Virtual destructor.
Definition: MapPropertiesToInMemoryDatabase.h:74
INDI::AlignmentSubsystem::MapPropertiesToInMemoryDatabase::ProcessSwitchProperties
void ProcessSwitchProperties(Telescope *pTelescope, const char *name, ISState *states, char *names[], int n)
Call this function from within the ISNewSwitch processing path. The function will handle any alignmen...
Definition: MapPropertiesToInMemoryDatabase.cpp:121
name
const char * name
Definition: indiserver.c:116
INDI
Namespace to encapsulate INDI client, drivers, and mediator classes.
Definition: AlignmentSubsystemForClients.cpp:11
INDI::AlignmentSubsystem::MapPropertiesToInMemoryDatabase::ProcessNumberProperties
void ProcessNumberProperties(Telescope *, const char *name, double values[], char *names[], int n)
Call this function from within the ISNewNumber processing path. The function will handle any alignmen...
Definition: MapPropertiesToInMemoryDatabase.cpp:101
ISState
ISState
Switch state.
Definition: indiapi.h:148
IBLOB
One Blob (Binary Large Object) descriptor.
INDI::AlignmentSubsystem::MapPropertiesToInMemoryDatabase::UpdateLocation
void UpdateLocation(double latitude, double longitude, double elevation)
Call this function from within the updateLocation processing path.
Definition: MapPropertiesToInMemoryDatabase.cpp:256
_ISwitchVectorProperty
Switch vector property descriptor.
Definition: indiapi.h:365
INDI::AlignmentSubsystem::MapPropertiesToInMemoryDatabase::ProcessBlobProperties
void ProcessBlobProperties(Telescope *pTelescope, const char *name, int sizes[], int blobsizes[], char *blobs[], char *formats[], char *names[], int n)
Call this function from within the ISNewBLOB processing path. The function will handle any alignment ...
Definition: MapPropertiesToInMemoryDatabase.cpp:75