1 #ifndef __ICompositeNode_h__
2 #define __ICompositeNode_h__ 1
68 virtual void APICALL AppendNode(
const spINode & node ) = 0;
85 virtual void APICALL InsertNodeAtPath(
const spINode & node,
const spcIPath & path ) = 0;
142 auto node = GetNodeAtPath( path );
143 if ( node )
return node->ConvertToSimpleNode();
148 auto node = GetNodeAtPath( path );
149 if ( node )
return node->ConvertToSimpleNode();
165 auto node = GetNodeAtPath( path );
166 if ( node )
return node->ConvertToStructureNode();
171 auto node = GetNodeAtPath( path );
172 if ( node )
return node->ConvertToStructureNode();
188 auto node = GetNodeAtPath( path );
189 if ( node )
return node->ConvertToArrayNode();
194 auto node = GetNodeAtPath( path );
195 if ( node )
return node->ConvertToArrayNode();
223 return const_cast< ICompositeNode_v1 *
>( this )->GetICompositeNode_I();
237 return const_cast< ICompositeNode_v1 *
>( ptr )->MakeShared(
const_cast<pICompositeNode_base>(ptr) );
270 #ifdef FRIEND_CLASS_DECLARATION
271 FRIEND_CLASS_DECLARATION();
281 #if !BUILDING_XMPCORE_LIB && !SOURCE_COMPILING_XMPCORE_LIB
286 #pragma warning( push )
287 #pragma warning( disable : 4250 )
290 class ICompositeNodeProxy
291 :
public virtual ICompositeNode
292 ,
public virtual INodeProxy
304 virtual eNodeType APICALL GetNodeTypeAtPath( const
spcIPath & path ) const;
306 virtual
void APICALL AppendNode( const
spINode & node );
307 virtual
void APICALL InsertNodeAtPath( const
spINode & node, const
spcIPath & path );
325 #pragma warning( pop )
330 #endif // BUILDING_XMPCORE_LIB
333 #endif // __ICompositeNode_h__