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

VehicleComm.h

Go to the documentation of this file.
00001 //////////////////////////////////////////////////////////////////////////////
00002 /*! \file VehicleComm.h
00003  *  \brief Declares the VehicleComm class, which manages UDP communication between vehicles.
00004  *  \author     $Author: cakinli $
00005  *  \version $Revision: 1.2 $
00006  *  \date    $Date: 2005/02/25 18:40:52 $
00007 *////////////////////////////////////////////////////////////////////////////
00008 
00009 #ifndef __VEHICLE_COMM__
00010 #define __VEHICLE_COMM__
00011 
00012 #include "ace/Synch.h"
00013 #include "ace/INET_Addr.h"
00014 
00015 #include <Utils/SystemDefs.h>
00016 #include <Comm/VehicleNetConfig.h>
00017 
00018 class ACE_SOCK_Dgram_Mcast;
00019 
00020 
00021 class VehicleComm
00022 {
00023 public:
00024         VehicleComm();
00025         explicit VehicleComm(VehicleNetConfig *myConfig);
00026 
00027         virtual ~VehicleComm();
00028 
00029         int Connect(VehicleNetConfig *myConfig);
00030 
00031         int SendMessage(SystemDefs::VehicleID_t destID, void *pMessage, unsigned int msgLength);
00032         int BroadcastMessage(void *pMessage, unsigned int msgLength);
00033 
00034         int GetMessage(void *pMessage, unsigned int maxMsgLength);
00035         int GetMessage(void *pMessage, unsigned int maxMsgLength, SystemDefs::VehicleID_t &srcID);
00036 
00037 protected:
00038         int GetMessage(void *pMessage, unsigned int maxMsgLength, ACE_INET_Addr &whoFrom);
00039 
00040         ACE_SOCK_Dgram_Mcast *  m_pMySocket;
00041         VehicleNetConfig *              m_pMyConfig;
00042 };
00043 
00044 #endif
00045 

Generated on Wed Sep 5 12:54:27 2007 for DSACSS Operational Code by  doxygen 1.3.9.1