Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef IWAREADER_H_INCLUDED
00011 #define IWAREADER_H_INCLUDED
00012
00013 #include <string>
00014
00015 #include "libetonyek_utils.h"
00016
00017 namespace libetonyek
00018 {
00019
00020 class IWAMessage;
00021
00022 namespace IWAReader
00023 {
00024
00025 struct UInt32
00026 {
00027 static uint32_t read(const RVNGInputStreamPtr_t &input, unsigned long length);
00028 };
00029
00030 struct UInt64
00031 {
00032 static uint64_t read(const RVNGInputStreamPtr_t &input, unsigned long length);
00033 };
00034
00035 struct SInt32
00036 {
00037 static int32_t read(const RVNGInputStreamPtr_t &input, unsigned long length);
00038 };
00039
00040 struct SInt64
00041 {
00042 static int64_t read(const RVNGInputStreamPtr_t &input, unsigned long length);
00043 };
00044
00045 struct Bool
00046 {
00047 static bool read(const RVNGInputStreamPtr_t &input, unsigned long length);
00048 };
00049
00050 struct Fixed64
00051 {
00052 static uint64_t read(const RVNGInputStreamPtr_t &input, unsigned long length);
00053 };
00054
00055 struct Double
00056 {
00057 static double read(const RVNGInputStreamPtr_t &input, unsigned long length);
00058 };
00059
00060 struct String
00061 {
00062 static std::string read(const RVNGInputStreamPtr_t &input, unsigned long length);
00063 };
00064
00065 struct Bytes
00066 {
00067 static const RVNGInputStreamPtr_t read(const RVNGInputStreamPtr_t &input, unsigned long length);
00068 };
00069
00070 struct Message
00071 {
00072 static IWAMessage read(const RVNGInputStreamPtr_t &input, unsigned long length);
00073 };
00074
00075 struct Fixed32
00076 {
00077 static uint32_t read(const RVNGInputStreamPtr_t &input, unsigned long length);
00078 };
00079
00080 struct Float
00081 {
00082 static float read(const RVNGInputStreamPtr_t &input, unsigned long length);
00083 };
00084
00085 }
00086
00087 }
00088
00089 #endif
00090
00091