Index: /branches/proxy/src/lib/network/Makefile.am
===================================================================
--- /branches/proxy/src/lib/network/Makefile.am	(revision 9292)
+++ /branches/proxy/src/lib/network/Makefile.am	(revision 9293)
@@ -37,5 +37,6 @@
 		      synchronizeable_var/synchronizeable_float.cc \
 		      synchronizeable_var/synchronizeable_bool.cc \
-		      synchronizeable_var/synchronizeable_uint.cc
+		      synchronizeable_var/synchronizeable_uint.cc \
+		      synchronizeable_var/synchronizeable_ip.cc
 
 
@@ -76,5 +77,6 @@
 		 synchronizeable_var/synchronizeable_float.h \
 		 synchronizeable_var/synchronizeable_bool.h \
-		 synchronizeable_var/synchronizeable_uint.h
+		 synchronizeable_var/synchronizeable_uint.h \
+		 synchronizeable_var/synchronizeable_ip.h
 
 
Index: /branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_ip.cc
===================================================================
--- /branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_ip.cc	(revision 9293)
+++ /branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_ip.cc	(revision 9293)
@@ -0,0 +1,111 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Patrick Boenzli
+*/
+
+
+#include "synchronizeable_ip.h"
+#include "converter.h"
+
+
+/**
+ * standard constructor
+ * @todo this constructor is not jet implemented - do it
+*/
+SynchronizeableIP::SynchronizeableIP( IPaddress * ptrIn, IPaddress * ptrOut, std::string name, int permission, int priority) : SynchronizeableVar( ptrIn, ptrOut, name, 3*FLOATSIZE, permission, priority )
+{
+  this->vPtrIn = ptrIn;
+  this->vPtrOut = ptrOut;
+}
+
+
+/**
+ * standard deconstructor
+*/
+SynchronizeableIP::~SynchronizeableIP ()
+{
+}
+
+/**
+ * write var data to byte buffer
+ * @param buf pointer to write to
+ * @param maxLength writeToBuf will not write more than maxLength bytes
+ * @return number bytes written
+ */
+int SynchronizeableIP::writeToBuf( byte * buf, int maxLength )
+{
+  int n = 0;
+  int res;
+
+//   res = Converter::floatToByteArray( vPtrIn->x, buf + n, maxLength - n );
+//   assert( res > 0 );
+//   n += res;
+//
+//   res = Converter::floatToByteArray( vPtrIn->y, buf + n, maxLength - n );
+//   assert( res > 0 );
+//   n += res;
+//
+//   res = Converter::floatToByteArray( vPtrIn->z, buf + n, maxLength - n );
+//   assert( res > 0 );
+//   n += res;
+//
+//   assert( 3*FLOATSIZE == n );
+
+  return n;
+}
+
+/**
+ * read var data from byte buffer
+ * @param buf pointer to read from
+ * @param maxLength readFromBuf will not read more than maxLength bytes
+ * @return number bytes read
+ */
+int SynchronizeableIP::readFromBuf( byte * buf, int maxLength )
+{
+  assert( maxLength >= 3*FLOATSIZE );
+
+  float x,y,z;
+
+  int res;
+  int n = 0;
+
+//   Vector oldVec = *vPtrOut;
+//
+//   res = Converter::byteArrayToFloat( buf + n, &x );
+//   assert( res > 0 );
+//   n += res;
+//
+//   res = Converter::byteArrayToFloat( buf + n, &y );
+//   assert( res > 0 );
+//   n += res;
+//
+//   res = Converter::byteArrayToFloat( buf + n, &z );
+//   assert( res > 0 );
+//   n += res;
+//
+//   *vPtrOut = Vector( x, y, z );
+//
+//   setHasChanged( !(*vPtrOut == oldVec) );
+//
+//   assert( n == 3*FLOATSIZE );
+  return n;
+}
+
+
+/**
+ * print out variable value
+ */
+void SynchronizeableIP::SynchronizeableIP::debug( )
+{
+//   printf( "SYNCHRONIZEABLE_VAR: %s IN: (%f, %f, %f) OUT: (%f %f %f)\n", name.c_str(), vPtrIn->x, vPtrIn->y, vPtrIn->z, vPtrOut->x, vPtrOut->y, vPtrOut->z );
+}
+
Index: /branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_ip.h
===================================================================
--- /branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_ip.h	(revision 9293)
+++ /branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_ip.h	(revision 9293)
@@ -0,0 +1,39 @@
+/*!
+ * @file synchronizeable_ip.h
+ * @brief Definition of SynchronizeableIP
+*/
+
+#include "synchronizeable_var/synchronizeable_var.h"
+
+#ifndef _SYNCHRONIZEABLE_IP_H
+#define _SYNCHRONIZEABLE_IP_H
+
+#include "vector.h"
+
+#include "netdefs.h"
+
+class SynchronizeableIP : public SynchronizeableVar {
+
+  public:
+    SynchronizeableIP( IPaddress *ptrIn, IPaddress * ptrOut, std::string name, int permission = PERMISSION_MASTER_SERVER, int priority = 0 );
+    virtual ~SynchronizeableIP();
+
+    virtual int writeToBuf( byte * buf, int maxLength );
+    virtual int readFromBuf( byte * buf, int maxLength );
+
+    /**
+     * check if writeToBuf will return the same size every time
+     * @return true if same size every time
+     */
+    virtual bool hasStaticSize(){ return true; }
+
+    virtual void debug();
+
+
+  private:
+    IPaddress * vPtrIn;       //!< pointer to data (read)
+    IPaddress * vPtrOut;      //!< pointer to data (write)
+
+};
+
+#endif /* _PROTO_CLASS_H */
