Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GNASH_CODESTREAM_H
00020 #define GNASH_CODESTREAM_H
00021
00022 #include <string>
00023 #include <boost/utility.hpp>
00024 #include <boost/cstdint.hpp>
00025 #include <istream>
00026 #include <sstream>
00027
00028 namespace gnash {
00029
00032 class CodeStreamException { };
00033
00039 class CodeStream : public std::istream, private boost::noncopyable
00040 {
00041 public:
00042 CodeStream(std::string data): std::istream(new std::stringbuf(data)){
00043
00044 }
00045
00047 boost::uint32_t read_V32();
00048
00050 boost::uint8_t read_as3op();
00051
00053 void seekBy(int change);
00054
00056 void seekTo(unsigned int set);
00057
00059 boost::int32_t read_S24();
00060
00062 int8_t read_s8();
00063
00065 boost::uint8_t read_u8();
00066
00069 void skip_V32();
00070
00071 };
00072
00073 }
00074 #endif