2 * \file storage_stream.h
3 * \brief CStorageStream
4 * \date 2012-08-16 22:06GMT
5 * \author Jan Boon (Kaetemi)
10 * Copyright (C) 2012 by authors
12 * This file is part of RYZOM CORE PIPELINE.
13 * RYZOM CORE PIPELINE is free software: you can redistribute it
14 * and/or modify it under the terms of the GNU Affero General Public
15 * License as published by the Free Software Foundation, either
16 * version 3 of the License, or (at your option) any later version.
18 * RYZOM CORE PIPELINE is distributed in the hope that it will be
19 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
20 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Affero General Public License for more details.
23 * You should have received a copy of the GNU Affero General Public
24 * License along with RYZOM CORE PIPELINE. If not, see
25 * <http://www.gnu.org/licenses/>.
28 #ifndef PIPELINE_STORAGE_STREAM_H
29 #define PIPELINE_STORAGE_STREAM_H
30 #include <nel/misc/types_nl.h>
36 #include <gsf/gsf-infile.h>
37 #include <gsf/gsf-outfile.h>
40 #include <nel/misc/stream.h>
48 * \brief CStorageStream
49 * \date 2012-08-16 22:06GMT
50 * \author Jan Boon (Kaetemi)
53 class CStorageStream
: public NLMISC::IStream
56 CStorageStream(GsfInput
*input
);
57 CStorageStream(GsfOutput
*output
);
58 virtual ~CStorageStream();
60 virtual bool seek(sint32 offset
, TSeekOrigin origin
) const;
61 virtual sint32
getPos() const;
62 // virtual std::string getStreamName() const; // char const * gsf_input_name (GsfInput *input);
63 virtual void serialBuffer(uint8
*buf
, uint len
);
64 virtual void serialBit(bool &bit
);
73 /* there exist compressed max files, so maybe we will need this at some point
74 GsfInput * gsf_input_uncompress (GsfInput *src);
77 }; /* class CStorageStream */
80 } /* namespace PIPELINE */
82 #endif /* #ifndef PIPELINE_STORAGE_STREAM_H */