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

Last change on this file since 614 was 502, checked in by frichard, 14 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.