source: BAORadio/libindi/v1.0.1/libs/indibase/indibase.h@ 654

Last change on this file since 654 was 502, checked in by frichard, 15 years ago

-BAOControl : petite interface permettant de contrôler les antennes via le pilote indi_BAO
-Le pilote indi_BAO utilise désormais indilib v 0.7

File size: 2.2 KB
Line 
1#ifndef INDIBASE_H
2#define INDIBASE_H
3
4#include "indiapi.h"
5#include "indidevapi.h"
6
7#define MAXRBUF 2048
8
9/**
10 * \namespace INDI
11 \brief Namespace to encapsulate INDI client, device, and mediator classes
12
13 <ul>
14 <li>BaseClient: Base class for INDI clients. By subclassing BaseClient, client can easily connect to INDI server
15 and handle device communication, command, and notifcation.</li>
16 <li>BaseMediator: Abstract class to provide interface for event notifications in INDI::BaseClient.</li>
17 <li>BaseDriver: Base class for all INDI virtual driver as handled and stored in INDI::BaseClient.</li>
18 <li>DefaultDriver: INDI::BaseDriver with extended functionality such as debug, simulation, and configuration support.
19 It is \e only used by drivers directly, it cannot be used by clients.</li>
20 </ul>
21 */
22namespace INDI
23{
24 class BaseMediator;
25 class BaseClient;
26 class BaseDriver;
27 class DefaultDriver;
28}
29
30
31/**
32 * \class INDI::BaseMediator
33 \brief Meditates event notification as generated by devices and passed to clients.
34*/
35class INDI::BaseMediator
36{
37public:
38
39 /** \brief Emmited when a new device is created from INDI server.
40 */
41 virtual void newDevice() =0;
42
43 /** \brief Emmited when a new BLOB value arrives from INDI server.
44 \param bp Pointer to filled and process BLOB.
45 */
46 virtual void newBLOB(IBLOB *bp) =0;
47
48 /** \brief Emmited when a new switch value arrives from INDI server.
49 \param svp Pointer to a switch vector property.
50 */
51 virtual void newSwitch(ISwitchVectorProperty *svp) =0;
52
53 /** \brief Emmited when a new number value arrives from INDI server.
54 \param nvp Pointer to a number vector property.
55 */
56 virtual void newNumber(INumberVectorProperty *nvp) =0;
57
58 /** \brief Emmited when a new text value arrives from INDI server.
59 \param tvp Pointer to a text vector property.
60 */
61 virtual void newText(ITextVectorProperty *tvp) =0;
62
63 /** \brief Emmited when a new light value arrives from INDI server.
64 \param lvp Pointer to a light vector property.
65 */
66 virtual void newLight(ILightVectorProperty *lvp) =0;
67
68 /** \brief Emmited when the server gets disconnected.
69 */
70 virtual void serverDisconnected() =0;
71};
72
73#endif // INDIBASE_H
Note: See TracBrowser for help on using the repository browser.