Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

Resource.hh

Go to the documentation of this file.
00001 /*
00002     libpdf++: a C++ Free library to generate PDF file
00003     Copyright (C) 2002 Nestal Wan
00004 
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU Lesser General Public
00007     License as published by the Free Software Foundation; either
00008     version 2.1 of the License, or (at your option) any later version.
00009 
00010     This library is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013     Lesser General Public License for more details.
00014 
00015     You should have received a copy of the GNU Lesser General Public
00016     License along with this library; if not, write to the Free Software
00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
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 } } // end of namespace
00087 
00088 #endif

Generated on Sun Feb 2 09:16:05 2003 for libpdf++ by doxygen1.2.16