<div dir="ltr">The most common reason to write a module in C++ is probably that the external libraries used are written in C++. However, those modules usually use the good-old C API for FreeSWITCH. So you usually see quite a mix of C++/C in the actual code - but it is still compiled as C++.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-05 14:09 GMT+01:00 Vik Killa <span dir="ltr">&lt;<a href="mailto:vipkilla@gmail.com" target="_blank">vipkilla@gmail.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Is there a particular reason why you would favor C++ over C?<div>I was not aware the modules Brian West pointed out were written in C++</div><div>I looked over mod_v8 source and it doesn&#39;t look any different than C</div>

<div>Thanks.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 4, 2014 at 11:56 PM, Brian West <span dir="ltr">&lt;<a href="mailto:brian@freeswitch.org" target="_blank">brian@freeswitch.org</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Here are some that are written in or use C++<br>
<br>
mod_stress<br>
mod_mongo<br>
mod_mp4<br>
mod_h323<br>
mod_soundtouch<br>
mod_komp<br>
mod_opal<br>
mod_lua (wrapped switch_cpp + swig)<br>
mod_event_zmq<br>
mod_v8<br>
mod_managed  (wrapped switch_cpp + swig)<br>
mod_java  (wrapped switch_cpp + swig)<br>
mod_perl  (wrapped switch_cpp + swig)<br>
mod_python  (wrapped switch_cpp + swig)<br>
<br>
So use what you want really.<br>
<br>
--<br>
Brian West<br>
<a href="mailto:brian@freeswitch.org" target="_blank">brian@freeswitch.org</a><br>
FreeSWITCH Solutions, LLC<br>
PO BOX 2531<br>
Brookfield, WI 53008-2531<br>
Twitter: @FreeSWITCH , @briankwest<br>
<a href="http://www.freeswitchbook.com" target="_blank">http://www.freeswitchbook.com</a><br>
<a href="http://www.freeswitchcookbook.com" target="_blank">http://www.freeswitchcookbook.com</a><br>
<br>
T: <a href="tel:%2B1.918.420.9001" value="+19184209001" target="_blank">+1.918.420.9001</a>  |  F: <a href="tel:%2B1.918.420.9002" value="+19184209002" target="_blank">+1.918.420.9002</a>  |  M: +1.918.424.WEST<br>
iNUM: <a href="tel:%2B883%205100%201420%209001" value="+883510014209001" target="_blank">+883 5100 1420 9001</a><br>
ISN: 410*543<br>
Skype:briankwest<br>
PGP Key: <a href="http://www.bkw.org/key.txt" target="_blank">http://www.bkw.org/key.txt</a> (AB93356707C76CED)<br>
<div><div><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On Mar 4, 2014, at 8:36 PM, Aaron Scott &lt;<a href="mailto:rony@botl.au.com" target="_blank">rony@botl.au.com</a>&gt; wrote:<br>
<br>
&gt; Hi All,<br>
&gt;<br>
&gt; I am working on a module for Freeswitch which could benefit from C++.  I<br>
&gt; have written modules before in C++ and didn&#39;t find any particular<br>
&gt; problem.  However, I can&#39;t help but notice that the majority of the<br>
&gt; modules that come with Freeswitch are written in C. Is there a<br>
&gt; compelling reason to choose C over C++ for Freeswitch module<br>
&gt; development?  I realise that C can produce more efficient binaries and<br>
&gt; is better suited for low latency tasks but are there any reasons aside<br>
&gt; from this?<br>
&gt;<br>
&gt; Kind Regards,<br>
&gt;<br>
&gt; Aaron<br>
<br>
<br>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-dev mailing list<br>
<a href="mailto:FreeSWITCH-dev@lists.freeswitch.org" target="_blank">FreeSWITCH-dev@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-dev</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</div></div></blockquote></div><br></div>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-dev mailing list<br>
<a href="mailto:FreeSWITCH-dev@lists.freeswitch.org">FreeSWITCH-dev@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-dev</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br></div>