<?xml version='1.0' encoding='ISO-8859-1' standalone='no'?>
<!DOCTYPE interface-description SYSTEM 'file:///usr/pkgsrc/lang/oo2c/work.macaroon/oo2c_32-2.0.11/rsrc/OOC/xml/interface-description.dtd'>
<interface-description name='URI:Authority:ServerBased' id=''>
  <import-decl name='TextRider' id='TextRider' export='no' module='TextRider'/>
  <import-decl name='Object' id='Object' export='no' module='Object'/>
  <import-decl name='Exception' id='Exception' export='no' module='Exception'/>
  <import-decl name='StringBuffer' id='StringBuffer' export='no' module='ADT:StringBuffer'/>
  <import-decl name='URI' id='URI' export='no' module='URI'/>
  <type-decl name='Port' id='Port' export='yes'>
    <type>
      <type-name module='#predef' name='LONGINT'/>
    </type>
  </type-decl>
  <import-decl name='-RT0' id='-RT0' export='no' module='RT0'/>
  <import-decl name='-Object' id='-Object' export='no' module='Object'/>
  <import-decl name='-Exception' id='-Exception' export='no' module='Exception'/>
  <class name='Authority'>
    <type-decl name='Authority' id='Authority' export='yes'>
      <type>
        <pointer>
          <pointer-base>
            <type-name name='AuthorityDesc' href='#AuthorityDesc'/>
          </pointer-base>
        </pointer>
      </type>
    </type-decl>
    <type-decl name='AuthorityDesc' id='AuthorityDesc' export='yes'>
      <oberon-doc>
        <summary>Server-based authority component of an URI.</summary>
        <p pad-after='yes' no-indent='yes'>Server-based authority component of an URI.</p>
      </oberon-doc>
      <type>
        <record>
          <field-decl name='userinfo' id='AuthorityDesc.userinfo' export='read-only'>
            <oberon-doc>
              <summary>Userinfo from authority component.</summary>
              <p pad-after='yes' no-indent='yes'>Userinfo from authority component.  <code>NIL</code> if no userinfo is given.</p>
            </oberon-doc>
            <type>
              <type-name name='STRING' href='#STRING'/>
            </type>
          </field-decl>
          <field-decl name='host' id='AuthorityDesc.host' export='read-only'>
            <oberon-doc>
              <summary>Host part.</summary>
              <p pad-after='yes' no-indent='yes'>Host part.  This is never <code>NIL</code>.</p>
            </oberon-doc>
            <type>
              <type-name name='STRING' href='#STRING'/>
            </type>
          </field-decl>
          <field-decl name='port' id='AuthorityDesc.port' export='read-only'>
            <oberon-doc>
              <summary>Port number.</summary>
              <p pad-after='yes' no-indent='yes'>Port number.  If the port is part of the authority component, this field holds this number.  Otherwise, it is set to <oberon-field href='#AuthorityDesc.defaultPort'>defaultPort</oberon-field>.</p>
            </oberon-doc>
            <type>
              <type-name module='#predef' name='Port'/>
            </type>
          </field-decl>
          <field-decl name='defaultPort' id='AuthorityDesc.defaultPort' export='read-only'>
            <oberon-doc>
              <summary>Default port.</summary>
              <p pad-after='yes' no-indent='yes'>Default port.  If the URI's authority component does not include a port number, this value is used instead.</p>
            </oberon-doc>
            <type>
              <type-name module='#predef' name='Port'/>
            </type>
          </field-decl>
        </record>
      </type>
    </type-decl>
    <procedure name='Init' id='Init' export='yes'>
      <formal-parameters>
        <parameter-decl name='auth' id='Init.auth' export='no' variable-parameter='no'>
          <type>
            <type-name name='Authority' href='#Authority'/>
          </type>
        </parameter-decl>
        <parameter-decl name='userinfo' id='Init.userinfo' export='no' variable-parameter='no'>
          <type>
            <type-name name='STRING' href='#STRING'/>
          </type>
        </parameter-decl>
        <parameter-decl name='host' id='Init.host' export='no' variable-parameter='no'>
          <type>
            <type-name name='STRING' href='#STRING'/>
          </type>
        </parameter-decl>
        <parameter-decl name='port' id='Init.port' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='Port'/>
          </type>
        </parameter-decl>
        <parameter-decl name='defaultPort' id='Init.defaultPort' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='Port'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='New' id='New' export='yes'>
      <oberon-doc>
        <summary>Creates a new server-based authority component.</summary>
        <p pad-after='yes' no-indent='yes'>Creates a new server-based authority component.  The arguments <oberon-param href='#New.userinfo'>userinfo</oberon-param>, <oberon-param href='#New.host'>host</oberon-param>, <oberon-param href='#New.port'>port</oberon-param>, and <oberon-param href='#New.defaultPort'>defaultPort</oberon-param> are used to initialize the corresponding fields of a new instance of <oberon-type href='#Authority'>Authority</oberon-type>.</p>
        <pre-cond pad-after='yes'>
          <p pad-after='no' no-indent='yes'><oberon-param href='#New.host'>host</oberon-param> must not be <code>NIL</code>.</p>
        </pre-cond>
      </oberon-doc>
      <formal-parameters>
        <parameter-decl name='userinfo' id='New.userinfo' export='no' variable-parameter='no'>
          <type>
            <type-name name='STRING' href='#STRING'/>
          </type>
        </parameter-decl>
        <parameter-decl name='host' id='New.host' export='no' variable-parameter='no'>
          <type>
            <type-name name='STRING' href='#STRING'/>
          </type>
        </parameter-decl>
        <parameter-decl name='port' id='New.port' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='Port'/>
          </type>
        </parameter-decl>
        <parameter-decl name='defaultPort' id='New.defaultPort' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='Port'/>
          </type>
        </parameter-decl>
        <result-type>
          <type-name name='Authority' href='#Authority'/>
        </result-type>
      </formal-parameters>
    </procedure>
    <procedure name='Clone' id='AuthorityDesc.Clone' export='yes'>
      <doc-inherited-from module='URI' name='Clone' class='Authority' href='URI#AuthorityDesc.Clone'/>
      <oberon-doc>
        <summary>Creates a deep copy of the authority component referenced by <oberon-param href='#AuthorityDesc.Clone.auth'>auth</oberon-param>.</summary>
        <p pad-after='yes' no-indent='yes'>Creates a deep copy of the authority component referenced by <oberon-param href='#AuthorityDesc.Clone.auth'>auth</oberon-param>.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='auth' id='AuthorityDesc.Clone.auth' export='no' variable-parameter='no'>
          <type>
            <type-name name='Authority' href='#Authority'/>
          </type>
        </receiver-decl>
        <result-type>
          <type-name name='Authority' href='#Authority'/>
        </result-type>
      </formal-parameters>
      <redefined-method module='URI' name='Clone' class='Authority' href='URI#AuthorityDesc.Clone'/>
    </procedure>
    <procedure name='Copy' id='AuthorityDesc.Copy' export='yes'>
      <doc-inherited-from module='URI' name='Copy' class='Authority' href='URI#AuthorityDesc.Copy'/>
      <oberon-doc>
        <summary>Copies contents of source <oberon-param href='#AuthorityDesc.Copy.auth'>auth</oberon-param> to target <oberon-param href='#AuthorityDesc.Copy.dest'>dest</oberon-param>.</summary>
        <p pad-after='yes' no-indent='yes'>Copies contents of source <oberon-param href='#AuthorityDesc.Copy.auth'>auth</oberon-param> to target <oberon-param href='#AuthorityDesc.Copy.dest'>dest</oberon-param>.</p>
        <pre-cond pad-after='yes'>
          <p pad-after='no' no-indent='yes'>The dynamic type of <oberon-param href='#AuthorityDesc.Copy.dest'>dest</oberon-param> is an extension of the dynamic type of <oberon-param href='#AuthorityDesc.Copy.auth'>auth</oberon-param>.</p>
        </pre-cond>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='auth' id='AuthorityDesc.Copy.auth' export='no' variable-parameter='no'>
          <type>
            <type-name name='Authority' href='#Authority'/>
          </type>
        </receiver-decl>
        <parameter-decl name='dest' id='AuthorityDesc.Copy.dest' export='no' variable-parameter='no'>
          <type>
            <type-name module='URI' name='Authority' href='URI#Authority'/>
          </type>
        </parameter-decl>
      </formal-parameters>
      <redefined-method module='URI' name='Copy' class='Authority' href='URI#AuthorityDesc.Copy'/>
    </procedure>
    <procedure name='ParseAuthority' id='AuthorityDesc.ParseAuthority' export='yes'>
      <doc-inherited-from module='URI' name='ParseAuthority' class='Authority' href='URI#AuthorityDesc.ParseAuthority'/>
      <oberon-doc>
        <summary>Parses the authority component <oberon-param href='#AuthorityDesc.ParseAuthority.str'>str</oberon-param> of an hierarchical URI.</summary>
        <p pad-after='yes' no-indent='yes'>Parses the authority component <oberon-param href='#AuthorityDesc.ParseAuthority.str'>str</oberon-param> of an hierarchical URI.  On success, the data is stored in the authority object <oberon-param href='#AuthorityDesc.ParseAuthority.auth'>auth</oberon-param> and the result is <code>NIL</code>.  In case of error, a message object is returned and <oberon-param href='#AuthorityDesc.ParseAuthority.auth'>auth</oberon-param> is not modified.  A character position in an error message refers to an index in <oberon-param href='#AuthorityDesc.ParseAuthority.str'>str</oberon-param>, incremented by the value of <oberon-param href='#AuthorityDesc.ParseAuthority.offset'>offset</oberon-param>.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='auth' id='AuthorityDesc.ParseAuthority.auth' export='no' variable-parameter='no'>
          <type>
            <type-name name='Authority' href='#Authority'/>
          </type>
        </receiver-decl>
        <parameter-decl name='str' id='AuthorityDesc.ParseAuthority.str' export='no' variable-parameter='no'>
          <type>
            <type-name module='Object' name='CharsLatin1' href='Object#CharsLatin1'/>
          </type>
        </parameter-decl>
        <parameter-decl name='offset' id='AuthorityDesc.ParseAuthority.offset' export='no' variable-parameter='no'>
          <type>
            <type-name module='URI' name='Offset' href='URI#Offset'/>
          </type>
        </parameter-decl>
        <exceptions>
          <type-name module='Exception' name='ParseError' href='Exception#ParseError'/>
        </exceptions>
      </formal-parameters>
      <redefined-method module='URI' name='ParseAuthority' class='Authority' href='URI#AuthorityDesc.ParseAuthority'/>
    </procedure>
    <procedure name='WriteXML' id='AuthorityDesc.WriteXML' export='yes'>
      <doc-inherited-from module='URI' name='WriteXML' class='Authority' href='URI#AuthorityDesc.WriteXML'/>
      <oberon-doc>
        <summary>Writes an XML fragment describing the authority component to the writer <oberon-param href='#AuthorityDesc.WriteXML.w'>w</oberon-param>.</summary>
        <p pad-after='yes' no-indent='yes'>Writes an XML fragment describing the authority component to the writer <oberon-param href='#AuthorityDesc.WriteXML.w'>w</oberon-param>.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='auth' id='AuthorityDesc.WriteXML.auth' export='no' variable-parameter='no'>
          <type>
            <type-name name='Authority' href='#Authority'/>
          </type>
        </receiver-decl>
        <parameter-decl name='w' id='AuthorityDesc.WriteXML.w' export='no' variable-parameter='no'>
          <type>
            <type-name module='TextRider' name='Writer' href='TextRider#Writer'/>
          </type>
        </parameter-decl>
      </formal-parameters>
      <redefined-method module='URI' name='WriteXML' class='Authority' href='URI#AuthorityDesc.WriteXML'/>
    </procedure>
    <procedure name='Append' id='AuthorityDesc.Append' export='yes'>
      <doc-inherited-from module='URI' name='Append' class='Authority' href='URI#AuthorityDesc.Append'/>
      <oberon-doc>
        <summary>Appends the textual representation of the authority component <oberon-param href='#AuthorityDesc.Append.auth'>auth</oberon-param> to the string <oberon-param href='#AuthorityDesc.Append.sb'>sb</oberon-param>.</summary>
        <p pad-after='yes' no-indent='yes'>Appends the textual representation of the authority component <oberon-param href='#AuthorityDesc.Append.auth'>auth</oberon-param> to the string <oberon-param href='#AuthorityDesc.Append.sb'>sb</oberon-param>.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='auth' id='AuthorityDesc.Append.auth' export='no' variable-parameter='no'>
          <type>
            <type-name name='Authority' href='#Authority'/>
          </type>
        </receiver-decl>
        <parameter-decl name='sb' id='AuthorityDesc.Append.sb' export='no' variable-parameter='no'>
          <type>
            <type-name module='StringBuffer' name='StringBuffer' href='ADT:StringBuffer#StringBuffer'/>
          </type>
        </parameter-decl>
      </formal-parameters>
      <redefined-method module='URI' name='Append' class='Authority' href='URI#AuthorityDesc.Append'/>
    </procedure>
    <base-class module='URI' class='Authority' href='URI#Authority'>
      <inherited-method module='URI' name='Append' class='Authority' href='URI#AuthorityDesc.Append'/>
      <inherited-method module='URI' name='Clone' class='Authority' href='URI#AuthorityDesc.Clone'/>
      <inherited-method module='URI' name='Copy' class='Authority' href='URI#AuthorityDesc.Copy'/>
      <inherited-method module='URI' name='ParseAuthority' class='Authority' href='URI#AuthorityDesc.ParseAuthority'/>
      <inherited-method module='URI' name='WriteXML' class='Authority' href='URI#AuthorityDesc.WriteXML'/>
    </base-class>
  </class>
  <module-ref name='Object'>
    <ref-target type='html' relative-uri='../../Object.html'/>
  </module-ref>
  <module-ref name='TextRider'>
    <ref-target type='html' relative-uri='../../TextRider.html'/>
  </module-ref>
  <module-ref name='ADT:StringBuffer'>
    <ref-target type='html' relative-uri='../../ADT/StringBuffer.html'/>
  </module-ref>
  <module-ref name='URI'>
    <ref-target type='html' relative-uri='../../URI.html'/>
  </module-ref>
  <module-ref name='Exception'>
    <ref-target type='html' relative-uri='../../Exception.html'/>
  </module-ref>
</interface-description>
