<!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>