Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ImHerePacket.h

Go to the documentation of this file.
00001 #ifndef __IMHEREPACKET_H
00002 #define __IMHEREPACKET_H
00003 
00004 #include "NpPacket.h"
00005  
00006 class ImHerePacket : public NpPacket {
00007 public:
00008         ImHerePacket();
00009     virtual ~ImHerePacket() {}
00010         ImHerePacket(unsigned char* rawData);
00011         
00012     unsigned int getId();
00013     void setId(unsigned int id);
00014 
00015     unsigned short getVersionNumber();
00016         void setVersionNumber(unsigned short versionNumber);
00017 
00018     bool isNatted();
00019     void setIsNatted(bool);
00020 
00021     bool isFirewalled();
00022     void setIsFirewalled(bool);
00023 
00024     bool isTrusted();
00025     void setIsTrusted(bool);
00026 
00027     unsigned short getPort();
00028         void setPort(unsigned short port);
00029     
00030     IpAddress getIp();
00031         void setIp(IpAddress ip);
00032         
00033         virtual unsigned char* getRawData();
00034     virtual void toStream(std::ostream&);
00035 
00036 private:
00037     OS_SPEC_ENUM Offsets 
00038     {
00039         IdOffset            = NP_HEADER_LENGTH + 0,
00040         VersionNumberOffset = NP_HEADER_LENGTH + 4,
00041         CapabilityOffset    = NP_HEADER_LENGTH + 4,
00042         PortOffset          = NP_HEADER_LENGTH + 5,
00043         IpOffset            = NP_HEADER_LENGTH + 7
00044     };
00045 
00046     OS_SPEC_ENUM Capabilities
00047     {
00048         NatBit       = 0x08,
00049         FirewallBit  = 0x04,
00050         TrustedBit   = 0x02,
00051         IpVersionBit = 0x01
00052     };
00053 
00055         unsigned int m_id;
00056 
00058         unsigned short m_versionNumber;
00059 
00061     bool m_isFirewalled;
00062 
00064     bool m_isTrusted;
00065 
00067     bool m_isNatted;
00068 
00070         unsigned short m_port;
00071 
00073         IpAddress m_ip;
00074 
00075 }; // class ImHerePacket
00076 
00077 #endif
00078 

Generated at Thu Jul 11 13:31:50 2002 for Peekabooty by doxygen1.2.9 written by Dimitri van Heesch, © 1997-2001