Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

Core::ByteStreamEncoder Class Reference

#include <ByteStreamEncoder.h>

Inheritance diagram for Core::ByteStreamEncoder:

Inheritance graph
[legend]
Collaboration diagram for Core::ByteStreamEncoder:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ByteStreamEncoder (CharacterEncoder *encoder)
virtual StringclassName (void) const
 Answer receiver class name.
virtual CharacterdecodeFrom (Stream *stream)
virtual void encodeTo (Stream *stream, Character *character)

Protected Attributes

CharacterEncoder_encoder

Constructor & Destructor Documentation

Core::ByteStreamEncoder::ByteStreamEncoder CharacterEncoder encoder  ) 
 

Definition at line 33 of file ByteStreamEncoder.cc.

References _encoder.

00034 {
00035     _encoder = encoder;
00036 }


Member Function Documentation

String * Core::ByteStreamEncoder::className void   )  const [virtual]
 

Answer receiver class name.

Because there isn't any standard way to obtain class name this method comes to place.

Every class should rewrite this method but many didn't (yet).

Reimplemented from Core::StreamEncoder.

Definition at line 39 of file ByteStreamEncoder.cc.

00040 {
00041     return new String("ByteStreamEncoder");
00042 }

Character * Core::ByteStreamEncoder::decodeFrom Stream stream  )  [virtual]
 

Reimplemented from Core::StreamEncoder.

Definition at line 45 of file ByteStreamEncoder.cc.

References _encoder, Core::CharacterEncoder::decode(), Core::Object::error(), Core::Stream::next(), and nil.

00046 {
00047     Object *object = stream->next();
00048     if (object == nil) {
00049         /* There are no more items on the stream */
00050         return nil;
00051     }
00052 
00053     Integer *item = dynamic_cast<Integer *>(object);
00054     if (item == nil) {
00055         /* Read object is not an Integer instance => the stream is not binary */
00056         error(new String("Incompatible stream."), new String(__PRETTY_FUNCTION__), stream);
00057     }
00058     return _encoder->decode(item);
00059 }

void Core::ByteStreamEncoder::encodeTo Stream stream,
Character character
[virtual]
 

Reimplemented from Core::StreamEncoder.

Definition at line 61 of file ByteStreamEncoder.cc.

References _encoder, and Core::CharacterEncoder::encode().

00062 {
00063     stream->nextPut(_encoder->encode(character));
00064 }


Member Data Documentation

CharacterEncoder* Core::ByteStreamEncoder::_encoder [protected]
 

Definition at line 39 of file ByteStreamEncoder.h.

Referenced by ByteStreamEncoder(), decodeFrom(), and encodeTo().


The documentation for this class was generated from the following files:
Generated on Mon Nov 27 09:51:10 2006 for Smalltalk like C++ Class Library by  doxygen 1.4.2