##### CSharp #echo "--->CSharp...<---" #swig -c++ -csharp -namespace org.doubango.tinyWRAP -outdir csharp -o csharp/tinyWRAP_wrap.cxx csharp/csharp.i ##### Objective-C #echo "--->Objective-C...<---" #swig -c++ -objc -outdir objc -o -objc/tinyWRAP_wrap.cxx -objc/-objc.i DIR_PROJECT="../.."; OS="`uname`" ##### Java echo "--->Java...<---" swig -c++ -java -package org.doubango.tinyWRAP -outdir java -o java/tinyWRAP_wrap.cxx java/java.i echo "Java(Google Dalvik)..." echo "Google Android special tasks" rm -R java/android/*.java rm -R java/*.java swig -noexcept -c++ -java -package org.doubango.tinyWRAP -outdir java/android -o java/android/tinyWRAP_wrap.cxx java/java.i if [[ "$OS" == "Darwin"* ]]; then #MAC OSX sed -i '' 's/dynamic_cast/static_cast/g' java/android/tinyWRAP_wrap.cxx sed -i '' 's/|twrap_media_floor_control/ | twrap_media_floor_control.swigValue/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_mcptt|twrap_media_audio/(0x01 << 13)|(0x01)/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_audio_ptt_mcptt|twrap_media_group/(0x01 << 13)|(0x01)|(0x01 << 14)/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_location|twrap_media_mcptt/(0x01 << 15)|(0x01 << 13)/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_affiliation|twrap_media_mcptt/(0x01 << 16)|(0x01 << 13)/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_mbms|twrap_media_mcptt/(0x01 << 17)|(0x01 << 13)/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_authentication|twrap_media_mcptt/(0x01 << 18)|(0x01 << 13)/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_emergency|twrap_media_audio_ptt_mcptt/(0x01 << 19)|(0x01 << 13)|(0x01)/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_mcptt_emergence|twrap_media_group/(0x01 << 19)|(0x01 << 13)|(0x01)|(0x01 << 14)/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_alert|twrap_media_audio_ptt_mcptt/(0x01 << 20)|(0x01 << 13)|(0x01)/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_mcptt_alert|twrap_media_group/(0x01 << 20)|(0x01 << 13)|(0x01)|(0x01 << 14)/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_imminentperil|twrap_media_audio_ptt_mcptt/(0x01 << 21)|(0x01 << 13)|(0x01)/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_mcptt_imminentperil|twrap_media_group/(0x01 << 21)|(0x01 << 13)|(0x01)|(0x01 << 14)/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_mcptt|twrap_media_cms/twrap_media_mcptt.swigValue|twrap_media_cms.swigValue/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_mcptt|twrap_media_gms/twrap_media_mcptt.swigValue|twrap_media_gms.swigValue/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_audio_ptt_mcptt|twrap_media_mcptt_chat|twrap_media_group/twrap_media_audio_ptt_mcptt.swigValue|twrap_media_mcptt_chat.swigValue|twrap_media_group.swigValue/g' java/android/twrap_media_type_t.java sed -i '' 's/twrap_media_audio_ptt_mcptt|twrap_media_mcptt_chat/twrap_media_audio_ptt_mcptt.swigValue|twrap_media_mcptt_chat.swigValue/g' java/android/twrap_media_type_t.java else #NOT MAC OSX sed -i 's/dynamic_cast/static_cast/g' java/android/tinyWRAP_wrap.cxx sed -i 's/|twrap_media_floor_control/ | twrap_media_floor_control.swigValue/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_mcptt|twrap_media_audio/(0x01 << 13)|(0x01)/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_audio_ptt_mcptt|twrap_media_group/(0x01 << 13)|(0x01)|(0x01 << 14)/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_location|twrap_media_mcptt/(0x01 << 15)|(0x01 << 13)/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_affiliation|twrap_media_mcptt/(0x01 << 16)|(0x01 << 13)/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_mbms|twrap_media_mcptt/(0x01 << 17)|(0x01 << 13)/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_authentication|twrap_media_mcptt/(0x01 << 18)|(0x01 << 13)/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_emergency|twrap_media_audio_ptt_mcptt/(0x01 << 19)|(0x01 << 13)|(0x01)/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_mcptt_emergence|twrap_media_group/(0x01 << 19)|(0x01 << 13)|(0x01)|(0x01 << 14)/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_alert|twrap_media_audio_ptt_mcptt/(0x01 << 20)|(0x01 << 13)|(0x01)/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_mcptt_alert|twrap_media_group/(0x01 << 20)|(0x01 << 13)|(0x01)|(0x01 << 14)/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_imminentperil|twrap_media_audio_ptt_mcptt/(0x01 << 21)|(0x01 << 13)|(0x01)/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_mcptt_imminentperil|twrap_media_group/(0x01 << 21)|(0x01 << 13)|(0x01)|(0x01 << 14)/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_mcptt|twrap_media_cms/twrap_media_mcptt.swigValue|twrap_media_cms.swigValue/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_mcptt|twrap_media_gms/twrap_media_mcptt.swigValue|twrap_media_gms.swigValue/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_audio_ptt_mcptt|twrap_media_mcptt_chat|twrap_media_group/twrap_media_audio_ptt_mcptt.swigValue|twrap_media_mcptt_chat.swigValue|twrap_media_group.swigValue/g' java/android/twrap_media_type_t.java sed -i 's/twrap_media_audio_ptt_mcptt|twrap_media_mcptt_chat/twrap_media_audio_ptt_mcptt.swigValue|twrap_media_mcptt_chat.swigValue/g' java/android/twrap_media_type_t.java fi if [[ "$OS" == "Darwin"* ]]; then #MAC OSX sed -i '' 's///g' java/android/twrap_media_type_t.java else #NOT MAC OSX sed -i 's///g' java/android/twrap_media_type_t.java fi rm $DIR_PROJECT/android-ngn-stack/src/main/java/org/doubango/tinyWRAP/* cp java/android/*.java $DIR_PROJECT/android-ngn-stack/src/main/java/org/doubango/tinyWRAP/ mv java/android/*.cxx _common/ mv java/android/*.h _common/ if [[ "$OS" == "Darwin"* ]]; then #MAC OSX sed -i '' 's/director_->swig_jvm_->AttachCurrentThread((void **) &jenv_, NULL);/(director_->swig_jvm_->AttachCurrentThread( &jenv_, NULL);/g' _common/tinyWRAP_wrap.cxx else #NOT MAC OSX sed -i 's/director_->swig_jvm_->AttachCurrentThread((void **) &jenv_, NULL);/(director_->swig_jvm_->AttachCurrentThread( &jenv_, NULL);/g' _common/tinyWRAP_wrap.cxx fi #sed -i 's/AttachCurrentThread((void \*\*)/AttachCurrentThread((JNIEnv \*\*)/g' java/android/tinyWRAP_wrap.cxx #sed -i 's/AttachCurrentThreadAsDaemon((void \*\*)/AttachCurrentThreadAsDaemon((JNIEnv \*\*)/g' java/android/tinyWRAP_wrap.cxx #for f in SipCallback DDebugCallback ProxyPluginMgrCallback ProxyAudioConsumerCallback ProxyAudioProducerCallback ProxyVideoProducerCallback ProxyVideoConsumerCallback XcapCallback MsrpCallback T140Callback #do # sed -i 's/_director_connect(this, swigCPtr, swigCMemOwn, true)/_director_connect(this, swigCPtr, swigCMemOwn, false)/g' java/android/$f.java #done ##### Python echo "--->Python...<---" #swig -c++ -python -outdir python -o python/tinyWRAP_wrap.cxx python/python.i ##### Perl echo "--->Perl...<---" #swig -c++ -perl -outdir perl -o Perl/tinyWRAP_wrap.cxx perl/perl.i ##### Ruby echo "--->Ruby...<---" #swig -c++ -ruby -outdir Ruby -o Ruby/tinyWRAP_wrap.cxx ruby/ruby.i