} // end CreateInternalDaAddressSpaceElement /// <summary> /// Creates a new instance of DaAddressSpaceElement for string based address space only (extended version). /// <br/>Must return a valid <see cref="DaAddressSpaceElement"/> object in order to have the Toolkit CORE use this extended method. /// <br/>If <see cref="CreateInternalDaAddressSpaceElementEx"/> method is correctly implemented, <see cref="CreateInternalDaAddressSpaceElement"/> /// will be ignored (will never be called unless <see cref="CreateInternalDaAddressSpaceElementEx"/> fails. /// </summary> /// <param name="anItemId">Item ID of the element to be created</param> /// <param name="aName">Iten name of the element to be created</param> /// <param name="anUserData">User data for the element to be created</param> /// <param name="anObjectHandle">Toolkit CORE object handle of the element to be created</param> /// <param name="aParentHandle">Toolkit CORE object handle of the parent of the element to be created</param> /// <param name="elementDataFilter">Type of element data which is not set in the parameters below</param> /// <param name="accessRights">Element`s access rights, valid if <see cref="EnumAddressSpaceElementData.ACCESSRIGHTS"/> flag is not set in elementDataFilter</param> /// <param name="ioMode">Element`s IO mode, valid if <see cref="EnumAddressSpaceElementData.IOMODE"/> is not set in elementDataFilter</param> /// <param name="hasChildren">Whether the element has children or not (is node or tag), valid if <see cref="EnumAddressSpaceElementData.HASCHILDREN"/> is not set in elementDataFilter</param> /// <param name="isBrowsable">Whether the elementis browsable, valid if <see cref="EnumAddressSpaceElementData.ISBROWSABLE"/> is not set in elementDataFilter</param> /// <param name="dataType">Element`s data type, valid if <see cref="EnumAddressSpaceElementData.DATATYPE"/> flag is not set in elementDataFilter</param> /// <returns></returns> /// <include /// file='TBNS.doc.xml' /// path='//class[@name="Creator"]/ /// method[@name="CreateInternalDaAddressSpaceElementEx"]/doc/*' /// /> public virtual DaAddressSpaceElement CreateInternalDaAddressSpaceElementEx( string anItemId, string aName, uint anUserData, uint anObjectHandle, uint aParentHandle, EnumAddressSpaceElementData elementDataFilter, EnumAccessRights accessRights, EnumIoMode ioMode, bool hasChildren, // aka isNode bool isBrowsable, Type dataType) { return null; } // end CreateInternalDaAddressSpaceElement
} // end QueryAddressSpaceElementData /// <summary> /// Returns the string based address space element (extended version) /// </summary> /// <param name="anElementId">Address space path of the element</param> /// <param name="elementDataFilter">Type of the element data to be filled in</param> /// <param name="anElement">returned element</param> /// <returns> /// EnumResultCode.E_NOTIMPL /// Must be overridden to support string based address space /// </returns> /// <include /// file='TBNS.doc.xml' /// path='//class[@name="DaAddressSpaceRoot"]/ /// method[@name="QueryAddressSpaceElementDataEx"]/doc/*' /// /> public override int QueryAddressSpaceElementDataEx(string anElementId, ref EnumAddressSpaceElementData elementDataFilter, out AddressSpaceElement anElement) { anElement = null; return (int) EnumResultCode.E_NOTIMPL; } // end QueryAddressSpaceElementDataEx
/// <summary> /// Returns the corresponding address space element to the element ID provided. /// <br/>This interface needs to be implemented in the string based object space case. /// <br/>This is the extended version of QueryAddressSpaceElementData method. /// </summary> /// <param name="anElementID">Address space path of the element</param> /// <param name="elementDataFilter">Type of the element data to be filled in</param> /// <param name="anElement">Out parameter reference to the element matched in case of success. Null reference if not supported or invalid path provided.</param> /// <returns> /// Success or failure result code. /// <br/>Default behavior returns EnumResultCode.E_NOTIMPL /// </returns> /// <include /// file='TBNS.doc.xml' /// path='//class[@name="AddressSpaceRoot"]/ /// method[@name="QueryAddressSpaceElementDataEx"]/doc/*' /// /> public abstract int QueryAddressSpaceElementDataEx(string anElementID, ref EnumAddressSpaceElementData elementDataFilter, out AddressSpaceElement anElement);