Main Page | Class Hierarchy | Class List | File List | Class Members

QAvatar.h

00001 
00002 //
00003 // $Id: QAvatar.h,v 1.6 2004/04/13 19:10:09 scharver Exp $
00004 //
00005 // Author: Chris Scharver
00006 // Email: scharver@evl.uic.edu
00007 // Copyright (c) 2003 Electronic Visualization Laboratory,
00008 //                    University of Illinois at Chicago
00009 //
00010 // Permission is hereby granted, free of charge, to any person
00011 // obtaining a copy of this software and associated documentation
00012 // files (the "Software"), to deal in the Software without
00013 // restriction, including without limitation the rights to use, copy,
00014 // modify, merge, publish, distribute, sublicense, and/or sell copies
00015 // of the Software, and to permit persons to whom the Software is
00016 // furnished to do so, subject to the following conditions:
00017 //
00018 // The above copyright notice and this permission notice shall be
00019 // included in all copies or substantial portions of the Software.
00020 //
00021 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00022 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00023 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00024 // NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
00025 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
00026 // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00027 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00028 // DEALINGS IN THE SOFTWARE.
00029 //
00031 
00032 #ifndef _QAVATAR_H
00033 #define _QAVATAR_H
00034 
00035 #include <stdio.h>
00036 
00037 class QUANTAts_mutex_c;
00038 
00058 class QAvatar
00059 {
00060 public:
00061 
00063   QAvatar(const long&);
00064 
00066   QAvatar(const long&, const size_t&, const size_t&, const size_t&);
00067 
00069   virtual ~QAvatar();
00070 
00072   virtual void lock();
00073 
00075   virtual void unlock();
00076 
00078   long getID();
00079 
00080   char* getAuxData();
00081   size_t getAuxDataSize();
00082   char* getHelloData();
00083   size_t getHelloDataSize();
00084   char* getTrackerData();
00085   size_t getTrackerDataSize();
00086 
00088   void setAuxData(const char*, const size_t&);
00089 
00091   void setHelloData(const char*, const size_t&);
00092 
00094   void setTrackerData(const char*, const size_t&);
00095 
00097   double getLastUpdateTime();
00098 
00100   void markUpdateTime();
00101 
00102 protected:
00103 
00105   const long m_id;
00106 
00108   double m_lastUpdateTime;
00109 
00111   QUANTAts_mutex_c* m_mutex;
00112 
00115 
00117   char* m_auxData;
00119   const size_t m_auxSize;
00120 
00122   char* m_helloData;
00124   const size_t m_helloSize;
00125 
00127   char* m_trackerData;
00129   const size_t m_trackerSize;
00130 
00132 };
00133 
00134 #endif /* _QAVATAR_H */

Generated on Tue Apr 13 16:42:25 2004 for QAvatar by doxygen 1.3.6