Instrument Neutral Distributed Interface INDI 2.2.5
alpaca_client.h
Go to the documentation of this file.
1/*******************************************************************************
2 Copyright(c) 2025 Jasem Mutlaq. All rights reserved.
3
4 INDI Alpaca Client
5
6 This program is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the Free
8 Software Foundation; either version 2 of the License, or (at your option)
9 any later version.
10
11 This program is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 more details.
15
16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA.
20
21 The full GNU General Public License is included in this distribution in the
22 file called LICENSE.
23*******************************************************************************/
24
25#pragma once
26
27#include "baseclient.h"
28#include "basedevice.h"
29#include "indiproperty.h"
30
31class DeviceManager;
32
34{
35 public:
36 AlpacaClient(DeviceManager* deviceManager);
38
39 // Connect to INDI server
40 bool connectServer() override;
41 bool disconnectServer(int exist_code = 0) override;
42
43 protected:
44 // BaseClient overrides
45 void newDevice(INDI::BaseDevice dp) override;
46 void removeDevice(INDI::BaseDevice dp) override;
47 void newProperty(INDI::Property property) override;
48 void removeProperty(INDI::Property property) override;
49 void updateProperty(INDI::Property property) override;
50 void serverConnected() override;
51 void serverDisconnected(int exitCode) override;
52
53 private:
54 DeviceManager* m_DeviceManager;
55};
void serverConnected() override
Emmited when the server is connected.
void updateProperty(INDI::Property property) override
Emmited when a new property value arrives from INDI server.
void serverDisconnected(int exitCode) override
Emmited when the server gets disconnected.
bool connectServer() override
Connect to INDI server.
void removeDevice(INDI::BaseDevice dp) override
Emmited when a device is deleted from INDI server.
void newProperty(INDI::Property property) override
Emmited when a new property is created for an INDI driver.
void removeProperty(INDI::Property property) override
Emmited when a property is deleted for an INDI driver.
void newDevice(INDI::BaseDevice dp) override
Emmited when a new device is created from INDI server.
bool disconnectServer(int exist_code=0) override
Disconnect from INDI server. Any devices previously created will be deleted and memory cleared.
Class to provide basic client functionality.
Definition baseclient.h:52
Class to provide basic INDI device functionality.
Definition basedevice.h:52
Provides generic container for INDI properties.