#ifndef _DEVICEMEMORY_H__ #define _DEVICEMEMORY_H__ /* * Value * | * +---DwordValue * | * DWORD get_value() * +---WordValue * | * WORD get_value() * +---ByteValue * | * BYTE get_value() * +---StringValue * | * std::string get_value() * +---HandleValue [ handle ] * | * DWORD get_value() * | * getHData * | * getObject * | * getType * +---Pointer * +---PhysPointer [ offset ] * +---ProcPointer [ process, offset ] * * Memory * | * +---LiveDeviceMemory * +---DumpDeviceMemory * +---LiveWin32Memory * | * * read_dword * * read_byte * * read_word * * read_string * * read_handle * * read_offset * * * * * * */ class Value { }; class DwordValue : public Value { }; class WordValue : public Value { }; class ByteValue : public Value { }; class HandleValue : public Value { }; class StringValue : public Value { }; class Pointer : public Value { public: Pointer(unsigned long val); }; Pointer& operator+(const Pointer& p, int ofs); class ProcPointer : public Pointer { }; class PhysPointer : public Pointer { }; class Memory { public: unsigned long ReadDword(Pointer ptr); }; class LiveDeviceMemory : public Memory { }; class DumpDeviceMemory : public Memory { }; class LiveWin32Memory : public Memory { }; #endif