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 ARSERVERCLIENTDATA_H 00027 #define ARSERVERCLIENTDATA_H 00028 00029 #include "Aria.h" 00030 00031 class ArServerClientData 00032 { 00033 public: 00034 ArServerClientData(ArServerData *serverData, long mSecInterval, 00035 ArNetPacket *packet) 00036 { 00037 myServerData = serverData; 00038 myMSecInterval = mSecInterval; 00039 myPacket.duplicatePacket(packet); 00040 myReadLength = myPacket.getReadLength(); 00041 myLastSent.setToNow(); 00042 } 00043 virtual ~ArServerClientData() {} 00044 ArServerData *getServerData(void) { return myServerData; } 00045 long getMSec(void) { return myMSecInterval; } 00046 ArNetPacket *getPacket(void) 00047 { myPacket.setReadLength(myReadLength); return &myPacket; } 00048 ArTime getLastSent (void) { return myLastSent; } 00049 void setLastSentToNow(void) { myLastSent.setToNow(); } 00050 void setMSec(long mSec) { myMSecInterval = mSec; } 00051 void setPacket(ArNetPacket *packet) 00052 { 00053 myPacket.duplicatePacket(packet); 00054 myReadLength = myPacket.getReadLength(); 00055 } 00056 protected: 00057 ArServerData *myServerData; 00058 long myMSecInterval; 00059 ArNetPacket myPacket; 00060 unsigned int myReadLength; 00061 ArTime myLastSent; 00062 00063 }; 00064 00065 #endif // ARSERVERCLIENTDATA_H