From 44c762cb8f968f11cf824c1926937633eaa4161e Mon Sep 17 00:00:00 2001 From: chatty Date: Tue, 10 May 1994 09:52:56 +0000 Subject: Initial revision --- comm/IOS.cc | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ comm/IOS.h | 58 ++++++++++++++++++++++++++++ 2 files changed, 184 insertions(+) create mode 100644 comm/IOS.cc create mode 100644 comm/IOS.h (limited to 'comm') diff --git a/comm/IOS.cc b/comm/IOS.cc new file mode 100644 index 0000000..8ee9879 --- /dev/null +++ b/comm/IOS.cc @@ -0,0 +1,126 @@ +/* + * The Unix Channel + * + * by Michel Beaudouin-Lafon + * + * Copyright 1990-1994 + * Laboratoire de Recherche en Informatique (LRI) + * + * Basic I/O + * + * $Id$ + * $CurLog$ + */ + +#include "IOS.h" +#include "error.h" +#include "ccu/String.h" + +/*?class UchIOS +The class \typ{UchIOS} (for input/output stream) is a +base class for all objects of \uch\ that can be written to or read +from, such as buffers or sockets. It declares a number of virtual +functions for reading and writing characters, integers, buffers and +strings. It also provides a number of shifting operators that can be +used as shorthand for reading and writing. +?*/ + +/*? +Build a input/output stream. +?*/ +UchIOS :: UchIOS () +{ +} + + +/*?nodoc?*/ +UchIOS :: ~UchIOS () +{ +} + +#ifdef DOC +/*?nextdoc?*/ +void +UchIOS :: WriteLong (lword l) +{ +} + +/*?nextdoc?*/ +void +UchIOS :: WriteShort (sword s) +{ +} + +/*?nextdoc?*/ +void +UchIOS :: WriteByte (byte b) +{ +} + +/*?nextdoc?*/ +void +UchIOS :: WriteChar (char c) +{ +} + +/*?nextdoc?*/ +void +UchIOS :: WriteString (const char* s) +{ +} + +/*? +These virtual functions are used to write on a stream. +?*/ +void +UchIOS :: WriteBuf (const byte* b, int n) +{ +} + + + +/*?nextdoc?*/ +void +UchIOS :: ReadLong (lword& l) +{ +} + +/*?nextdoc?*/ +void +UchIOS :: ReadShort (sword& s) +{ +} + +/*?nextdoc?*/ +void +UchIOS :: ReadByte (byte& b) +{ +} + +/*?nextdoc?*/ +void +UchIOS :: ReadChar (char& c) +{ +} + +/*?nextdoc?*/ +void +UchIOS :: ReadString (char* s) +{ +} + +/*?nextdoc?*/ +void +UchIOS :: ReadString (CcuString& s) +{ +} + +/*? +These virtual functions are used to write on a stream. +?*/ +void +UchIOS :: ReadBuf (byte* b, int n) +{ +} + +#endif /* DOC */ diff --git a/comm/IOS.h b/comm/IOS.h new file mode 100644 index 0000000..a0cceb9 --- /dev/null +++ b/comm/IOS.h @@ -0,0 +1,58 @@ +/* + * The Unix Channel + * + * by Michel Beaudouin-Lafon + * + * Copyright 1990-1994 + * Laboratoire de Recherche en Informatique (LRI) + * + * Basic I/O + * + * $Id$ + * $CurLog$ + */ + +#ifndef UchIO_H_ +#define UchIO_H_ + +#include "cplus_bugs.h" +#include "global.h" + +class CcuString; + +class UchIOS { +public: + UchIOS (); +virtual ~UchIOS (); + +virtual void WriteLong (lword) = 0; +virtual void WriteShort (sword) = 0; +virtual void WriteByte (byte) = 0; +virtual void WriteChar (char) = 0; +virtual void WriteString (const char*) = 0; +virtual void WriteBuf (const byte*, int) = 0; + +virtual void ReadLong (lword&) = 0; +virtual void ReadShort (sword&) = 0; +virtual void ReadByte (byte&) = 0; +virtual void ReadChar (char&) = 0; +virtual void ReadString (char*) = 0; +virtual void ReadString (CcuString&) = 0; +virtual void ReadBuf (byte*, int) = 0; + +inline UchIOS& operator << (lword l) { WriteLong (l); return *this; } +inline UchIOS& operator << (sword s) { WriteShort (s); return *this; } +inline UchIOS& operator << (byte b) { WriteByte (b); return *this; } +inline UchIOS& operator << (char c) { WriteChar (c); return *this; } +inline UchIOS& operator << (const char* s) { WriteString (s); return *this; } + +inline UchIOS& operator >> (lword& l) { ReadLong (l); return *this; } +inline UchIOS& operator >> (sword& s) { ReadShort (s); return *this; } +inline UchIOS& operator >> (byte& b) { ReadByte (b); return *this; } +inline UchIOS& operator >> (char& c) { ReadChar (c); return *this; } +inline UchIOS& operator >> (char* s) { ReadString (s); return *this; } +inline UchIOS& operator >> (CcuString& s) { ReadString (s); return *this; } +}; + +#endif /* UchIO_H_ */ + -- cgit v1.1