ContentElement.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 2005-2006 by Autodesk, Inc.
00003 //
00004 //  By using this code, you are agreeing to the terms and conditions of
00005 //  the License Agreement included in the documentation for this code.
00006 //
00007 //  AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE CORRECTNESS
00008 //  OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE IT. AUTODESK
00009 //  PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY DISCLAIMS ANY
00010 //  LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL DAMAGES FOR ERRORS,
00011 //  OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00012 //
00013 //  Use, duplication, or disclosure by the U.S. Government is subject to
00014 //  restrictions set forth in FAR 52.227-19 (Commercial Computer Software
00015 //  Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) (Rights in Technical
00016 //  Data and Computer Software), as applicable.
00017 //
00018 //  $Header: //DWF/Development/Components/Internal/DWF Toolkit/v7.6/develop/global/src/dwf/package/ContentElement.h#2 $
00019 //  $DateTime: 2008/06/18 18:08:14 $
00020 //  $Author: gaoje $
00021 //  $Change: 101166 $
00022 //  $Revision: #2 $
00023 //
00024 
00025 
00026 #ifndef _DWFTK_CONTENT_ELEMENT_H
00027 #define _DWFTK_CONTENT_ELEMENT_H
00028 
00033 
00034 #include "dwf/package/PropertySet.h"
00035 
00036 namespace DWFToolkit
00037 {
00038 
00051 class DWFContentElement : public DWFPropertySet
00052                           _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00053 {
00054 
00055     // Management of this will occur only through the content class
00056     friend class DWFContent;
00057 
00058 public:
00059 
00063     typedef DWFOrderedVector<DWFContentElement*>            tList;
00067     typedef DWFStringKeySkipList<DWFContentElement*>        tMap;
00071     typedef DWFIterator<DWFContentElement*>                 tIterator;
00075     typedef _DWFTK_STD_VECTOR(DWFContentElement*)  tVector;
00076 
00077 public:
00078 
00084     _DWFTK_API
00085     virtual ~DWFContentElement()
00086         throw();
00087 
00116     _DWFTK_API
00117     virtual const DWFProperty* getProperty( const DWFString& zName,
00118                                             const DWFString& zCategory = /*NOXLATE*/L"",
00119                                             bool bSearchClosedSets = false )
00120         throw( DWFException );
00121 
00131     _DWFTK_API
00132     virtual const DWFProperty* getPropertyBySchemaID( const DWFString& zSchemaID,
00133                                                       const DWFString& zName,
00134                                                       const DWFString& zCategory = /*NOXLATE*/L"" )
00135         throw()
00136     {
00137         return DWFPropertySet::getProperty( zSchemaID, zName, zCategory, eSchemaID );
00138     }
00139 
00149     _DWFTK_API
00150     virtual const DWFProperty* getPropertyBySetID( const DWFString& zSetID,
00151                                                    const DWFString& zName,
00152                                                    const DWFString& zCategory = /*NOXLATE*/L"" )
00153         throw()
00154     {
00155         return DWFPropertySet::getProperty( zSetID, zName, zCategory, eSetID );
00156     }
00157 
00167     _DWFTK_API
00168     virtual DWFProperty::tIterator* getAllProperties( bool bSearchClosedSets = false )
00169         throw();
00170 
00181     _DWFTK_API
00182     virtual DWFProperty::tIterator* getAllProperties( const DWFString& zCategory,
00183                                                       bool bSearchClosedSets = false )
00184         throw();
00185 
00186     _DWFTK_API
00187     virtual DWFProperty::tIterator* getAllPropertiesBySchemaID( const DWFString& zSchemaID )
00188         throw();
00189 
00190     _DWFTK_API
00191     virtual DWFProperty::tIterator* getAllPropertiesBySetID( const DWFString& zSetID )
00192         throw();
00193 
00209     _DWFTK_API
00210     virtual DWFPropertySet* getPropertySet( const DWFString& zID,
00211                                             teQueryIDType eIDType = eSchemaID )
00212         throw();
00213 
00230     _DWFTK_API
00231     virtual DWFPropertySet::tIterator* getPropertySets( bool bReturnClosedSets = false )
00232         throw();
00233 
00238     _DWFTK_API
00239     virtual void parseAttributeList( const char** /*ppAttributeList*/ )
00240         throw( DWFException )
00241     {;}
00242 
00243 protected:
00244 
00252     _DWFTK_API
00253     DWFContentElement( const DWFString& zID = /*NOXLATE*/L"",
00254                        DWFContent* pContent = NULL )
00255         throw();
00256 
00257 #ifndef DWFTK_READ_ONLY
00258 
00262     _DWFTK_API
00263     virtual void _serializeAttributes( DWFXMLSerializer& rSerializer, unsigned int nFlags )
00264         throw( DWFException );
00265 
00269     _DWFTK_API
00270     virtual void _serializeXML( DWFXMLSerializer& rSerializer, unsigned int nFlags )
00271         throw( DWFException );
00272 
00273 #endif
00274 
00285     _DWFTK_API
00286     virtual void insertPropertyAncestors( DWFContentElement::tVector& /*rAncestorElements*/ ) const
00287         throw()
00288     {;}
00289 
00290 private:
00291 
00292     //
00293     // Not Implemented
00294     //
00295     DWFContentElement( const DWFContentElement& );
00296     DWFContentElement& operator=( const DWFContentElement& );
00297 };
00298 
00299 }
00300 
00301 #endif

Generated on Tue Jan 6 22:40:02 2009 for Autodesk DWF Toolkit by  doxygen 1.4.5