8 #include "dl-refcounted.hh"
12 class AbstractLoader : public RefCounted {
14 virtual int get_uint8 () = 0;
15 virtual int get_uint16 ();
16 virtual int get_uint24 ();
17 virtual int get_uint32 ();
19 virtual int get_int8 () = 0;
20 virtual int get_int16 ();
21 virtual int get_int24 ();
22 virtual int get_int32 ();
24 virtual string get_string8 ();
25 virtual string get_string16 ();
26 virtual string get_string24 ();
27 virtual string get_string32 ();
29 virtual void skip_string8 ();
30 virtual void skip_string16 ();
31 virtual void skip_string24 ();
32 virtual void skip_string32 ();
34 virtual void goto_from_start (int i) = 0;
35 virtual void goto_from_end (int i) = 0;
36 virtual void goto_from_current (int i) = 0;
38 virtual void skip_n (int n);
39 virtual string get_n (int n);
40 virtual void get_n (int n, unsigned char *v);
42 virtual ~AbstractLoader() {};
45 class FileLoader : public AbstractLoader {
49 FileLoader (const string &name);
50 virtual int get_int8 ();
51 virtual int get_uint8 ();
52 virtual void goto_from_start (int i);
53 virtual void goto_from_end (int i);
54 virtual void goto_from_current (int i);
56 virtual ~FileLoader ();
59 #endif // DL_LOADER_HH