00001 #ifndef ACCESS_H 00002 #define ACCESS_H 00003 00004 #include "dwf/XAML/OpcResourceMaterializer.h" 00005 #include "dwf/XAML/OpcResourceSerializer.h" 00006 #include "dwf/package/Resource.h" 00007 #include "dwf/package/utility/ResourceContainer.h" 00008 00009 #ifndef DWFIO_SUPPORT_ONLY_LEGACY_VERSIONS 00010 class Access : public WT_OpcResourceMaterializer, public WT_OpcResourceSerializer 00011 { 00012 public: 00013 Access(DWFToolkit::DWFResource & rRes, DWFToolkit::DWFResourceContainer & rCont) 00014 : _rResources(rCont), _rFixedPage(rRes) {} 00015 virtual ~Access() {} 00016 00017 // WT_OpcResourceMaterializer 00018 WT_Result getPartInputStream(const DWFCore::DWFString & rzPath, DWFCore::DWFInputStream ** ppStream); 00019 00020 // WT_OpcResourceSerializer 00021 WT_Result getPartOutputStream(const DWFCore::DWFString & rzMimeType, DWFCore::DWFString & rzPath, DWFCore::DWFOutputStream ** ppStream); 00022 00023 private: 00024 // The default initial buffer size for buffer output streams wrapping file output streams. 00025 static const size_t _DEF_BUFFER_SIZE; 00026 00027 DWFToolkit::DWFResourceContainer & _rResources; 00028 DWFToolkit::DWFResource & _rFixedPage; 00029 00030 Access & operator =(Access&) {}; 00031 }; 00032 #endif 00033 00034 #endif //ACCESS_H