00001 // 00002 // CascadeMemoryStream.h - header file for class CascadeMemoryStream 00003 // 00004 // Copyright (c) 2002, Roku, LLC. All rights reserved. 00005 // 00008 00009 #ifndef _ROKU_INCLUDE_CASCADE_UTIL_CASCADEMEMORYSTREAM_H 00010 #define _ROKU_INCLUDE_CASCADE_UTIL_CASCADEMEMORYSTREAM_H 00011 00012 #include <cascade/util/CascadeStream.h> 00013 00026 class CascadeMemoryStream : public CascadeStream 00027 { 00028 public: 00029 CascadeMemoryStream(); 00033 CascadeMemoryStream(void * pMem, u32 nBytes); 00040 virtual ~CascadeMemoryStream(); 00044 public: 00045 virtual bool AttachMemory(void * pMem, u32 nBytes); 00055 public: // overrides from class CascadeStream 00056 virtual u64 GetSize(); 00057 virtual u64 GetPosition(); 00058 virtual bool SeekToPosition(u64 nPosition); 00059 virtual u32 ReadBytes(u32 nBytes, void * pBuff); 00060 private: 00061 void * m_pMemoryStreamInternal; 00062 }; 00063 00064 #endif // #ifndef _ROKU_INCLUDE_CASCADE_UTIL_CASCADEMEMORYSTREAM_H 00065 00067 // LOG 00069 // 06-Feb-04 dwoodward created