2004-04-13 14:10  scharver

	* QAvatar.h, QAvatarFactory.h, QAvatarListener.h, QAvatarManager.h:
	  - Cleaned up doxygen comments so formatting more closely matches
	  output.

2004-04-02 15:44  scharver

	* demoavatar.cxx, avatarserver.cxx:
	  - Declared keepRunning as volatile since it will be accessed from
	  multiple threads.

2004-03-26 15:33  scharver

	* CMakeLists.txt:
	  - Added option USE_GHOST_STL. Because GHOST has its own STL, any
	  program that compiles with GHOST must use that outdated STL. This
	  option adds GHOST's STL headers to the include path.

2004-03-26 15:32  scharver

	* demoavatar.cxx:
	  - Moved QUANTA includes to the top of the file. They'll make sure to
	  include winsock2.h before grabbing windows.h.
	  - Added USE_STL_NAMESPACE check when including iostream.
	  - Delete the avatar manager if the connection cannot be made.

2004-03-26 15:31  scharver

	* avatarserver.cxx:
	  - Added USE_STL_NAMESPACE check when including iostream.
	  - Added 5 second blocking timeouts on the reflectors. These timeouts
	  should allow the server loops to process information in a better
	  way. As I understand it, this should be roughly equivalent to
	  non-blocking calls using sleep(5).

2004-03-26 15:20  scharver

	* QAvatarManager.cxx:
	  - Includes QUANTA headers first since they'll ensure that the
	  winsock2.h is included before windows.h.
	  - Added USE_STL_NAMESPACE check when including iostream.
	  - QAvatarManager constructor initializes the m_hailingTCP and
	  m_trackerUDP objects to NULL. The new objects are created within the
	  constructor's body.
	  - QAvatarManager destructor closes the TCP and UDP connections
	  before making any delete calls.

2004-03-26 15:16  scharver

	* QAvatarManager.h:
	  - Includes QUANTA headers first since they'll ensure that the
	  winsock2.h is included before windows.h.

2004-03-26 14:56  scharver

	* QAvatar.cxx:
	  - Added USE_STL_NAMESPACE check when including iostream.

2004-03-23 11:06  scharver

	* demoavatar.cxx:
	  - (interruptHandler) Added output message when Ctrl-C is caught.

2004-03-22 15:36  scharver

	* QAvatarManager.h:
	  - Added cosmetic comment to clarify USE_STL_NAMESPACE block.

2004-03-22 15:17  scharver

	* avatarserver.cxx:
	  - Moved signal handling calls to right after checking arguments.
	  - Successful initialization output only appears after the UDP And
	  TCP sockets have opened without errors.

2004-03-22 15:08  scharver

	* QAvatarManager.cxx:
	  - Constructor initializes a few more member variables.
	  - Constructor properly uses strlen()+1 when setting the avatar's id.

2004-03-17 22:33  scharver

	* demoavatar.cxx:
	  - Added quick argument checking to make sure that the server is
	  specified.
	  - Changed data buffers so that they are dynamically allocated. MSVC
	  doesn't like the syntax that was used previously.

2004-03-15 15:19  scharver

	* CMakeLists.txt:
	  - Added QAVATAR_SOURCE_DIR to the search path for CSS_CMAKE_MODULES.
	  When distributinf the code, the required custom CMake modules should
	  be copied into the source directory so that they can be found by
	  CMake.

2004-03-15 15:18  scharver

	* FindInventor.cmake, FindQUANTA.cmake:
	  - Removed outdated cmake files. They have been moved to a central
	  location within the cvs repository. For distribution, the required
	  files may be copied locally.

2004-03-15 15:12  scharver

	* demoavatar.cxx:
	  - Changed TRACKER_SIZE so that it is calculated using the
	  QUANTAnet_datapack_c sizeof approach. This ensures that the size is
	  correct for packed values.
	  - Demo tracker information contains the loop count and the number of
	  remaining loops. These two integer values are packed into the
	  tracker buffer for sending and unpacked when received.
	  - Added some extra source code comments.

