Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages | Examples

ArServerHandlerCameraCollection.h

Go to the documentation of this file.
00001 /*
00002 MobileRobots Advanced Robotics Interface for Applications (ARIA)
00003 Copyright (C) 2004, 2005 ActivMedia Robotics LLC
00004 Copyright (C) 2006, 2007 MobileRobots Inc.
00005 
00006      This program is free software; you can redistribute it and/or modify
00007      it under the terms of the GNU General Public License as published by
00008      the Free Software Foundation; either version 2 of the License, or
00009      (at your option) any later version.
00010 
00011      This program is distributed in the hope that it will be useful,
00012      but WITHOUT ANY WARRANTY; without even the implied warranty of
00013      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014      GNU General Public License for more details.
00015 
00016      You should have received a copy of the GNU General Public License
00017      along with this program; if not, write to the Free Software
00018      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019 
00020 If you wish to redistribute ARIA under different terms, contact 
00021 MobileRobots for information about a commercial version of ARIA at 
00022 robots@mobilerobots.com or 
00023 MobileRobots Inc, 19 Columbia Drive, Amherst, NH 03031; 800-639-9481
00024 */
00025 
00026 #ifndef ARSERVERHANDLERCAMERACOLLECTION_H
00027 #define ARSERVERHANDLERCAMERACOLLECTION_H
00028 
00029 #include <Aria.h>
00030 #include <ArExport.h>
00031 #include <ArFunctor.h>
00032 #include <ArCameraCollection.h>
00033 
00034 #include "ArServerBase.h"
00035 #include "ArServerClient.h"
00036 
00038 
00087 class ArServerHandlerCameraCollection
00088 {
00089 public:
00090 
00092   AREXPORT static const char *GET_COLLECTION_PACKET_NAME;
00094   AREXPORT static const char *SET_PARAMS_PACKET_NAME;
00095 
00097   AREXPORT static const char *COLLECTION_UPDATED_PACKET_NAME;
00099   AREXPORT static const char *PARAMS_UPDATED_PACKET_NAME;
00100 
00102   AREXPORT static const char *COMMAND_GROUP;
00103 
00104 
00106 
00110   AREXPORT ArServerHandlerCameraCollection(ArServerBase *server, 
00111                                                                                                        ArCameraCollection *cameraCollection);
00113   AREXPORT virtual ~ArServerHandlerCameraCollection();
00114 
00115   // --------------------------------------------------------------------------
00116   // Network Packet Handlers
00117   // --------------------------------------------------------------------------
00118 
00120 
00124   AREXPORT void getCameraList(ArServerClient *client, ArNetPacket *packet);
00125 
00127 
00131   AREXPORT void setParams(ArServerClient *client, ArNetPacket *packet);
00132 
00133   // --------------------------------------------------------------------------
00134   // ArCameraCollection Modified Callback
00135   // --------------------------------------------------------------------------
00136 
00138   AREXPORT void handleCameraCollectionModified();
00139 
00140 
00141 private:
00142 
00144   ArServerHandlerCameraCollection(const ArServerHandlerCameraCollection &);
00146   ArServerHandlerCameraCollection &operator=(const ArServerHandlerCameraCollection &);
00147 
00148 protected:
00149 
00151   ArServerBase *myServer;
00153   ArCameraCollection *myCameraCollection;
00154   
00156   ArFunctor2<ArServerClient *, ArNetPacket *> *myGetCameraListCB;
00158   ArFunctor2<ArServerClient *, ArNetPacket *> *mySetParamCB;
00159 
00161   ArFunctor *myCollectionModifiedCB;
00162 
00163 }; // end class ArServerHandlerCameraCollection
00164 
00165 
00166 #endif // ARSERVERHANDLERCAMERACOLLECTION_H

Generated on Tue Feb 20 10:51:50 2007 for ArNetworking by  doxygen 1.4.0