<html> <head> <title>struct _typelib_InterfaceTypeDescription</title> <link rel="stylesheet" type="text/css" href="../cpp.css"> </head> <body> <div id="adc-cppref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="1" cellspacing="0"> <tr align="center" valign="top"> <td class="navimain"> <a href="../index.html">Overview</a> </td> <td class="navimain"> <a href="index.html">Namespace</a> </td> <td class="navimainself"> Class </td> <td class="navimain"> <a href="../index-files/index-1.html">Index</a> </td> <td class="navimain"> <a href="../help.html">Help</a> </td> </tr> </table> <table class="navisub" cellpadding="0" cellspacing="3"> <tr> <td width="20%"><font size="-2">PUBLIC MEMBERS:</font></td> <td> <font size="-2">CLASSES</font> | <font size="-2">STRUCTS</font> | <font size="-2">UNIONS</font> | <font size="-2">ENUMS</font> | <font size="-2">TYPEDEFS</font> | <font size="-2">METHODS</font> | <font size="-2">STATIC METHODS</font> | <a href="#publ_vars"><font size="-2"><b>DATA</b></font></a> | <font size="-2">STATIC DATA</font></td> </tr> </table> <hr> <a href="../names/index.html" alt="Global Namespace in C++"><font size="+1"><b>::</b></font></a> <div class="title"><h2>struct _typelib_InterfaceTypeDescription</h2> </div><hr> <dl> <dt>Base Classes</dt> <dd>None.</dd> </dl> <dl> <dt>Known Derived Classes</dt> <dd>None.</dd> </dl> <br> <table class="flag-table" border="1" cellspacing="0"> <tr> <td width="25%" class="flagname">virtual</td> <td width="25%" class="flagname">abstract</td> <td width="25%" class="flagname">interface</td> <td width="25%" class="flagname">template</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> </tr> </table> <dl> <dt>Summary</dt> <dd>Type description of an interface. </dd> <dt>Description</dt> <dd> <p>Not all members are always initialized (not yet initialized members being null); there are three levels:</p> <ul> <li>Minimally, only <code>aBase</code>, <code>pBaseTypeDescription</code>, <code>aUik</code>, <code>nBaseTypes</code>, and <code>ppBaseTypes</code> are initialized; <code>aBase.bComplete</code> is false. This only happens when an interface type description is created with <code>typelib_static_mi_interface_type_init</code> or <code>typelib_static_interface_type_init</code>.</li> <li>At the next level, <code>nMembers</code>, <code>ppMembers</code>, <code>nAllMembers</code>, <code>ppAllMembers</code> are also initialized; <code>aBase.bComplete</code> is still false. This happens when an interface type description is created with <code>typelib_typedescription_newMIInterface</cocde> or <code>typelib_typedescription_newInterface</code>.</li> <li>At the final level, <code>pMapMemberIndexToFunctionIndex</code>, <code>nMapFunctionIndexToMemberIndex</code>, and <code>pMapFunctionIndexToMemberIndex</code> are also initialized; <code>aBase.bComplete</code> is true. This happens after a call to <code>typelib_typedescription_complete</code>.</li> </ul> </dd> </dl> <dl> <dt>File</dt> <dd>typedescription.h</dd> </dl> <hr> <dl> <dt class="subtitle"><a name="publ_"><h3>Public Members</h3> </a></dt> <dd><a name="publ_vars"> </a><table class="childlist" border="1" cellpadding="5" cellspacing="0" width="100%"> <tr class="subtitle"> <td colspan="2"><h4>Data</h4> </td> </tr> <tr bgcolor="white"> <td><a href="t-typelib_TypeDescription.html">typelib_TypeDescription</a> <a href="_typelib_InterfaceTypeDescription/d.html#aBase"><strong>aBase;</strong></a></td> <td>inherits all members of typelib_TypeDescription </td> </tr> <tr bgcolor="white"> <td><a href="c-_typelib_InterfaceTypeDescription.html">_typelib_InterfaceTypeDescription</a> * <a href="_typelib_InterfaceTypeDescription/d.html#pBaseTypeDescription"><strong>pBaseTypeDescription;</strong></a></td> <td>pointer to base type description, else 0 </td> </tr> <tr bgcolor="white"> <td><a href="t-typelib_Uik.html">typelib_Uik</a> <a href="_typelib_InterfaceTypeDescription/d.html#aUik"><strong>aUik;</strong></a></td> <td>unique identifier of interface </td> </tr> <tr bgcolor="white"> <td><a href="t-sal_Int32.html">sal_Int32</a> <a href="_typelib_InterfaceTypeDescription/d.html#nMembers"><strong>nMembers;</strong></a></td> <td>number of members </td> </tr> <tr bgcolor="white"> <td><a href="t-typelib_TypeDescriptionReference.html">typelib_TypeDescriptionReference</a> * * <a href="_typelib_InterfaceTypeDescription/d.html#ppMembers"><strong>ppMembers;</strong></a></td> <td>array of members; references attributes or methods </td> </tr> <tr bgcolor="white"> <td><a href="t-sal_Int32.html">sal_Int32</a> <a href="_typelib_InterfaceTypeDescription/d.html#nAllMembers"><strong>nAllMembers;</strong></a></td> <td>number of members including members of base interface </td> </tr> <tr bgcolor="white"> <td><a href="t-typelib_TypeDescriptionReference.html">typelib_TypeDescriptionReference</a> * * <a href="_typelib_InterfaceTypeDescription/d.html#ppAllMembers"><strong>ppAllMembers;</strong></a></td> <td>array of members including members of base interface; references attributes or methods </td> </tr> <tr bgcolor="white"> <td><a href="t-sal_Int32.html">sal_Int32</a> * <a href="_typelib_InterfaceTypeDescription/d.html#pMapMemberIndexToFunctionIndex"><strong>pMapMemberIndexToFunctionIndex;</strong></a></td> <td>array mapping index of the member description to an index doubling for read-write attributes (called function index); size of array is nAllMembers </td> </tr> <tr bgcolor="white"> <td><a href="t-sal_Int32.html">sal_Int32</a> <a href="_typelib_InterfaceTypeDescription/d.html#nMapFunctionIndexToMemberIndex"><strong>nMapFunctionIndexToMemberIndex;</strong></a></td> <td>number of members plus number of read-write attributes </td> </tr> <tr bgcolor="white"> <td><a href="t-sal_Int32.html">sal_Int32</a> * <a href="_typelib_InterfaceTypeDescription/d.html#pMapFunctionIndexToMemberIndex"><strong>pMapFunctionIndexToMemberIndex;</strong></a></td> <td>array mapping function index to member index; size of arry is nMapFunctionIndexToMemberIndex </td> </tr> <tr bgcolor="white"> <td><a href="t-sal_Int32.html">sal_Int32</a> <a href="_typelib_InterfaceTypeDescription/d.html#nBaseTypes"><strong>nBaseTypes;</strong></a></td> <td>number of base types </td> </tr> <tr bgcolor="white"> <td><a href="c-_typelib_InterfaceTypeDescription.html">_typelib_InterfaceTypeDescription</a> * * <a href="_typelib_InterfaceTypeDescription/d.html#ppBaseTypes"><strong>ppBaseTypes;</strong></a></td> <td>array of base type descriptions </td> </tr> </table> <hr> </dd> </dl> <a href="#_top_" class="objchapter">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.</p> </div> <!-- id="adc-cppref" --> </body> </html>