src/proto2/NetworkPacket.hh
branchno-netsession
changeset 36 785d220fc6b7
parent 33 e53f09b378f4
child 40 4b2867fb5c12
--- a/src/proto2/NetworkPacket.hh	Tue Nov 18 22:58:50 2008 +0000
+++ b/src/proto2/NetworkPacket.hh	Thu Nov 20 19:25:56 2008 +0000
@@ -2,6 +2,13 @@
 #define NETWORK_PACKET_HH
 
 #include "NetworkConfig.hh"
+#include "Vector.hh"
+#include "Error.hh"
+
+class NetworkPacketError : public Error {
+    public:
+        NetworkPacketError (const std::string &message) : Error(message) { }
+};
 
 class NetworkPacket {
     private:
@@ -25,13 +32,17 @@
         void set_data_size (size_t size) { offset = 0; data_size = size; }
        
         // type-reads, handle network-endianlness
-        uint32_t read_uint32 (void) const;
-        uint16_t read_uint16 (void) const;
-        uint8_t read_uint8 (void) const;
+        uint32_t read_uint32 (void);
+        uint16_t read_uint16 (void);
+        uint8_t read_uint8 (void);
 
-        int32_t read_int32 (void) const;
-        int16_t read_int16 (void) const;
-        int8_t read_int8 (void) const;
+        int32_t read_int32 (void);
+        int16_t read_int16 (void);
+        int8_t read_int8 (void);
+        
+        float read_float32 (void);
+
+        Vector read_vector (void);
 
         void write_uint32 (uint32_t val);
         void write_uint16 (uint16_t val);
@@ -40,7 +51,10 @@
         void write_int32 (int32_t val);
         void write_int16 (int16_t val);
         void write_int8 (int8_t val);
+        
+        void write_float32 (float val);
 
+        void write_vector (const Vector &vec);
         void write_packet (const NetworkPacket &pkt);
 };