00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef ARSERVERINFODRAWINGS_H
00027 #define ARSERVERINFODRAWINGS_H
00028
00029 #include "Aria.h"
00030 #include "ArServerBase.h"
00031
00032 class ArServerClient;
00033
00071 class ArServerInfoDrawings
00072 {
00073 public:
00075 AREXPORT ArServerInfoDrawings(ArServerBase *server);
00077 AREXPORT virtual ~ArServerInfoDrawings();
00079 AREXPORT bool addDrawing(ArDrawingData *drawingData, const char *name,
00080 ArFunctor2<ArServerClient *, ArNetPacket *> *functor);
00082 AREXPORT bool addRangeDevice(ArRangeDevice *rangeDevice);
00084 AREXPORT bool addRobotsRangeDevices(ArRobot *robot);
00086 AREXPORT void netListDrawings(ArServerClient *client, ArNetPacket *packet);
00087
00088 AREXPORT void netGetDrawingList(ArServerClient *client, ArNetPacket *packet);
00089
00091 AREXPORT void netRangeDeviceCurrent(ArServerClient *client,
00092 ArNetPacket *packet,
00093 ArRangeDevice *device);
00095 AREXPORT void netRangeDeviceCumulative(ArServerClient *client,
00096 ArNetPacket *packet,
00097 ArRangeDevice *device);
00098
00099 protected:
00100 ArServerBase *myServer;
00101 std::map<std::string, ArDrawingData *, ArStrCaseCmpOp> myDrawingDatas;
00102 std::map<std::string, ArFunctor *, ArStrCaseCmpOp> myDrawingCallbacks;
00103 ArFunctor2C<ArServerInfoDrawings, ArServerClient *, ArNetPacket *> myNetListDrawingsCB;
00104 ArFunctor2C<ArServerInfoDrawings, ArServerClient *, ArNetPacket *> myNetGetDrawingListCB;
00105 };
00106
00107
00108 #endif