<!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"> const string interfaceName = "SIPC_TEST_APPLICATION" ;</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> const unsigned long interfaceVersion = 1 ;</FONT>
</P>
<P><FONT SIZE=2 FACE="Courier New"> 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"> ...<cutted>...</FONT>
</P>
<P><FONT SIZE=2 FACE="Courier New"> // Other IDL defined within this scope.</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> static _core_attr const char * interfaceName;</FONT>
</P>
<P><FONT SIZE=2 FACE="Courier New"> 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"> public virtual _impl_TestInterface,</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> public virtual POA_PrincipalInterface</FONT>
<BR><FONT SIZE=2 FACE="Courier New">…</FONT>
</P>
<P><FONT SIZE=2 FACE="Courier New">class _impl_TestInterface :</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> 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"> virtual ~_impl_TestInterface();</FONT>
</P>
<P><FONT SIZE=2 FACE="Courier New"> virtual void PrintAppName() = 0;</FONT>
</P>
<P><FONT SIZE=2 FACE="Courier New"> ...<cutted>...</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"> (</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> <B></B></FONT><B> <FONT FACE="Courier New">Frédéric Prin</FONT></B><FONT SIZE=2 FACE="Courier New"> )</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> Senior Software Engineer /</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> S I L V A C O (</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> Grenoble REsearch CEnter \</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> Tel 04 56 38 10 33 )</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> __________________________/___</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> /__/__/__/__/__/__/__/__/__/__/</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> /__/__/__/__/__/__/__/__/_____/</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> /__/__/__/__/__/__/__/__/__/__/</FONT>
</P>
</BODY>
</HTML>