stream.cpp

00001 /*
00002  * libopenraw - iostream.h
00003  *
00004  * Copyright (C) 2006-2007 Hubert Figuière
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
00019  */
00020 
00021 
00022 #include "stream.h"
00023 #include "exception.h"
00024 
00025 namespace OpenRaw {
00026     namespace IO {
00027         
00028         Stream::Stream(const char *filename)
00029             : m_fileName(filename),
00030                 m_error(OR_ERROR_NONE)
00031         {
00032         }
00033 
00034         Stream::~Stream()
00035         {
00036         }
00037 
00038         uint8_t Stream::readByte() throw(Internals::IOException)
00039         {
00040             uint8_t theByte;
00041             int r = read(&theByte, 1);
00042             if (r != 1) {
00043                 // TODO add the error code
00044                 throw Internals::IOException("Stream::readByte() failed.");
00045             }
00046             return theByte;
00047         }
00048     }
00049 }
00050 
00051 

Generated on Sun Mar 23 09:30:49 2008 for libopenraw by  doxygen 1.5.5