/usr/include/libindi/indibase.h is in libindi-dev 0.8-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | #ifndef INDIBASE_H
#define INDIBASE_H
#include "indiapi.h"
#include "indidevapi.h"
#define MAXRBUF 2048
/**
* \namespace INDI
\brief Namespace to encapsulate INDI client, device, and mediator classes
<ul>
<li>BaseClient: Base class for INDI clients. By subclassing BaseClient, client can easily connect to INDI server
and handle device communication, command, and notifcation.</li>
<li>BaseMediator: Abstract class to provide interface for event notifications in INDI::BaseClient.</li>
<li>BaseDriver: Base class for all INDI virtual driver as handled and stored in INDI::BaseClient.</li>
<li>DefaultDriver: INDI::BaseDriver with extended functionality such as debug, simulation, and configuration support.
It is \e only used by drivers directly, it cannot be used by clients.</li>
</ul>
*/
namespace INDI
{
class BaseMediator;
class BaseClient;
class BaseDriver;
class DefaultDriver;
class CCD;
class Telescope;
class FilterWheel;
class Focuser;
class USBDevice;
}
/**
* \class INDI::BaseMediator
\brief Meditates event notification as generated by driver and passed to clients.
*/
class INDI::BaseMediator
{
public:
/** \brief Emmited when a new device is created from INDI server.
\param device_name Name of the new device
*/
virtual void newDevice(const char *device_name) =0;
/** \brief Emmited when a new property is created for an INDI driver.
\param device_name Name of the device
\param property_name Name of the new property
*/
virtual void newProperty(const char *device_name, const char *property_name) =0;
/** \brief Emmited when a new BLOB value arrives from INDI server.
\param bp Pointer to filled and process BLOB.
*/
virtual void newBLOB(IBLOB *bp) =0;
/** \brief Emmited when a new switch value arrives from INDI server.
\param svp Pointer to a switch vector property.
*/
virtual void newSwitch(ISwitchVectorProperty *svp) =0;
/** \brief Emmited when a new number value arrives from INDI server.
\param nvp Pointer to a number vector property.
*/
virtual void newNumber(INumberVectorProperty *nvp) =0;
/** \brief Emmited when a new text value arrives from INDI server.
\param tvp Pointer to a text vector property.
*/
virtual void newText(ITextVectorProperty *tvp) =0;
/** \brief Emmited when a new light value arrives from INDI server.
\param lvp Pointer to a light vector property.
*/
virtual void newLight(ILightVectorProperty *lvp) =0;
/** \brief Emmited when the server is connected.
*/
virtual void serverConnected() =0;
/** \brief Emmited when the server gets disconnected.
*/
virtual void serverDisconnected() =0;
};
#endif // INDIBASE_H
|