diff --git a/trunk/android-projects/makefile b/trunk/android-projects/makefile index e39ddd44..ed77f8d3 100644 --- a/trunk/android-projects/makefile +++ b/trunk/android-projects/makefile @@ -24,6 +24,7 @@ clean: else ##### All other libraries (tiny*) all: (cd ../$(PROJECT) ; $(MAKE) -f droid-makefile all; $(MAKE) -f droid-makefile install; cp --force lib$(PROJECT).$(EXT) $(OUTPUT_DIR)) +test: (cd ../$(PROJECT)/test; $(MAKE) -f droid-makefile all; $(MAKE) -f droid-makefile install; cp --force test $(OUTPUT_DIR)) clean: diff --git a/trunk/android-projects/root.mk b/trunk/android-projects/root.mk index 330c7877..8a4cd332 100644 --- a/trunk/android-projects/root.mk +++ b/trunk/android-projects/root.mk @@ -2,9 +2,9 @@ ## Root configuration file shared by all android projects. ###### -export ANDROID_NDK_ROOT=/cygdrive/c/android-ndk +export ANDROID_NDK_ROOT=/cygdrive/c/android-ndk-r3 export ANDROID_SDK_ROOT=/cygdrive/c/android-sdk -export ANDROID_PLATFORM=$(ANDROID_NDK_ROOT)/build/platforms/android-4 +export ANDROID_PLATFORM=$(ANDROID_NDK_ROOT)/build/platforms/android-5 # Output directory export OUTPUT_DIR=$(shell pwd)/output @@ -18,6 +18,7 @@ export LIB_DIR=/system/lib export AR=arm-eabi-ar export CC=arm-eabi-gcc export CPP=arm-eabi-g++ + export CFLAGS+=$(DEBUG_FLAGS) -I$(ANDROID_PLATFORM)/arch-arm/usr/include \ -march=armv5te \ -mtune=xscale \ @@ -47,9 +48,8 @@ export LDFLAGS_COMMON+=-nostdlib -lc -L$(OUTPUT_DIR) ifeq ($(BT), static) export EXT=a export LDFLAGS= - export LD_O= - export LINK_LIB=$(AR) crs + export CFLAGS+=-static else export EXT=so @@ -57,7 +57,4 @@ else export LDFLAGS+=-Wl,--no-undefined export LDFLAGS+=-Wl,--no-whole-archive export LDFLAGS+=-Wl,-soname,lib$(PROJECT).$(EXT),-Bsymbolic,-shared,--whole-archive - - export LD_O=-o - export LINK_LIB = $(CC) endif diff --git a/trunk/bindings/csharp/test/Program.cs b/trunk/bindings/csharp/test/Program.cs index 76762373..4ba721f9 100644 --- a/trunk/bindings/csharp/test/Program.cs +++ b/trunk/bindings/csharp/test/Program.cs @@ -40,7 +40,7 @@ namespace test success = stack.start(); /* Set Password */ - stack.setPassword(PASSWORD); + //stack.setPassword(PASSWORD); /* Send REGISTER */ regSession = new RegistrationSession(stack); @@ -48,10 +48,10 @@ namespace test regSession.addCaps("+g.3gpp.smsip"); regSession.addCaps("language", "\"en,fr\""); regSession.setExpires(35); - //regSession.Register(); + regSession.Register(); /* Send SUBSCRIBE(reg) */ - subSession = new SubscriptionSession(stack); + /*subSession = new SubscriptionSession(stack); subSession.addHeader("Event", "reg"); subSession.addHeader("Accept", "application/reginfo+xml"); subSession.addHeader("Allow-Events", "refer, presence, presence.winfo, xcap-diff, conference"); @@ -59,7 +59,7 @@ namespace test //String s = "H\x00\x15eg\x09\x20mamadou"; //subSession.setPayload(s, (uint)s.Length); - subSession.Subscribe(); + subSession.Subscribe();*/ Console.Read(); diff --git a/trunk/bindings/csharp/tsip_subscribe_event_type_t.cs b/trunk/bindings/csharp/tsip_subscribe_event_type_t.cs new file mode 100644 index 00000000..1ac98e25 --- /dev/null +++ b/trunk/bindings/csharp/tsip_subscribe_event_type_t.cs @@ -0,0 +1,23 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +public enum tsip_subscribe_event_type_t { + tsip_i_subscribe, + tsip_ai_subscribe, + tsip_o_subscribe, + tsip_ao_subscribe, + tsip_i_unsubscribe, + tsip_ai_unsubscribe, + tsip_o_unsubscribe, + tsip_ao_unsubscribe, + tsip_i_notify, + tsip_ai_notify, + tsip_o_notify, + tsip_ao_notify +} diff --git a/trunk/bindings/java/SWIGTYPE_p_tsip_subscribe_event_type_t.java b/trunk/bindings/java/SWIGTYPE_p_tsip_subscribe_event_type_t.java deleted file mode 100644 index 2c698464..00000000 --- a/trunk/bindings/java/SWIGTYPE_p_tsip_subscribe_event_type_t.java +++ /dev/null @@ -1,26 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.40 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -package org.doubango.tinyWRAP; - -public class SWIGTYPE_p_tsip_subscribe_event_type_t { - private long swigCPtr; - - protected SWIGTYPE_p_tsip_subscribe_event_type_t(long cPtr, boolean futureUse) { - swigCPtr = cPtr; - } - - protected SWIGTYPE_p_tsip_subscribe_event_type_t() { - swigCPtr = 0; - } - - protected static long getCPtr(SWIGTYPE_p_tsip_subscribe_event_type_t obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } -} - diff --git a/trunk/bindings/java/droid-makefile b/trunk/bindings/java/droid-makefile index aec1e6d6..ee95fe3c 100644 --- a/trunk/bindings/java/droid-makefile +++ b/trunk/bindings/java/droid-makefile @@ -1,7 +1,7 @@ -APP := lib$(PROJECT).so +APP := lib$(PROJECT).$(EXT) CFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions -I../_common -I../. -I../../tinySAK/src -I../../tinyNET/src -I../../tinyHTTP/include -I../../tinySIP/include -LDFLAGS := $(LDFLAGS) -Wl,-soname,lib$(PROJECT).so,-Bsymbolic,-shared,--whole-archive -lstdc++ -ltinySAK -ltinyNET -ltinySIP +LDFLAGS := $(LDFLAGS) -lstdc++ -ltinySAK -ltinyHTTP -ltinyIPSec -ltinyNET -ltinySIP @@ -19,8 +19,13 @@ OBJS = tinyWRAP_wrap.o\ ../_common/SubscriptionEvent.o \ ../_common/SubscriptionSession.o + $(APP): $(OBJS) - $(CPP) $(LDFLAGS) -o $@ $^ +ifeq ($(EXT), a) + $(AR) rcs $@ $^ +else + $(CC) $(LDFLAGS) -o $@ $^ +endif %.o: %.cxx $(CPP) -c $(INCLUDE) $(CFLAGS) $< -o $@ diff --git a/trunk/bindings/java/droid-test/.project b/trunk/bindings/java/droid-test/.project index bb63fdd7..9cef5645 100644 --- a/trunk/bindings/java/droid-test/.project +++ b/trunk/bindings/java/droid-test/.project @@ -69,7 +69,7 @@ libs/armeabi/libtinyWRAP.so 1 - C:/doubango/android-projects/output/libtinyWRAP.so + C:/Projects/Doubango/android-projects/output/libtinyWRAP.so diff --git a/trunk/bindings/java/droid-test/AndroidManifest.xml b/trunk/bindings/java/droid-test/AndroidManifest.xml index 646c370d..306e59be 100644 --- a/trunk/bindings/java/droid-test/AndroidManifest.xml +++ b/trunk/bindings/java/droid-test/AndroidManifest.xml @@ -1,9 +1,9 @@ - + @@ -16,5 +16,9 @@ + + + + \ No newline at end of file diff --git a/trunk/bindings/java/droid-test/gen/org/doubango/test/R.java b/trunk/bindings/java/droid-test/gen/org/doubango/test/R.java new file mode 100644 index 00000000..b3cf0c28 --- /dev/null +++ b/trunk/bindings/java/droid-test/gen/org/doubango/test/R.java @@ -0,0 +1,23 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * aapt tool from the resource data it found. It + * should not be modified by hand. + */ + +package org.doubango.test; + +public final class R { + public static final class attr { + } + public static final class drawable { + public static final int icon=0x7f020000; + } + public static final class layout { + public static final int main=0x7f030000; + } + public static final class string { + public static final int app_name=0x7f040001; + public static final int hello=0x7f040000; + } +} diff --git a/trunk/bindings/java/droid-test/res/drawable/icon.png b/trunk/bindings/java/droid-test/res/drawable/icon.png new file mode 100644 index 00000000..a07c69fa Binary files /dev/null and b/trunk/bindings/java/droid-test/res/drawable/icon.png differ diff --git a/trunk/bindings/java/droid-test/res/layout/main.xml b/trunk/bindings/java/droid-test/res/layout/main.xml new file mode 100644 index 00000000..3a5f117d --- /dev/null +++ b/trunk/bindings/java/droid-test/res/layout/main.xml @@ -0,0 +1,12 @@ + + + + diff --git a/trunk/bindings/java/droid-test/res/values/strings.xml b/trunk/bindings/java/droid-test/res/values/strings.xml new file mode 100644 index 00000000..89dc1978 --- /dev/null +++ b/trunk/bindings/java/droid-test/res/values/strings.xml @@ -0,0 +1,5 @@ + + + Hello World, Main! + doubango + diff --git a/trunk/bindings/java/droid-test/src/org/doubango/test/Main.java b/trunk/bindings/java/droid-test/src/org/doubango/test/Main.java new file mode 100644 index 00000000..f0c6bdda --- /dev/null +++ b/trunk/bindings/java/droid-test/src/org/doubango/test/Main.java @@ -0,0 +1,139 @@ +package org.doubango.test; + +import org.doubango.tinyWRAP.RegistrationEvent; +import org.doubango.tinyWRAP.RegistrationSession; +import org.doubango.tinyWRAP.SipCallback; +import org.doubango.tinyWRAP.SipStack; + +import android.app.Activity; +import android.net.DhcpInfo; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.os.Bundle; + +public class Main extends Activity { + + final String REALM = "ericsson.com"; + final String USER = "mamadou"; + final String PROXY_CSCF_IP = "192.168.0.13"; + //final String PASSWORD = null; + final int PROXY_CSCF_PORT = 5081; + + private String getDns1() + { + WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); + String[] dhcpInfos = wifiManager.getDhcpInfo().toString().split(" "); + int i = 0; + + while (i++ < dhcpInfos.length) { + if (dhcpInfos[i-1].equals("dns1")) { + return dhcpInfos[i]; + } + } + return null; + } + + private String getLocalIP(){ + WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); + WifiInfo wifiInfo = wifiManager.getConnectionInfo(); + int ipAddress = wifiInfo.getIpAddress(); /*what about IPv6?*/ + + if(ipAddress != 0){ + return String.format("%d.%d.%d.%d", + (ipAddress>>0)&0xFF, + (ipAddress>>8)&0xFF, + (ipAddress>>16)&0xFF, + (ipAddress>>24)&0xFF + ); + } + else{ + return null; + } + } + + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + + @SuppressWarnings("unused") + boolean success; + + /* Create call back */ + callback = new MyCallback(); + /* Create and configure the IMS/LTE stack */ + stack = new SipStack(callback, String.format("sip:%s", REALM), String.format("%s@%s", USER, REALM), String.format("sip:%s@%s", USER, REALM)); + stack.addHeader("Privacy", "INVITE, ACK, CANCEL, BYE, MESSAGE, OPTIONS, NOTIFY, PRACK, UPDATE, REFER"); + stack.addHeader("P-Access-Network-Info", "ADSL;utran-cell-id-3gpp=00000000"); + stack.addHeader("User-Agent", "IM-client/OMA1.0 doubango/v1.0.0"); + + /* Sets Proxy-CSCF */ + success = stack.setProxyCSCF(PROXY_CSCF_IP, PROXY_CSCF_PORT, "tcp", "ipv4"); + /* Sets Local IP if we are on the emulator */ + /*if(android.provider.Settings.Secure.ANDROID_ID == null)*/{ + String localIP, dns1; + if((localIP = this.getLocalIP()) == null){ + localIP = "10.0.2.15"; + } + dns1 = this.getDns1(); + success = stack.setLocalIP(localIP); + } + /* Set Password */ + //success = stack.setPassword(PASSWORD); + /* Starts the stack */ + success = stack.start(); + + /* Send REGISTER */ + regSession = new RegistrationSession(stack); + regSession.addCaps("+g.oma.sip-im"); + regSession.addCaps("+g.3gpp.smsip"); + regSession.addCaps("language", "\"en,fr\""); + regSession.setExpires(30); + if((success = regSession.Register())){ + } + + + } + + + static RegistrationSession regSession; + static MyCallback callback; + static SipStack stack; + + + + static { + try { + System.loadLibrary("tinyWRAP"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native code library failed to load.\n" + e); + System.exit(1); + } + catch(Exception e){ + e.printStackTrace(); + } + } +} + + +class MyCallback extends SipCallback +{ + public MyCallback() + { + super(); + } + + public int OnRegistrationChanged(RegistrationEvent e) + { + short code = e.getCode(); + //tsip_event_type_t type = e.getType(); + + //RegistrationSession session = (RegistrationSession) e.getSession(); + + System.out.println("Code=" + code); + System.out.println("Phrase=" + e.getPhrase()); + + return 0; + } +} \ No newline at end of file diff --git a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/RegistrationEvent.java b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/RegistrationEvent.java index d6f22815..d2fe11dc 100644 --- a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/RegistrationEvent.java +++ b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/RegistrationEvent.java @@ -39,8 +39,12 @@ public class RegistrationEvent extends SipEvent { this(tinyWRAPJNI.new_RegistrationEvent(), true); } - public RegistrationSession getSession2() { - long cPtr = tinyWRAPJNI.RegistrationEvent_getSession2(swigCPtr, this); + public tsip_register_event_type_t getType() { + return tsip_register_event_type_t.swigToEnum(tinyWRAPJNI.RegistrationEvent_getType(swigCPtr, this)); + } + + public RegistrationSession getSession() { + long cPtr = tinyWRAPJNI.RegistrationEvent_getSession(swigCPtr, this); return (cPtr == 0) ? null : new RegistrationSession(cPtr, false); } diff --git a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/RegistrationSession.java b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/RegistrationSession.java index be5f97c5..020e5527 100644 --- a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/RegistrationSession.java +++ b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/RegistrationSession.java @@ -39,8 +39,8 @@ public class RegistrationSession extends SipSession { this(tinyWRAPJNI.new_RegistrationSession(SipStack.getCPtr(Stack), Stack), true); } - public boolean Register(long expires) { - return tinyWRAPJNI.RegistrationSession_Register(swigCPtr, this, expires); + public boolean Register() { + return tinyWRAPJNI.RegistrationSession_Register(swigCPtr, this); } public boolean UnRegister() { diff --git a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipCallback.java b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipCallback.java index 22af0f56..6f8b8dd0 100644 --- a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipCallback.java +++ b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipCallback.java @@ -59,4 +59,8 @@ public class SipCallback { return (getClass() == SipCallback.class) ? tinyWRAPJNI.SipCallback_OnRegistrationChanged(swigCPtr, this, RegistrationEvent.getCPtr(e), e) : tinyWRAPJNI.SipCallback_OnRegistrationChangedSwigExplicitSipCallback(swigCPtr, this, RegistrationEvent.getCPtr(e), e); } + public int OnSubscriptionChanged(SubscriptionEvent e) { + return (getClass() == SipCallback.class) ? tinyWRAPJNI.SipCallback_OnSubscriptionChanged(swigCPtr, this, SubscriptionEvent.getCPtr(e), e) : tinyWRAPJNI.SipCallback_OnSubscriptionChangedSwigExplicitSipCallback(swigCPtr, this, SubscriptionEvent.getCPtr(e), e); + } + } diff --git a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipEvent.java b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipEvent.java index f1619d52..476e077f 100644 --- a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipEvent.java +++ b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipEvent.java @@ -36,11 +36,7 @@ public class SipEvent { } public SipEvent() { - this(tinyWRAPJNI.new_SipEvent__SWIG_0(), true); - } - - public SipEvent(short code, String phrase) { - this(tinyWRAPJNI.new_SipEvent__SWIG_1(code, phrase), true); + this(tinyWRAPJNI.new_SipEvent(), true); } public short getCode() { @@ -51,12 +47,8 @@ public class SipEvent { return tinyWRAPJNI.SipEvent_getPhrase(swigCPtr, this); } - public tsip_event_type_t getType() { - return tsip_event_type_t.swigToEnum(tinyWRAPJNI.SipEvent_getType(swigCPtr, this)); - } - - public SipSession getSession() { - long cPtr = tinyWRAPJNI.SipEvent_getSession(swigCPtr, this); + public SipSession getBaseSession() { + long cPtr = tinyWRAPJNI.SipEvent_getBaseSession(swigCPtr, this); return (cPtr == 0) ? null : new SipSession(cPtr, false); } diff --git a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipSession.java b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipSession.java index 71a15b07..e5d7ebc4 100644 --- a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipSession.java +++ b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipSession.java @@ -71,4 +71,8 @@ public class SipSession { return tinyWRAPJNI.SipSession_setToUri(swigCPtr, this, toUri); } + public boolean setPayload(String str, long len) { + return tinyWRAPJNI.SipSession_setPayload(swigCPtr, this, str, len); + } + } diff --git a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipStack.java b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipStack.java index 95e1b72b..64335f45 100644 --- a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipStack.java +++ b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SipStack.java @@ -39,8 +39,12 @@ public class SipStack extends SafeObject { this(tinyWRAPJNI.new_SipStack(SipCallback.getCPtr(callback), callback, realm_uri, impi_uri, impu_uri), true); } - public boolean Start() { - return tinyWRAPJNI.SipStack_Start(swigCPtr, this); + public boolean start() { + return tinyWRAPJNI.SipStack_start(swigCPtr, this); + } + + public boolean setPassword(String password) { + return tinyWRAPJNI.SipStack_setPassword(swigCPtr, this, password); } public boolean setProxyCSCF(String fqdn, long port, String transport, String ipversion) { @@ -63,8 +67,8 @@ public class SipStack extends SafeObject { return tinyWRAPJNI.SipStack_removeHeader(swigCPtr, this, name); } - public boolean Stop() { - return tinyWRAPJNI.SipStack_Stop(swigCPtr, this); + public boolean stop() { + return tinyWRAPJNI.SipStack_stop(swigCPtr, this); } } diff --git a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SubscriptionEvent.java b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SubscriptionEvent.java new file mode 100644 index 00000000..1f131025 --- /dev/null +++ b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SubscriptionEvent.java @@ -0,0 +1,51 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.doubango.tinyWRAP; + +public class SubscriptionEvent extends SipEvent { + private long swigCPtr; + + protected SubscriptionEvent(long cPtr, boolean cMemoryOwn) { + super(tinyWRAPJNI.SWIGSubscriptionEventUpcast(cPtr), cMemoryOwn); + swigCPtr = cPtr; + } + + protected static long getCPtr(SubscriptionEvent obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + tinyWRAPJNI.delete_SubscriptionEvent(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public SubscriptionEvent() { + this(tinyWRAPJNI.new_SubscriptionEvent(), true); + } + + public tsip_subscribe_event_type_t getType() { + return tsip_subscribe_event_type_t.swigToEnum(tinyWRAPJNI.SubscriptionEvent_getType(swigCPtr, this)); + } + + public SubscriptionSession getSession() { + long cPtr = tinyWRAPJNI.SubscriptionEvent_getSession(swigCPtr, this); + return (cPtr == 0) ? null : new SubscriptionSession(cPtr, false); + } + +} diff --git a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SubscriptionSession.java b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SubscriptionSession.java new file mode 100644 index 00000000..3ce5f44b --- /dev/null +++ b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/SubscriptionSession.java @@ -0,0 +1,50 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.doubango.tinyWRAP; + +public class SubscriptionSession extends SipSession { + private long swigCPtr; + + protected SubscriptionSession(long cPtr, boolean cMemoryOwn) { + super(tinyWRAPJNI.SWIGSubscriptionSessionUpcast(cPtr), cMemoryOwn); + swigCPtr = cPtr; + } + + protected static long getCPtr(SubscriptionSession obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + tinyWRAPJNI.delete_SubscriptionSession(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public SubscriptionSession(SipStack Stack) { + this(tinyWRAPJNI.new_SubscriptionSession(SipStack.getCPtr(Stack), Stack), true); + } + + public boolean Subscribe() { + return tinyWRAPJNI.SubscriptionSession_Subscribe(swigCPtr, this); + } + + public boolean UnSubscribe() { + return tinyWRAPJNI.SubscriptionSession_UnSubscribe(swigCPtr, this); + } + +} diff --git a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/tinyWRAPJNI.java b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/tinyWRAPJNI.java index 92804894..39a9dbe5 100644 --- a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/tinyWRAPJNI.java +++ b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/tinyWRAPJNI.java @@ -9,13 +9,11 @@ package org.doubango.tinyWRAP; class tinyWRAPJNI { - public final static native long new_SipEvent__SWIG_0(); - public final static native long new_SipEvent__SWIG_1(short jarg1, String jarg2); + public final static native long new_SipEvent(); public final static native void delete_SipEvent(long jarg1); public final static native short SipEvent_getCode(long jarg1, SipEvent jarg1_); public final static native String SipEvent_getPhrase(long jarg1, SipEvent jarg1_); - public final static native int SipEvent_getType(long jarg1, SipEvent jarg1_); - public final static native long SipEvent_getSession(long jarg1, SipEvent jarg1_); + public final static native long SipEvent_getBaseSession(long jarg1, SipEvent jarg1_); public final static native long new_SipSession(long jarg1, SipStack jarg1_); public final static native void delete_SipSession(long jarg1); public final static native boolean SipSession_addHeader(long jarg1, SipSession jarg1_, String jarg2, String jarg3); @@ -26,17 +24,29 @@ class tinyWRAPJNI { public final static native boolean SipSession_setExpires(long jarg1, SipSession jarg1_, long jarg2); public final static native boolean SipSession_setFromUri(long jarg1, SipSession jarg1_, String jarg2); public final static native boolean SipSession_setToUri(long jarg1, SipSession jarg1_, String jarg2); + public final static native boolean SipSession_setPayload(long jarg1, SipSession jarg1_, String jarg2, long jarg3); public final static native long new_RegistrationEvent(); public final static native void delete_RegistrationEvent(long jarg1); - public final static native long RegistrationEvent_getSession2(long jarg1, RegistrationEvent jarg1_); + public final static native int RegistrationEvent_getType(long jarg1, RegistrationEvent jarg1_); + public final static native long RegistrationEvent_getSession(long jarg1, RegistrationEvent jarg1_); public final static native long new_RegistrationSession(long jarg1, SipStack jarg1_); public final static native void delete_RegistrationSession(long jarg1); - public final static native boolean RegistrationSession_Register(long jarg1, RegistrationSession jarg1_, long jarg2); + public final static native boolean RegistrationSession_Register(long jarg1, RegistrationSession jarg1_); public final static native boolean RegistrationSession_UnRegister(long jarg1, RegistrationSession jarg1_); + public final static native long new_SubscriptionEvent(); + public final static native void delete_SubscriptionEvent(long jarg1); + public final static native int SubscriptionEvent_getType(long jarg1, SubscriptionEvent jarg1_); + public final static native long SubscriptionEvent_getSession(long jarg1, SubscriptionEvent jarg1_); + public final static native long new_SubscriptionSession(long jarg1, SipStack jarg1_); + public final static native void delete_SubscriptionSession(long jarg1); + public final static native boolean SubscriptionSession_Subscribe(long jarg1, SubscriptionSession jarg1_); + public final static native boolean SubscriptionSession_UnSubscribe(long jarg1, SubscriptionSession jarg1_); public final static native long new_SipCallback(); public final static native void delete_SipCallback(long jarg1); public final static native int SipCallback_OnRegistrationChanged(long jarg1, SipCallback jarg1_, long jarg2, RegistrationEvent jarg2_); public final static native int SipCallback_OnRegistrationChangedSwigExplicitSipCallback(long jarg1, SipCallback jarg1_, long jarg2, RegistrationEvent jarg2_); + public final static native int SipCallback_OnSubscriptionChanged(long jarg1, SipCallback jarg1_, long jarg2, SubscriptionEvent jarg2_); + public final static native int SipCallback_OnSubscriptionChangedSwigExplicitSipCallback(long jarg1, SipCallback jarg1_, long jarg2, SubscriptionEvent jarg2_); public final static native void SipCallback_director_connect(SipCallback obj, long cptr, boolean mem_own, boolean weak_global); public final static native void SipCallback_change_ownership(SipCallback obj, long cptr, boolean take_or_release); public final static native long new_SafeObject(); @@ -45,20 +55,26 @@ class tinyWRAPJNI { public final static native int SafeObject_UnLock(long jarg1, SafeObject jarg1_); public final static native long new_SipStack(long jarg1, SipCallback jarg1_, String jarg2, String jarg3, String jarg4); public final static native void delete_SipStack(long jarg1); - public final static native boolean SipStack_Start(long jarg1, SipStack jarg1_); + public final static native boolean SipStack_start(long jarg1, SipStack jarg1_); + public final static native boolean SipStack_setPassword(long jarg1, SipStack jarg1_, String jarg2); public final static native boolean SipStack_setProxyCSCF(long jarg1, SipStack jarg1_, String jarg2, long jarg3, String jarg4, String jarg5); public final static native boolean SipStack_setLocalIP(long jarg1, SipStack jarg1_, String jarg2); public final static native boolean SipStack_setLocalPort(long jarg1, SipStack jarg1_, long jarg2); public final static native boolean SipStack_addHeader(long jarg1, SipStack jarg1_, String jarg2, String jarg3); public final static native boolean SipStack_removeHeader(long jarg1, SipStack jarg1_, String jarg2); - public final static native boolean SipStack_Stop(long jarg1, SipStack jarg1_); + public final static native boolean SipStack_stop(long jarg1, SipStack jarg1_); public final static native long SWIGRegistrationEventUpcast(long jarg1); public final static native long SWIGRegistrationSessionUpcast(long jarg1); + public final static native long SWIGSubscriptionEventUpcast(long jarg1); + public final static native long SWIGSubscriptionSessionUpcast(long jarg1); public final static native long SWIGSipStackUpcast(long jarg1); public static int SwigDirector_SipCallback_OnRegistrationChanged(SipCallback self, long e) { return self.OnRegistrationChanged((e == 0) ? null : new RegistrationEvent(e, false)); } + public static int SwigDirector_SipCallback_OnSubscriptionChanged(SipCallback self, long e) { + return self.OnSubscriptionChanged((e == 0) ? null : new SubscriptionEvent(e, false)); + } private final static native void swig_module_init(); static { diff --git a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/tsip_register_event_type_t.java b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/tsip_register_event_type_t.java new file mode 100644 index 00000000..23b8d8d6 --- /dev/null +++ b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/tsip_register_event_type_t.java @@ -0,0 +1,60 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.doubango.tinyWRAP; + +public final class tsip_register_event_type_t { + public final static tsip_register_event_type_t tsip_i_register = new tsip_register_event_type_t("tsip_i_register"); + public final static tsip_register_event_type_t tsip_ai_register = new tsip_register_event_type_t("tsip_ai_register"); + public final static tsip_register_event_type_t tsip_o_register = new tsip_register_event_type_t("tsip_o_register"); + public final static tsip_register_event_type_t tsip_ao_register = new tsip_register_event_type_t("tsip_ao_register"); + public final static tsip_register_event_type_t tsip_i_unregister = new tsip_register_event_type_t("tsip_i_unregister"); + public final static tsip_register_event_type_t tsip_ai_unregister = new tsip_register_event_type_t("tsip_ai_unregister"); + public final static tsip_register_event_type_t tsip_o_unregister = new tsip_register_event_type_t("tsip_o_unregister"); + public final static tsip_register_event_type_t tsip_ao_unregister = new tsip_register_event_type_t("tsip_ao_unregister"); + + public final int swigValue() { + return swigValue; + } + + public String toString() { + return swigName; + } + + public static tsip_register_event_type_t swigToEnum(int swigValue) { + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (int i = 0; i < swigValues.length; i++) + if (swigValues[i].swigValue == swigValue) + return swigValues[i]; + throw new IllegalArgumentException("No enum " + tsip_register_event_type_t.class + " with value " + swigValue); + } + + private tsip_register_event_type_t(String swigName) { + this.swigName = swigName; + this.swigValue = swigNext++; + } + + private tsip_register_event_type_t(String swigName, int swigValue) { + this.swigName = swigName; + this.swigValue = swigValue; + swigNext = swigValue+1; + } + + private tsip_register_event_type_t(String swigName, tsip_register_event_type_t swigEnum) { + this.swigName = swigName; + this.swigValue = swigEnum.swigValue; + swigNext = this.swigValue+1; + } + + private static tsip_register_event_type_t[] swigValues = { tsip_i_register, tsip_ai_register, tsip_o_register, tsip_ao_register, tsip_i_unregister, tsip_ai_unregister, tsip_o_unregister, tsip_ao_unregister }; + private static int swigNext = 0; + private final int swigValue; + private final String swigName; +} + diff --git a/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/tsip_subscribe_event_type_t.java b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/tsip_subscribe_event_type_t.java new file mode 100644 index 00000000..a6bb3ba4 --- /dev/null +++ b/trunk/bindings/java/droid-test/src/org/doubango/tinyWRAP/tsip_subscribe_event_type_t.java @@ -0,0 +1,64 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.doubango.tinyWRAP; + +public final class tsip_subscribe_event_type_t { + public final static tsip_subscribe_event_type_t tsip_i_subscribe = new tsip_subscribe_event_type_t("tsip_i_subscribe"); + public final static tsip_subscribe_event_type_t tsip_ai_subscribe = new tsip_subscribe_event_type_t("tsip_ai_subscribe"); + public final static tsip_subscribe_event_type_t tsip_o_subscribe = new tsip_subscribe_event_type_t("tsip_o_subscribe"); + public final static tsip_subscribe_event_type_t tsip_ao_subscribe = new tsip_subscribe_event_type_t("tsip_ao_subscribe"); + public final static tsip_subscribe_event_type_t tsip_i_unsubscribe = new tsip_subscribe_event_type_t("tsip_i_unsubscribe"); + public final static tsip_subscribe_event_type_t tsip_ai_unsubscribe = new tsip_subscribe_event_type_t("tsip_ai_unsubscribe"); + public final static tsip_subscribe_event_type_t tsip_o_unsubscribe = new tsip_subscribe_event_type_t("tsip_o_unsubscribe"); + public final static tsip_subscribe_event_type_t tsip_ao_unsubscribe = new tsip_subscribe_event_type_t("tsip_ao_unsubscribe"); + public final static tsip_subscribe_event_type_t tsip_i_notify = new tsip_subscribe_event_type_t("tsip_i_notify"); + public final static tsip_subscribe_event_type_t tsip_ai_notify = new tsip_subscribe_event_type_t("tsip_ai_notify"); + public final static tsip_subscribe_event_type_t tsip_o_notify = new tsip_subscribe_event_type_t("tsip_o_notify"); + public final static tsip_subscribe_event_type_t tsip_ao_notify = new tsip_subscribe_event_type_t("tsip_ao_notify"); + + public final int swigValue() { + return swigValue; + } + + public String toString() { + return swigName; + } + + public static tsip_subscribe_event_type_t swigToEnum(int swigValue) { + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (int i = 0; i < swigValues.length; i++) + if (swigValues[i].swigValue == swigValue) + return swigValues[i]; + throw new IllegalArgumentException("No enum " + tsip_subscribe_event_type_t.class + " with value " + swigValue); + } + + private tsip_subscribe_event_type_t(String swigName) { + this.swigName = swigName; + this.swigValue = swigNext++; + } + + private tsip_subscribe_event_type_t(String swigName, int swigValue) { + this.swigName = swigName; + this.swigValue = swigValue; + swigNext = swigValue+1; + } + + private tsip_subscribe_event_type_t(String swigName, tsip_subscribe_event_type_t swigEnum) { + this.swigName = swigName; + this.swigValue = swigEnum.swigValue; + swigNext = this.swigValue+1; + } + + private static tsip_subscribe_event_type_t[] swigValues = { tsip_i_subscribe, tsip_ai_subscribe, tsip_o_subscribe, tsip_ao_subscribe, tsip_i_unsubscribe, tsip_ai_unsubscribe, tsip_o_unsubscribe, tsip_ao_unsubscribe, tsip_i_notify, tsip_ai_notify, tsip_o_notify, tsip_ao_notify }; + private static int swigNext = 0; + private final int swigValue; + private final String swigName; +} + diff --git a/trunk/tinyDEMO/droid-makefile b/trunk/tinyDEMO/droid-makefile index 89e0a696..492aefff 100644 --- a/trunk/tinyDEMO/droid-makefile +++ b/trunk/tinyDEMO/droid-makefile @@ -1,7 +1,7 @@ APP := demo CFLAGS := $(CFLAGS) -I../tinySAK/src -I../tinyNET/src -I../tinySMS/include -I../tinyHTTP/include -I../tinySIP/include -LDFLAGS := $(LDFLAGS) -Bsymbolic -lm -ltinySAK -ltinySMS -ltinySIP +LDFLAGS := $(LDFLAGS_COMMON) -Wl,-Bsymbolic,--whole-archive -Wl,--entry=main -lm -ltinySAK -ltinyNET -ltinyHTTP -ltinyIPSec -ltinySMS -ltinySIP all: $(APP) diff --git a/trunk/tinyHTTP/droid-makefile b/trunk/tinyHTTP/droid-makefile index 8b04fa12..7cf1b183 100644 --- a/trunk/tinyHTTP/droid-makefile +++ b/trunk/tinyHTTP/droid-makefile @@ -1,7 +1,7 @@ -APP := lib$(PROJECT).so +APP := lib$(PROJECT).$(EXT) CFLAGS := $(CFLAGS) -I../tinySAK/src -I../tinyNET/src -I./include -LDFLAGS := $(LDFLAGS) -Wl,-soname,lib$(PROJECT).so,-Bsymbolic,-shared,--whole-archive -ltinySAK -ltinyNET +LDFLAGS := $(LDFLAGS) -ltinySAK -ltinyNET all: $(APP) @@ -37,7 +37,11 @@ OBJS += src/parsers/thttp_parser_header.o\ src/parsers/thttp_parser_url.o $(APP): $(OBJS) - $(CC) $(LDFLAGS) -o $@ $^ +ifeq ($(EXT), a) + $(AR) rcs $@ $^ +else + $(CC) $(LDFLAGS) -o $@ $^ +endif %.o: %.c $(CC) -c $(INCLUDE) $(CFLAGS) $< -o $@ diff --git a/trunk/tinyHTTP/ragel/thttp_parser_header.rl b/trunk/tinyHTTP/ragel/thttp_parser_header.rl index cb74af23..134d56de 100644 --- a/trunk/tinyHTTP/ragel/thttp_parser_header.rl +++ b/trunk/tinyHTTP/ragel/thttp_parser_header.rl @@ -486,4 +486,4 @@ int thttp_header_parse(tsk_ragel_state_t *state, thttp_message_t *message) %%write exec; return ( cs >= %%{ write first_final; }%% ) ? 0 : -1; -} \ No newline at end of file +} diff --git a/trunk/tinyHTTP/test/droid-makefile b/trunk/tinyHTTP/test/droid-makefile index 949aca24..0b559696 100644 --- a/trunk/tinyHTTP/test/droid-makefile +++ b/trunk/tinyHTTP/test/droid-makefile @@ -1,7 +1,7 @@ APP := test CFLAGS := $(CFLAGS) -I../include -I../../tinySAK/src -I../../tinyNET/src -LDFLAGS := $(LDFLAGS) -Bsymbolic -ltinySAK -ltinyNET -l$(PROJECT) +LDFLAGS := $(LDFLAGS_COMMON) -Wl,-Bsymbolic,--whole-archive -l$(PROJECT) -ltinySAK -ltinyNET -Wl,--entry=main all: $(APP) diff --git a/trunk/tinyIPSec/droid-makefile b/trunk/tinyIPSec/droid-makefile index 53d07730..75eb806b 100644 --- a/trunk/tinyIPSec/droid-makefile +++ b/trunk/tinyIPSec/droid-makefile @@ -1,7 +1,7 @@ -APP := lib$(PROJECT).so +APP := lib$(PROJECT).$(EXT) CFLAGS := $(CFLAGS) -I../tinySAK/src -I./src -LDFLAGS := $(LDFLAGS) -Wl,-soname,lib$(PROJECT).so,-Bsymbolic,-shared,--whole-archive -ltinySAK +LDFLAGS := -ltinySAK $(LDFLAGS) all: $(APP) @@ -14,7 +14,11 @@ OBJS = \ $(APP): $(OBJS) - $(CC) $(LDFLAGS) -o $@ $^ +ifeq ($(EXT), a) + $(AR) rcs $@ $^ +else + $(CC) $(LDFLAGS) -o $@ $^ +endif %.o: %.c $(CC) -c $(INCLUDE) $(CFLAGS) $< -o $@ diff --git a/trunk/tinyIPSec/test/droid-makefile b/trunk/tinyIPSec/test/droid-makefile index 773c2ed0..a86f36ad 100644 --- a/trunk/tinyIPSec/test/droid-makefile +++ b/trunk/tinyIPSec/test/droid-makefile @@ -1,7 +1,7 @@ APP := test CFLAGS := $(CFLAGS) -I../src -I../../tinySAK/src -LDFLAGS := $(LDFLAGS) -Bsymbolic -ltinySAK -l$(PROJECT) +LDFLAGS := $(LDFLAGS_COMMON) -Wl,-Bsymbolic,--whole-archive -l$(PROJECT) -ltinySAK -Wl,--entry=main all: $(APP) diff --git a/trunk/tinyMEDIA/droid-makefile b/trunk/tinyMEDIA/droid-makefile index 7e748b47..51539f12 100644 --- a/trunk/tinyMEDIA/droid-makefile +++ b/trunk/tinyMEDIA/droid-makefile @@ -1,7 +1,7 @@ -APP := lib$(PROJECT).so +APP := lib$(PROJECT).$(EXT) CFLAGS := $(CFLAGS) -I../tinySAK/src -I../tinyNET/src -I../tinySDP/include -I./include -LDFLAGS := $(LDFLAGS) -Wl,-soname,lib$(PROJECT).so,-Bsymbolic,-shared,--whole-archive -ltinySAK -ltinyNET -ltinySDP +LDFLAGS := $(LDFLAGS) -ltinySAK -ltinyNET -ltinySDP all: $(APP) @@ -16,7 +16,11 @@ OBJS = \ $(APP): $(OBJS) - $(CC) $(LDFLAGS) -o $@ $^ +ifeq ($(EXT), a) + $(AR) rcs $@ $^ +else + $(CC) $(LDFLAGS) -o $@ $^ +endif %.o: %.c $(CC) -c $(INCLUDE) $(CFLAGS) $< -o $@ diff --git a/trunk/tinyMEDIA/test/droid-makefile b/trunk/tinyMEDIA/test/droid-makefile index 1f3e622e..229dfa65 100644 --- a/trunk/tinyMEDIA/test/droid-makefile +++ b/trunk/tinyMEDIA/test/droid-makefile @@ -1,7 +1,7 @@ APP := test CFLAGS := $(CFLAGS) -I../include -I../../tinySAK/src -I../../tinyNET/src -I../../tinySDP/include -LDFLAGS := $(LDFLAGS) -Bsymbolic -ltinySAK -ltinyNET -ltinySDP -l$(PROJECT) +LDFLAGS := $(LDFLAGS_COMMON) -Wl,-Bsymbolic,--whole-archive -l$(PROJECT) -ltinySAK -ltinyNET -ltinySDP -Wl,--entry=main all: $(APP) diff --git a/trunk/tinyNET/droid-makefile b/trunk/tinyNET/droid-makefile index 8e60b042..7e182477 100644 --- a/trunk/tinyNET/droid-makefile +++ b/trunk/tinyNET/droid-makefile @@ -1,7 +1,7 @@ -APP := lib$(PROJECT).so +APP := lib$(PROJECT).$(EXT) CFLAGS := $(CFLAGS) -I../tinySAK/src -I./src -LDFLAGS := $(LDFLAGS) -Wl,-soname,lib$(PROJECT).so,-Bsymbolic,-shared,--whole-archive -ltinySAK +LDFLAGS := $(LDFLAGS) -ltinySAK all: $(APP) @@ -71,7 +71,11 @@ OBJS += src/turn/tnet_turn.o\ src/turn/tnet_turn_message.o $(APP): $(OBJS) - $(CC) $(LDFLAGS) -o $@ $^ +ifeq ($(EXT), a) + $(AR) rcs $@ $^ +else + $(CC) $(LDFLAGS) -o $@ $^ +endif %.o: %.c $(CC) -c $(INCLUDE) $(CFLAGS) $< -o $@ diff --git a/trunk/tinyNET/test/droid-makefile b/trunk/tinyNET/test/droid-makefile index 773c2ed0..e4a506fb 100644 --- a/trunk/tinyNET/test/droid-makefile +++ b/trunk/tinyNET/test/droid-makefile @@ -1,7 +1,7 @@ APP := test CFLAGS := $(CFLAGS) -I../src -I../../tinySAK/src -LDFLAGS := $(LDFLAGS) -Bsymbolic -ltinySAK -l$(PROJECT) +LDFLAGS := $(LDFLAGS_COMMON) -Wl,-Bsymbolic,--whole-archive -l$(PROJECT) -ltinySAK -Wl,--entry=main all: $(APP) diff --git a/trunk/tinySAK/droid-makefile b/trunk/tinySAK/droid-makefile index 3b6b898d..ba0f4965 100644 --- a/trunk/tinySAK/droid-makefile +++ b/trunk/tinySAK/droid-makefile @@ -36,7 +36,11 @@ OBJS = src/tsk.o\ src/tsk_xml.o $(APP): $(OBJS) - $(LINK_LIB) $(LDFLAGS) $(LD_O) $@ $^ +ifeq ($(EXT), a) + $(AR) rcs $@ $^ +else + $(CC) $(LDFLAGS) -o $@ $^ +endif %.o: %.c $(CC) -c $(INCLUDE) $(CFLAGS) $< -o $@ diff --git a/trunk/tinySAK/test/droid-makefile b/trunk/tinySAK/test/droid-makefile index acad9188..f1a5af95 100644 --- a/trunk/tinySAK/test/droid-makefile +++ b/trunk/tinySAK/test/droid-makefile @@ -1,7 +1,7 @@ APP := test CFLAGS := $(CFLAGS) -I../src -LDFLAGS := $(LDFLAGS_COMMON) -l$(PROJECT) -Wl,--entry=main +LDFLAGS := $(LDFLAGS_COMMON) -Wl,-Bsymbolic,--whole-archive -l$(PROJECT) -Wl,--entry=main all: $(APP) diff --git a/trunk/tinySDP/droid-makefile b/trunk/tinySDP/droid-makefile index 497889bd..4a546601 100644 --- a/trunk/tinySDP/droid-makefile +++ b/trunk/tinySDP/droid-makefile @@ -1,7 +1,7 @@ -APP := lib$(PROJECT).so +APP := lib$(PROJECT).$(EXT) CFLAGS := $(CFLAGS) -I../tinySAK/src -I./include -LDFLAGS := $(LDFLAGS) -Wl,-soname,lib$(PROJECT).so,-Bsymbolic,-shared,--whole-archive -ltinySAK +LDFLAGS := $(LDFLAGS) -ltinySAK all: $(APP) @@ -31,7 +31,11 @@ OBJS += src/parsers/tsdp_parser_message.o $(APP): $(OBJS) - $(CC) $(LDFLAGS) -o $@ $^ +ifeq ($(EXT), a) + $(AR) rcs $@ $^ +else + $(CC) $(LDFLAGS) -o $@ $^ +endif %.o: %.c $(CC) -c $(INCLUDE) $(CFLAGS) $< -o $@ diff --git a/trunk/tinySDP/test/droid-makefile b/trunk/tinySDP/test/droid-makefile index 29e1fd3a..4dc3bfe4 100644 --- a/trunk/tinySDP/test/droid-makefile +++ b/trunk/tinySDP/test/droid-makefile @@ -1,7 +1,7 @@ APP := test CFLAGS := $(CFLAGS) -I../include -I../../tinySAK/src -LDFLAGS := $(LDFLAGS) -Bsymbolic -ltinySAK -l$(PROJECT) +LDFLAGS := $(LDFLAGS_COMMON) -Wl,-Bsymbolic,--whole-archive -l$(PROJECT) -ltinySAK -Wl,--entry=main all: $(APP) diff --git a/trunk/tinySIP/droid-makefile b/trunk/tinySIP/droid-makefile index 85e5c317..5ee0f107 100644 --- a/trunk/tinySIP/droid-makefile +++ b/trunk/tinySIP/droid-makefile @@ -1,7 +1,7 @@ -APP := lib$(PROJECT).so +APP := lib$(PROJECT).$(EXT) CFLAGS := $(CFLAGS) -I../tinySAK/src -I../tinyNET/src -I../tinyHTTP/include -I../tinyIPSec/src -I../tinySDP/include -I../tinyMEDIA/include -I./include -LDFLAGS := $(LDFLAGS) -Wl,-soname,lib$(PROJECT).so,-Bsymbolic,-shared,--whole-archive -ltinySAK -ltinyNET -ltinyHTTP -ltinyIPSec -ltinySDP -ltinyMEDIA +LDFLAGS := $(LDFLAGS) -ltinySAK -ltinyNET -ltinyHTTP -ltinyIPSec -ltinySDP -ltinyMEDIA all: $(APP) @@ -162,7 +162,11 @@ OBJS += src/transports/tsip_transport.o\ $(APP): $(OBJS) - $(CC) $(LDFLAGS) -o $@ $^ +ifeq ($(EXT), a) + $(AR) rcs $@ $^ +else + $(CC) $(LDFLAGS) -o $@ $^ +endif %.o: %.c $(CC) -c $(INCLUDE) $(CFLAGS) $< -o $@ diff --git a/trunk/tinySIP/test/droid-makefile b/trunk/tinySIP/test/droid-makefile index 44a7901b..52011fd8 100644 --- a/trunk/tinySIP/test/droid-makefile +++ b/trunk/tinySIP/test/droid-makefile @@ -1,7 +1,7 @@ APP := test CFLAGS := $(CFLAGS) -I../include -I../../tinySAK/src -I../../tinyNET/src -I../../tinyHTTP/include -LDFLAGS := $(LDFLAGS) -Bsymbolic -ltinySAK -ltinyNET -l$(PROJECT) +LDFLAGS := $(LDFLAGS_COMMON) -Wl,-Bsymbolic,--whole-archive -l$(PROJECT) -ltinySAK -ltinyNET -Wl,--entry=main all: $(APP) diff --git a/trunk/tinySMS/droid-makefile b/trunk/tinySMS/droid-makefile index 5e411e30..e7d297c6 100644 --- a/trunk/tinySMS/droid-makefile +++ b/trunk/tinySMS/droid-makefile @@ -1,7 +1,7 @@ -APP := lib$(PROJECT).so +APP := lib$(PROJECT).$(EXT) CFLAGS := $(CFLAGS) -I../tinySAK/src -I./include -LDFLAGS := $(LDFLAGS) -Wl,-soname,lib$(PROJECT).so,-Bsymbolic,-shared,--whole-archive -ltinySAK +LDFLAGS := $(LDFLAGS) -ltinySAK all: $(APP) @@ -23,7 +23,11 @@ OBJS += src/tpdu/tsms_tpdu_command.o\ $(APP): $(OBJS) - $(CC) $(LDFLAGS) -o $@ $^ +ifeq ($(EXT), a) + $(AR) rcs $@ $^ +else + $(CC) $(LDFLAGS) -o $@ $^ +endif %.o: %.c $(CC) -c $(INCLUDE) $(CFLAGS) $< -o $@ diff --git a/trunk/tinySMS/test/droid-makefile b/trunk/tinySMS/test/droid-makefile index 29e1fd3a..4dc3bfe4 100644 --- a/trunk/tinySMS/test/droid-makefile +++ b/trunk/tinySMS/test/droid-makefile @@ -1,7 +1,7 @@ APP := test CFLAGS := $(CFLAGS) -I../include -I../../tinySAK/src -LDFLAGS := $(LDFLAGS) -Bsymbolic -ltinySAK -l$(PROJECT) +LDFLAGS := $(LDFLAGS_COMMON) -Wl,-Bsymbolic,--whole-archive -l$(PROJECT) -ltinySAK -Wl,--entry=main all: $(APP) diff --git a/trunk/tinyXCAP/droid-makefile b/trunk/tinyXCAP/droid-makefile index 45152691..1026f8f4 100644 --- a/trunk/tinyXCAP/droid-makefile +++ b/trunk/tinyXCAP/droid-makefile @@ -1,7 +1,7 @@ -APP := lib$(PROJECT).so +APP := lib$(PROJECT).$(EXT) CFLAGS := $(CFLAGS) -I../tinySAK/src -I../tinyNET/src -I../tinyHTTP/include -I./include -LDFLAGS := $(LDFLAGS) -Wl,-soname,lib$(PROJECT).so,-Bsymbolic,-shared,--whole-archive -ltinySAK -ltinyNET -ltinyHTTP +LDFLAGS := $(LDFLAGS) -ltinySAK -ltinyNET -ltinyHTTP all: $(APP) @@ -15,7 +15,11 @@ OBJS = \ $(APP): $(OBJS) - $(CC) $(LDFLAGS) -o $@ $^ +ifeq ($(EXT), a) + $(AR) rcs $@ $^ +else + $(CC) $(LDFLAGS) -o $@ $^ +endif %.o: %.c $(CC) -c $(INCLUDE) $(CFLAGS) $< -o $@ diff --git a/trunk/tinyXCAP/test/droid-makefile b/trunk/tinyXCAP/test/droid-makefile index 627a6ccb..7477fb91 100644 --- a/trunk/tinyXCAP/test/droid-makefile +++ b/trunk/tinyXCAP/test/droid-makefile @@ -1,7 +1,7 @@ APP := test CFLAGS := $(CFLAGS) -I../include -I../../tinySAK/src -I../../tinyNET/src -I../../tinyHTTP/include -LDFLAGS := $(LDFLAGS) -Bsymbolic -ltinySAK -ltinyNET -ltinyHTTP -l$(PROJECT) +LDFLAGS := $(LDFLAGS_COMMON) -Wl,-Bsymbolic,--whole-archive -l$(PROJECT) -ltinySAK -ltinyNET -ltinyHTTP -Wl,--entry=main all: $(APP) diff --git a/trunk/website/index.html b/trunk/website/index.html index 6b729291..009e1561 100644 --- a/trunk/website/index.html +++ b/trunk/website/index.html @@ -51,7 +51,9 @@