Interfaces

Similarly, the XML for interface symbols contain the common elements. In addition, they retain elements and attributes associated with SIDL interfaces. These include any extensions, parent interfaces it implements, and its methods. Method information includes its name, communication mode, short name, name extension (for languages that don't support method overloading), comment, return type, argument list, and exception list.

For example, the XML representation of sidl.BaseInterface is:


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Symbol PUBLIC "-//CCA//sidl Symbol DTD v1.1//EN"
  "/babel/share/repository/sidl.dtd">
<Symbol>
  <SymbolName name="sidl.BaseInterface" version="0.9.12" />
  <Metadata date="20051208 10:47:28 PST">
    <MetadataEntry key="source-url"
    value="file:/babel/runtime/sidl/sidl.sidl" />
    <MetadataEntry key="babel-version" value="0.10.51" />
    <MetadataEntry key="xml-url"
    value="/babel/share/repository/sidl.BaseInterface-v0.9.12.xml" />
    <MetadataEntry key="source-line" value="46" />
  </Metadata>
  <Comment>Every interface in 
  <code>sidl</code>implicitly inherits from 
  <code>BaseInterface</code>, and it is implemented by 
  <code>BaseClass</code>below.</Comment>
  <Interface>
    <ExtendsBlock />
    <AllParentInterfaces />
    <MethodsBlock>
      <Method communication="normal" copy="false"
      definition="abstract" extension="" shortname="addRef">
        <Comment>
          <p>Add one to the intrinsic reference count in the
          underlying object. Object in 
          <code>sidl</code>have an intrinsic reference count.
          Objects continue to exist as long as the reference count
          is positive. Clients should call this method whenever
          they create another ongoing reference to an object or
          interface.</p>
          <p>This does not have a return value because there is no
          language independent type that can refer to an interface
          or a class.</p>
        </Comment>
        <Type type="void" />
        <ArgumentList />
        <ThrowsList />
        <ImplicitThrowsList>
          <SymbolName name="sidl.RuntimeException"
          version="0.9.12" />
        </ImplicitThrowsList>
      </Method>
      <Method communication="normal" copy="false"
      definition="abstract" extension="" shortname="deleteRef">
        <Comment>Decrease by one the intrinsic reference count in
        the underlying object, and delete the object if the
        reference is non-positive. Objects in 
        <code>sidl</code>have an intrinsic reference count. Clients
        should call this method whenever they remove a reference to
        an object or interface.</Comment>
        <Type type="void" />
        <ArgumentList />
        <ThrowsList />
        <ImplicitThrowsList>
          <SymbolName name="sidl.RuntimeException"
          version="0.9.12" />
        </ImplicitThrowsList>
      </Method>
      <Method communication="normal" copy="false"
      definition="abstract" extension="" shortname="isSame">
        <Comment>Return true if and only if 
        <code>obj</code>refers to the same object as this
        object.</Comment>
        <Type type="boolean" />
        <ArgumentList>
          <Argument copy="false" mode="in" name="iobj">
            <Type type="symbol">
              <SymbolName name="sidl.BaseInterface"
              version="0.9.12" />
            </Type>
          </Argument>
        </ArgumentList>
        <ThrowsList />
        <ImplicitThrowsList>
          <SymbolName name="sidl.RuntimeException"
          version="0.9.12" />
        </ImplicitThrowsList>
      </Method>
      <Method communication="normal" copy="false"
      definition="abstract" extension="" shortname="isType">
        <Comment>Return whether this object is an instance of the
        specified type. The string name must be the 
        <code>sidl</code>type name. This routine will return 
        <code>true</code>if and only if a cast to the string type
        name would succeed.</Comment>
        <Type type="boolean" />
        <ArgumentList>
          <Argument copy="false" mode="in" name="name">
            <Type type="string" />
          </Argument>
        </ArgumentList>
        <ThrowsList />
        <ImplicitThrowsList>
          <SymbolName name="sidl.RuntimeException"
          version="0.9.12" />
        </ImplicitThrowsList>
      </Method>
      <Method communication="normal" copy="false"
      definition="abstract" extension="" shortname="getClassInfo">
        <Comment>Return the meta-data about the class implementing
        this interface.</Comment>
        <Type type="symbol">
          <SymbolName name="sidl.ClassInfo" version="0.9.12" />
        </Type>
        <ArgumentList />
        <ThrowsList />
        <ImplicitThrowsList>
          <SymbolName name="sidl.RuntimeException"
          version="0.9.12" />
        </ImplicitThrowsList>
      </Method>
    </MethodsBlock>
  </Interface>
</Symbol>





babel-1.4.0
users_guide Last Modified 2008-10-16

http://www.llnl.gov/CASC/components
components@llnl.gov