Update android makefiles to support shared libs.
This commit is contained in:
parent
cf8a36f806
commit
d8a71a55c8
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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 $@
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
<link>
|
||||
<name>libs/armeabi/libtinyWRAP.so</name>
|
||||
<type>1</type>
|
||||
<location>C:/doubango/android-projects/output/libtinyWRAP.so</location>
|
||||
<location>C:/Projects/Doubango/android-projects/output/libtinyWRAP.so</location>
|
||||
</link>
|
||||
</linkedResources>
|
||||
</projectDescription>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.doubango.tinyWRAP"
|
||||
package="org.doubango.test"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
<application android:icon="@drawable/icon" android:label="@string/app_name">
|
||||
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
|
||||
<activity android:name=".Main"
|
||||
android:label="@string/app_name">
|
||||
<intent-filter>
|
||||
|
@ -16,5 +16,9 @@
|
|||
<uses-sdk android:minSdkVersion="3" />
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
|
||||
|
||||
|
||||
|
||||
</manifest>
|
|
@ -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;
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
>
|
||||
<TextView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/hello"
|
||||
/>
|
||||
</LinearLayout>
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="hello">Hello World, Main!</string>
|
||||
<string name="app_name">doubango</string>
|
||||
</resources>
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 $@
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 $@
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 $@
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 $@
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 $@
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 $@
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 $@
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 $@
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 $@
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -51,7 +51,9 @@
|
|||
<ul>
|
||||
<li>SIP (RFC 3261, 3GPP TS 24.229 Rel-9)</li>
|
||||
|
||||
<li>IMS-AKA (RFC 3310, 3GPP TS 33.203)</li>
|
||||
<li>IMS-AKA (RFC 3310, 3GPP TS 33.203, 35.205, 35.206, 35.207, 35.208 and 35.909)</li>
|
||||
|
||||
<li>Private extension headers for 3GPP</li>
|
||||
|
||||
<li>IPv4/IPv6 dual stack</li>
|
||||
|
||||
|
@ -77,7 +79,7 @@
|
|||
|
||||
<li>The tel URI for Telephone Numbers (RFC 3966)</li>
|
||||
|
||||
<li>SIMPLE</li>
|
||||
<li>SIP SIMPLE (Presence Subscription/Publication and Pager Mode IM)</li>
|
||||
|
||||
<li>MMTel (UNI)</li>
|
||||
|
||||
|
@ -87,6 +89,10 @@
|
|||
|
||||
<li>MSRP (RFC 4975 and 5547)</li>
|
||||
|
||||
<li>Audio/Video (AMR, Speex, G.711, H.264, H.263, MPEG4...)</li>
|
||||
|
||||
<li>...and many other features</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>
|
||||
|
|
Loading…
Reference in New Issue