00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00026 #ifndef __PDF_COMMON_RESOURCE_HEADER_INCLUDED__
00027 #define __PDF_COMMON_RESOURCE_HEADER_INCLUDED__
00028
00029 #ifndef __PDF_CORE_OBJECT_HEADER_INCLUDED__
00030 #include "core/Object.hh"
00031 #endif
00032
00033 #include <iosfwd>
00034
00035 namespace pdf {
00036
00037 namespace core
00038 {
00039 class CFile ;
00040 class CObjRef ;
00041 class CDictionary ;
00042 }
00043
00047 namespace common {
00048
00055 class CResource
00056 {
00057 private :
00058 core::CName m_name ;
00059 core::CName m_type ;
00060 core::CName m_sub_type ;
00061
00062 protected :
00063 CResource( const core::CName& type, const core::CName& sub_type ) ;
00064
00066 const core::CName& Type( ) const { return m_type ; }
00067
00069 const core::CName& SubType( ) const { return m_sub_type ; }
00070
00071 public :
00072 virtual ~CResource( ) ;
00073
00075 const core::CName& Name( ) const { return m_name ; }
00076
00078 void SetName( const core::CName& name ) ;
00079
00080 void PrintType( core::CDictionary& dict ) const ;
00081
00083 virtual const core::CObjRef Write( core::CFile& file ) const = 0 ;
00084 } ;
00085
00086 } }
00087
00088 #endif