Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Tools/Streams/OutStreams.cpp

Go to the documentation of this file.
00001 /**
00002 * @file OutStreams.cpp
00003 *
00004 * Implementation of out stream classes.
00005 *
00006 * @author Thomas Röfer
00007 * @author Martin Lötzsch
00008 */
00009 
00010 #include "OutStreams.h"
00011 
00012 void OutText::writeString(const char* value, PhysicalOutStream& stream)
00013 {
00014   char c=' ';
00015   stream.writeToStream(&c,1);
00016   for(; *value; ++value)
00017   {
00018     if(*value == ' ')
00019       sprintf(buf,"\\ ");
00020     else if(*value == '\n')
00021       sprintf(buf,"\\\n");
00022     else if(*value == '\r')
00023       sprintf(buf,"\\\r");
00024     else if(*value == '\t')
00025       sprintf(buf,"\\\t");
00026     else if(*value == '\\')
00027       sprintf(buf,"\\\\");
00028     else
00029       sprintf(buf,"%c",*value);
00030 
00031     stream.writeToStream(buf,(int)strlen(buf));
00032   }
00033 }
00034 
00035 void OutText::writeData(const void *p,int size, PhysicalOutStream& stream)
00036 {
00037   for(int i = 0; i < size; ++i)
00038     writeChar(*((const char*&) p)++, stream);
00039 }
00040 
00041 void OutTextRaw::writeString(const char* value, PhysicalOutStream& stream)
00042 {
00043   stream.writeToStream(value,(int)strlen(value));
00044 }
00045 
00046 void OutTextRaw::writeData(const void *p,int size, PhysicalOutStream& stream)
00047 {
00048   for(int i = 0; i < size; ++i)
00049     writeChar(*((const char*&) p)++, stream);
00050 }
00051 
00052 /*
00053 * Change Log:
00054 *
00055 * $Log: OutStreams.cpp,v $
00056 * Revision 1.1.1.1  2004/05/22 17:37:38  cvsadm
00057 * created new repository GT2004_WM
00058 *
00059 * Revision 1.3  2004/01/28 20:52:33  loetzsch
00060 * Added the OutTextRaw stream writer.
00061 *
00062 * Revision 1.2  2003/11/30 01:53:21  loetzsch
00063 * prepared RobotControl port to Visual C++ .Net
00064 *
00065 * Revision 1.1  2003/10/07 10:13:24  cvsadm
00066 * Created GT2004 (M.J.)
00067 *
00068 * Revision 1.1.1.1  2003/07/02 09:40:29  cvsadm
00069 * created new repository for the competitions in Padova from the 
00070 * tamara CVS (Tuesday 2:00 pm)
00071 *
00072 * removed unused solutions
00073 *
00074 * Revision 1.1  2002/09/10 15:53:59  cvsadm
00075 * Created new project GT2003 (M.L.)
00076 * - Cleaned up the /Src/DataTypes directory
00077 * - Removed challenge related source code
00078 * - Removed processing of incoming audio data
00079 * - Renamed AcousticMessage to SoundRequest
00080 *
00081 * Revision 1.2  2002/08/22 14:41:04  risler
00082 * added some doxygen comments
00083 *
00084 * Revision 1.1  2002/07/23 13:46:43  loetzsch
00085 * - new streaming classes
00086 *
00087 */

Generated on Thu Sep 23 19:57:41 2004 for GT2004 by doxygen 1.3.6