<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<!--
// // See license.txt for license information. // // tgl_obj.xml // // 24-Jul-2003 phamilton Created //
-->

<object xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="urn:xmlliterate.schema" name="@tglobj">
    <description>Root object for all tangle objects.</description>
    <classname>tgl_obj</classname>
    <namespace>ph:tools:tangle</namespace>
    <members>
        <stringtype name="description">
            <description>The description.</description>
        </stringtype>
        <templatevectortype name="templates">
            <description>Template objects used to create others.</description>
        </templatevectortype>
    </members>
    <methods>
        <method name="get_block">
            <description>Used by a parser to get a block.</description>
            <inheritance>abstract</inheritance>
            <access>public</access>
            <returns>
                <ptrtypename>
                    <description>The block that matches to name.</description>
                    <reftype>@block</reftype>
                </ptrtypename>
            </returns>
            <arguments>
                <stringtype name="block">
                    <description>The name of the block.</description>
                </stringtype>
            </arguments>
        </method>
        <method name="find_typeimpl">
            <description>Find a type implementation for an object.</description>
            <access>public</access>
            <returns>
                <ptrtypename>
                    <description>The type implementation found.</description>
                    <reftype>typeimpl</reftype>
                </ptrtypename>
            </returns>
            <arguments>
                <ptrtypename name="obj">
                    <description>Not sure.</description>
                    <reftype>@xmlobj</reftype>
                </ptrtypename>
                <stringtype name="name">
                    <description>The name of the type.</description>
                </stringtype>
                <stringtype name="language">
                    <description>The language of the implementation.</description>
                </stringtype>
            </arguments>
            <implementations>
                <xi:include href="cpp/find_typeimpl.xml"/>
            </implementations>
        </method>
        <method name="version">
            <description>Return the internal version of the software.</description>
            <inheritance>concrete</inheritance>
            <access>public</access>
            <scope>global</scope>
            <returns>
                <tgl_versiontype>
                    <description>Return the internal software version.</description>
                </tgl_versiontype>
            </returns>
            <implementations>
                <xi:include href="cpp/version.xml"/>
            </implementations>
        </method>
    </methods>
</object>