Main Page   Class Hierarchy   Compound List   File List   Compound Members  

CAVERNnet_extendedTcp_c.hxx

00001 /******************************************************************
00002  * CAVERNsoft
00003  * Copyright (C) 1994-2000 Electronic Visualization Laboratory,
00004  * all rights reserved
00005  * By Jason Leigh, Yong-joo Cho, Naveen Krishnaprasad, Chris Scharver,
00006  * Stuart Bailey, Atul Nayak, Shalini Venkataraman
00007  * University of Illinois at Chicago
00008  * 
00009  * This publication and its text and code may not be copied for commercial 
00010  * use without the express written permission of the University of Illinois
00011  * at Chicago.
00012  * The contributors disclaim any representation of warranty: use this
00013  * code at your own risk.
00014  * Direct questions, comments etc to cavern@evl.uic.edu
00015  ******************************************************************/
00016 
00017 #ifndef _CAVERNPLUS_ETCP_C
00018 #define _CAVERNPLUS_ETCP_C
00019 
00020 #include "CAVERNnet_datapack_c.hxx"
00021 #include "CAVERNnet_tcp_c.hxx"
00022 
00037 class CAVERNnet_extendedTcpClient_c : public CAVERNnet_tcpClient_c 
00038 {
00039 public:
00040         CAVERNnet_extendedTcpClient_c();
00041         virtual ~CAVERNnet_extendedTcpClient_c();
00042 
00049         int readChar(char& value, int blockingType);
00050 
00057         int writeChar(char value, int blockingType);
00058 
00065         int readInt(int& value, int blockingType);
00066 
00074         int readIntArray(int* intArray, int size, int blockingType);
00075 
00082         int writeInt(int value, int blockingType);
00083 
00091         int writeIntArray(int* intArray, int size, int blockingType);
00092 
00099         int readInt32(int32& value, int blockingType);
00100 
00108         int readInt32Array(int32* int32Array, int size, int blockingType);
00109 
00116         int writeInt32(int32 value, int blockingType);
00117 
00125         int writeInt32Array(int32* int32Array, int size, int blockingType);
00126 
00133         int readInt64(int64& value, int blockingType);
00134 
00142         int readInt64Array(int64* int64Array, int size, int blockingType);
00143 
00150         int writeInt64(int64 value, int blockingType);
00151 
00159         int writeInt64Array(int64* int64Array, int size, int blockingType);
00160 
00167         int readLong(long& value, int blockingType);
00168 
00176         int readLongArray(long* longArray, int size, int blockingType);
00177 
00184         int writeLong(long value, int blockingType);
00185 
00193         int writeLongArray(long* longArray, int size, int blockingType);
00194 
00201         int readFloat(float& value, int blockingType);
00202 
00210         int readFloatArray(float* floatArray, int size, int blockingType);
00211 
00218         int writeFloat(float value, int blockingType);
00219 
00227         int writeFloatArray(float* floatArray, int size, int blockingType);
00228 
00235         int readDouble(double& value, int blockingType);
00236 
00244         int readDoubleArray(double* doubleArray, int size, int blockingType);
00245 
00252         int writeDouble(double value, int blockingType);
00253 
00261         int writeDoubleArray(double* doubleArray, int size, int blockingType);
00262 
00263 private:
00264         int int_size;
00265         int char_size;
00266         int int32_size;
00267         int int64_size; 
00268         int long_size;
00269         int float_size;
00270         int double_size;
00271 
00272         char* int_buffer;
00273         char* int32_buffer;
00274         char* int64_buffer;
00275         char* long_buffer;
00276         char* float_buffer;
00277         char* double_buffer;
00278 };
00279 
00282 class CAVERNnet_extendedTcpServer_c : public CAVERNnet_tcpServer_c
00283 {
00284 public:
00288         CAVERNnet_extendedTcpClient_c *checkForNewConnections();
00289 };
00290 
00291 #endif
00292 

Generated at Mon Jul 2 14:24:42 2001 for CAVERNsoft by doxygen1.2.8-20010617 written by Dimitri van Heesch, © 1997-2001