<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.0.4630.0">
<TITLE>Stub and skeleton</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=2 FACE="Arial">Hi everybody,</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Arial">Does someone know, why IDL constant properties are only mapped into stub (client side) and not skeleton (server side) ?</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Let's omniidl this IDL file:</FONT>
</P>
<UL>
<P><FONT SIZE=2 FACE="Courier New">interface TestInterface : public PrincipalInterface</FONT>

<BR><FONT SIZE=2 FACE="Courier New">{</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp; const string interfaceName = &quot;SIPC_TEST_APPLICATION&quot; ;</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp; const unsigned long interfaceVersion&nbsp; = 1 ;</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp; void PrintAppName() ;</FONT>

<BR><FONT SIZE=2 FACE="Courier New">} ;</FONT>
</P>
</UL>
<P><FONT SIZE=2 FACE="Arial">I use the following omniidl flags : -bcxx -Wbs=.cxx -Wbh=.h -Wba -Wbd=.cxx</FONT>

<BR><FONT SIZE=2 FACE="Arial">In the stub class I get:</FONT>
<UL>
<P><FONT SIZE=2 FACE="Courier New">class TestInterface {</FONT>

<BR><FONT SIZE=2 FACE="Courier New">public:</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp; ...&lt;cutted&gt;...</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">&nbsp; // Other IDL defined within this scope.</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp; static _core_attr const char * interfaceName;</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">&nbsp; static _core_attr const CORBA::ULong interfaceVersion _init_in_cldecl_( = 1U );</FONT>

<BR><FONT SIZE=2 FACE="Courier New">};</FONT>
</P>
</UL>
<P><FONT SIZE=2 FACE="Arial">While In the skeleton class:</FONT>
<UL>
<P><FONT SIZE=2 FACE="Courier New">class POA_TestInterface :</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp; public virtual _impl_TestInterface,</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp; public virtual POA_PrincipalInterface</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&#8230;</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">class _impl_TestInterface :</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp; public virtual _impl_PrincipalInterface</FONT>

<BR><FONT SIZE=2 FACE="Courier New">{</FONT>

<BR><FONT SIZE=2 FACE="Courier New">public:</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp; virtual ~_impl_TestInterface();</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">&nbsp; virtual void PrintAppName() = 0;</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp; ...&lt;cutted&gt;...</FONT>

<BR><FONT SIZE=2 FACE="Courier New">};</FONT>
</UL>
<P><FONT SIZE=2 FACE="Arial">There are no</FONT> <FONT SIZE=2 FACE="Courier New">interfaceName or interfaceVersion</FONT> <FONT SIZE=2 FACE="Arial">constante defined in the skel class.</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">I can understand, since it's normal the servant have no implementation to provide for IDL constant properties.</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">But is there a way that omniidl also maps constant properties to the implementation skeleton class ?</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Arial">Thanks for your help</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Arial">Fred</FONT>
</P>
<BR>
<BR>

<P><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;<B></B></FONT><B> <FONT FACE="Courier New">Frédéric Prin</FONT></B><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp; Senior Software Engineer /</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S I L V A C O&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp; Grenoble REsearch CEnter \</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp; Tel 04 56 38 10 33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp; __________________________/___</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp; /__/__/__/__/__/__/__/__/__/__/</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp; /__/__/__/__/__/__/__/__/_____/</FONT>

<BR><FONT SIZE=2 FACE="Courier New">&nbsp;/__/__/__/__/__/__/__/__/__/__/</FONT>
</P>

</BODY>
</HTML>