2004-03-15 15:04  scharver

	* QAvatarManager.cxx:
	  - Changed messages to use cout rather than cerr except in cases of
	  actual errors. Removed printf() calls.
	  - (QAvatarManager::connect) Added display confirming the hailing and
	  tracker channel connections.
	  - (QAvatarManager::sendTracker) Sends the tracker data using a
	  nonblocking send since BSDs like MacOS X do not perform a blocking
	  UDP send. Also, the result of the send is checked that it didn't
	  fail rather than checking for OK. If the send fails, then a message
	  indicates that tracker data was not sent.

2004-03-09 20:16  scharver

	* QAvatar.cxx:
	  - Added some extra documentation comments.

2004-03-07 23:30  scharver

	* QAvatar.cxx, QAvatarManager.cxx, QAvatarManager.h,
	  avatarserver.cxx, demoavatar.cxx:
	  - Replaced hard tabs with spaces.

2004-03-01 17:41  scharver

	* CMakeLists.txt:
	  - Added support for CSS_CMAKE_MODULES. It's included in the search
	  path when locating custom CMake modules. The central location should
	  reduce duplication among the various directories.

2004-03-01 17:27  scharver

	* QAvatar.h:
	  - Added description for parameterized QAvatar constructor.

2004-02-13 13:51  scharver

	* CMakeLists.txt:
	  - INCLUDE_DIRECTORIES uses the multiple QUANTA_INCLUDE_DIRS to pick
	  up extra paths.

2004-02-13 13:51  scharver

	* FindQUANTA.cmake:
	  - Added QUANTA_PTHREADS_INCLUDE_DIR and QUANTA_PTHREADS_LIBRARY for
	  settings the Win32 pthread library locations.
	  - Added QUANTA_INCLUDE_DIRS to store all require include paths for
	  compiling with QUANTA. On windows, this variable includes the
	  pthreads path.

2004-02-12 19:46  scharver

	* FindQUANTA.cmake:
	  - Defined _WIN32_WINNT=0x0400 when compiling on Windows in order to
	  specifically use the Winsock2 API. This preprocessor definition is
	  the recommended official way to force Windows to use the correct
	  header.

2004-01-30 15:25  scharver

	* FindInventor.cmake:
	  - INVENTOR_oiv_LIBRARY is no longer marked as advanced.

2004-01-29 18:29  scharver

	* demoavatar.cxx:
	  - Replaced sleep() with QUANTAsleep().

2004-01-26 15:53  scharver

	* FindQUANTA.cmake:
	  - Fixed some path names to use newer QUANTA paths.

2004-01-26 13:52  scharver

	* demoavatar.cxx:
	  - (DemoAvatar::createAvatar) Added data buffer sizes to the QAvatar
	  constructor in order to guarantee correct values. They were left
	  off, so the buffers were assumed to be of size 0. Added comments
	  indicating the importance of this change.
	  - Enhanced the DemoLister output to display the data contained
	  within HELLO, AUX, and TRACKER messages.
	  - The main application puts more meaningful data into each of the
	  messages. When testing with multiple clients, this makes it easier
	  to verify that the messages are properly being sent across the
	  network.
	  - Made the application return 0 rather than 1.

2004-01-26 13:48  scharver

	* QAvatarManager.cxx:
	  - Fixed serious bugs when handling hailing and tracker data. The
	  code was using a hard-coded data size of 1024. This causes some ugly
	  behavior in memory, and the solution involved querying the self
	  avatar to get the proper data sizes.

2004-01-26 13:46  scharver

	* QAvatar.cxx:
	  - Fixed bug caused by improperly comparing the internal data buffer
	  sizes with new data sizes when calling QAvatar::set*Data() member
	  functions. The functions now properly check that the input data is
	  not larger than the buffer size specified when the QAvatar instance
	  was created.

