1 #ifndef IStructureNode_h__
2 #define IStructureNode_h__ 1
39 virtual eNodeType APICALL GetChildNodeType(
const char * nameSpace,
sizet nameSpaceLength,
const char * name,
sizet nameLength )
const = 0;
54 return const_cast< IStructureNode_v1 *
>( this )->GetNode( nameSpace, nameSpaceLength, name, nameLength );
56 virtual spINode APICALL GetNode(
const char * nameSpace,
sizet nameSpaceLength,
const char * name,
sizet nameLength ) = 0;
73 auto node = GetNode( nameSpace, nameSpaceLength, name, nameLength );
74 if ( node )
return node->ConvertToSimpleNode();
79 auto node = GetNode( nameSpace, nameSpaceLength, name, nameLength );
80 if ( node )
return node->ConvertToSimpleNode();
99 auto node = GetNode( nameSpace, nameSpaceLength, name, nameLength );
100 if ( node )
return node->ConvertToStructureNode();
105 auto node = GetNode( nameSpace, nameSpaceLength, name, nameLength );
106 if ( node )
return node->ConvertToStructureNode();
125 auto node = GetNode( nameSpace, nameSpaceLength, name, nameLength );
126 if ( node )
return node->ConvertToArrayNode();
131 auto node = GetNode( nameSpace, nameSpaceLength, name, nameLength );
132 if ( node )
return node->ConvertToArrayNode();
145 virtual void APICALL InsertNode(
const spINode & node ) = 0;
168 virtual spINode APICALL RemoveNode(
const char * nameSpace,
sizet nameSpaceLength,
const char * name,
sizet nameLength ) = 0;
193 return const_cast< IStructureNode_v1 *
>( this )->GetIStructureNode_I();
252 #ifdef FRIEND_CLASS_DECLARATION
253 FRIEND_CLASS_DECLARATION();
262 #if !BUILDING_XMPCORE_LIB && !SOURCE_COMPILING_XMPCORE_LIB
267 #pragma warning( push )
268 #pragma warning( disable : 4250 )
271 class IStructureNodeProxy
272 :
public virtual IStructureNode
273 ,
public virtual ICompositeNodeProxy
285 virtual eNodeType APICALL GetChildNodeType( const
char * nameSpace,
sizet nameSpaceLength, const
char * name,
sizet nameLength ) const;
286 virtual
spINode APICALL GetNode( const
char * nameSpace,
sizet nameSpaceLength, const
char * name,
sizet nameLength );
287 virtual
void APICALL InsertNode( const
spINode & node );
289 virtual
spINode APICALL RemoveNode( const
char * nameSpace,
sizet nameSpaceLength, const
char * name,
sizet nameLength );
300 #pragma warning( pop )
305 #endif // BUILDING_XMPCORE_LIB
308 #endif // IStructureNode_h__