00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef _MEMORYIF_H
00014 #define _MEMORYIF_H
00015
00016 template < typename addrT = unsigned long,
00017 typename cookieT = void*,
00018 typename dataT = unsigned long
00019 >
00020 class MemoryIF
00021 {
00022 public:
00023 typedef addrT addr_t;
00024 typedef cookieT cookie_t;
00025 typedef dataT data_t;
00026 virtual ~MemoryIF() {;}
00027
00028 public:
00029 virtual bool read( addr_t, cookie_t ) = 0;
00030 virtual bool write( addr_t, cookie_t ) = 0;
00031 virtual bool read( addr_t, data_t*, cookie_t ) = 0;
00032 virtual bool write( addr_t, data_t*, cookie_t ) = 0;
00033 virtual bool popCookie( cookie_t& ) = 0;
00034 };
00035
00036 #endif