2004-01-17 18:04  scharver

	* QAvatar.h, QAvatarFactory.h, QAvatarListener.h, QAvatarManager.h:
	  - Fixed date and revision for doxygen documentation. Doxygen uses
	  the cvs keywords automatically, so @date and @version are not
	  needed.

2004-01-17 14:35  scharver

	* avatarserver.cxx: Significant changes enhance cross-platform
	  performance. Threads are managed more intelligently, and program
	  termination properly cleans up all resources.
	  - Included QUANTA headers first, thus removing a few extra includes.
	  - Renamed ctrlCHandler to stopServer.
	  - Removed pid_t stuff. The process id is not longer needed since
	  everything is handled using barriers, signals, and locks.
	  - Changed atoi() to strtol() since atoi has been depreciated.
	  - Simplified signal handling to use only signal(). This is portable
	  across unix and Windows.
	  - Removed pthread code, replacing it with QUANTAts_thread_c. This
	  change enhances portability.
	  - No longer spawns the UDP thread since the UDP reflector has its
	  own internal thread.
	  - Added a QUANTAts_barrier_c to synchronize program termination.
	  There is no longer a while loop anywhere in main!
	  - Explicitly delete objects before exiting. This makes certain that
	  the servers shut down properly.
	  - (stopServer) Removed deletion. All this function does now is set
	  the flag that indicates that the other threads should no longer run.
	  Also restores SIG_DFL upon successfully catching the singal.
	  - (tcpThreadFunc) Added a read lock for checking the keepRunning
	  variable. The thread will not have any collisions during processing.
	  When the thread should no longer do any processes, it blocks on the
	  synchronization barrier.

2004-01-16 11:42  scharver

	* FindQUANTA.cmake:
	  - No longer marks QUANTA_quanta_LIBRARY as advanced.

2004-01-14 16:09  scharver

	* QAvatar.h, QAvatarFactory.h, QAvatarListener.h, QAvatarManager.h:
	  - Added revision and date to doxygen class documentation.

2004-01-09 21:02  scharver

	* FindQUANTA.cmake:
	  - Added QUANTA_PLATFORM_DEPENDENT_LIBS, in particular this adds
	  pthread and ws2_32 on Windows.

2004-01-09 16:22  scharver

	* QAvatarManager.cxx:
	  - Added assert.h since Windows does not pick it up automatically.

2004-01-09 10:50  scharver

	* QAvatar.cxx, QAvatarManager.cxx, QAvatarManager.h,
	  avatarserver.cxx, demoavatar.cxx:
	  - Fixed formatting when including QUANTA headers.

2004-01-07 18:36  scharver

	* CMakeLists.txt:
	  - Added QAVATAR_SOURCE_DIR to the INCLUDE_DIRECTORIES.

2003-11-19 12:24  scharver

	* OIVAvatar.h, QAvatar.cxx, QAvatar.h, QAvatarFactory.h,
	  QAvatarListener.h, QAvatarManager.cxx, QAvatarManager.h,
	  avatarserver.cxx, demoavatar.cxx:
	  - Added copyright and header information.

2003-11-07 15:47  scharver

	* CMakeLists.txt, Doxyfile, FindInventor.cmake, FindQUANTA.cmake,
	  OIVAvatar.h, QAvatar.cxx, QAvatar.h, QAvatarFactory.h,
	  QAvatarListener.h, QAvatarManager.cxx, QAvatarManager.h,
	  avatarserver.cxx, demoavatar.cxx: Imported improved QUANTA avatar
	  library. Networked only, no graphics.

2003-11-07 15:47  scharver

	* CMakeLists.txt, Doxyfile, FindInventor.cmake, FindQUANTA.cmake,
	  OIVAvatar.h, QAvatar.cxx, QAvatar.h, QAvatarFactory.h,
	  QAvatarListener.h, QAvatarManager.cxx, QAvatarManager.h,
	  avatarserver.cxx, demoavatar.cxx: Initial revision

