1 /****************************************************************************
2 ** libebml : parse EBML files, see http://embl.sourceforge.net/
4 ** <file/class description>
6 ** Copyright (C) 2002-2004 Ingo Ralf Blum. All rights reserved.
8 ** This library is free software; you can redistribute it and/or
9 ** modify it under the terms of the GNU Lesser General Public
10 ** License as published by the Free Software Foundation; either
11 ** version 2.1 of the License, or (at your option) any later version.
13 ** This library is distributed in the hope that it will be useful,
14 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 ** Lesser General Public License for more details.
18 ** You should have received a copy of the GNU Lesser General Public
19 ** License along with this library; if not, write to the Free Software
20 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 ** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.
24 ** Contact license@matroska.org if any conditions of this licensing are
27 **********************************************************************/
31 \version \$Id: IOCallback.cpp 639 2004-07-09 20:59:14Z mosu $
32 \author Steve Lhomme <robux4 @ users.sf.net>
33 \author Moritz Bunkus <moritz @ bunkus.org>
36 #if !defined(__GNUC__) || (__GNUC__ > 2)
42 #include "ebml/IOCallback.h"
46 START_LIBEBML_NAMESPACE
48 void IOCallback::writeFully(const void*Buffer
,size_t Size
)
56 if(write(Buffer
,Size
) != Size
)
58 #if !defined(__GNUC__) || (__GNUC__ > 2)
60 Msg
<<"EOF in writeFully("<<Buffer
<<","<<Size
<<")";
61 throw runtime_error(Msg
.str());
68 void IOCallback::readFully(void*Buffer
,size_t Size
)
73 if(read(Buffer
,Size
) != Size
)
75 #if !defined(__GNUC__) || (__GNUC__ > 2)
77 Msg
<<"EOF in readFully("<<Buffer
<<","<<Size
<<")";
78 throw runtime_error(Msg
.str());