<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1255">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.0.5762.3">
<TITLE>using cable problem</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P><FONT SIZE=2 FACE="Arial">I tried to create a wrapper, using cable to very simple C++ class, which I found on the cable site.</FONT>
<BR><FONT SIZE=2 FACE="Arial">Below the configuration file config.cxx, I used:</FONT>
</P>
<P><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">class</FONT><FONT SIZE=2 FACE="Courier New"> Integer</FONT>
<BR><FONT SIZE=2 FACE="Courier New">{</FONT>
<BR><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">public</FONT><FONT SIZE=2 FACE="Courier New">:</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> Integer(): m_Int(0) {}</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> Integer(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> Integer& r): m_Int(r.m_Int) {}</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> Integer(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> i): m_Int(i) {}</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> ~Integer() {}</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> Get() </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> { </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">return</FONT><FONT SIZE=2 FACE="Courier New"> m_Int; }</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">void</FONT><FONT SIZE=2 FACE="Courier New"> Set(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> i) { m_Int = i; }</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> Integer* GetPointer() </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> { </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">return</FONT><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">this</FONT><FONT SIZE=2 FACE="Courier New">; }</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> Integer& </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">operator</FONT><FONT SIZE=2 FACE="Courier New">+=(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> Integer& r)</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> { m_Int += r.m_Int; </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">return</FONT><FONT SIZE=2 FACE="Courier New"> *</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">this</FONT><FONT SIZE=2 FACE="Courier New">; }</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">static</FONT><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">float</FONT><FONT SIZE=2 FACE="Courier New"> Mean(</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> Integer& l, </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> Integer& r)</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> { </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">return</FONT><FONT SIZE=2 FACE="Courier New"> (</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">float</FONT><FONT SIZE=2 FACE="Courier New">(l.m_Int)+</FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">float</FONT><FONT SIZE=2 FACE="Courier New">(r.m_Int))/2.0; }</FONT>
<BR><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">private</FONT><FONT SIZE=2 FACE="Courier New">:</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">int</FONT><FONT SIZE=2 FACE="Courier New"> m_Int;</FONT>
<BR><FONT SIZE=2 FACE="Courier New">};</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT>
</P>
<P><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">#ifdef</FONT><FONT SIZE=2 FACE="Courier New"> CABLE_CONFIGURATION</FONT>
<BR><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">namespace</FONT><FONT SIZE=2 FACE="Courier New"> _cable_</FONT>
<BR><FONT SIZE=2 FACE="Courier New">{</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New">* </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> group="IntegerTcl1";</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New">* </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> package="IntegerTcl";</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">char</FONT><FONT SIZE=2 FACE="Courier New">* </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">const</FONT><FONT SIZE=2 FACE="Courier New"> groups[]={"IntegerTcl1"};</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">namespace</FONT><FONT SIZE=2 FACE="Courier New"> wrappers</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> {</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">typedef</FONT><FONT SIZE=2 FACE="Courier New"> Integer myWrapperClass;</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 COLOR="#0000FF" SIZE=2 FACE="Courier New">void</FONT><FONT SIZE=2 FACE="Courier New"> cable_instantiate()</FONT>
<BR><FONT SIZE=2 FACE="Courier New">{</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">using</FONT><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">namespace</FONT><FONT SIZE=2 FACE="Courier New"> _cable_::wrappers;</FONT>
<BR><FONT SIZE=2 FACE="Courier New"> </FONT><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">sizeof</FONT><FONT SIZE=2 FACE="Courier New">(myWrapperClass);</FONT>
<BR><FONT SIZE=2 FACE="Courier New">}</FONT>
<BR><FONT COLOR="#0000FF" SIZE=2 FACE="Courier New">#endif</FONT>
</P>
<P><FONT SIZE=2 FACE="Courier New">To run this example I wrote: </FONT><FONT COLOR="#FF0000" SIZE=2 FACE="Courier New">cable.exe config.cxx -tcl 1.cxx</FONT> <FONT SIZE=2 FACE="Courier New">.</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">I received output file with a wrapper without any problem, but I did not find in this file the member</FONT>
<BR><FONT SIZE=2 FACE="Arial">variable </FONT> <FONT COLOR="#FF0000" SIZE=2 FACE="Courier New">m_Int</FONT><FONT SIZE=2 FACE="Courier New"> .</FONT> <FONT SIZE=2 FACE="Arial">All I saw were a wrappers to a member functions. How can I have an access </FONT>
<BR><FONT SIZE=2 FACE="Arial">to the member variables?</FONT>
<BR><FONT SIZE=2 FACE="Arial"> Regards, Valery.</FONT>
</P>
<CODE><FONT SIZE=3><BR>
<BR>
************************************************************************************************************<BR>
This email and any files transmitted with it are confidential material.<BR>
They are intended solely for the use of the individual or entity to whom they are addressed.<BR>
If you have received this email in error please notify postmaster@audiocodes.com<BR>
and permanently delete the e-mail and files.<BR>
***********************************************************************************************************<BR>
</FONT></CODE>
</BODY>
</HTML>