diff --git a/wiki/Building_Source_v2_0.wiki b/Building_Source_v2_0.md
similarity index 65%
rename from wiki/Building_Source_v2_0.wiki
rename to Building_Source_v2_0.md
index 072d42bf..9475da0f 100644
--- a/wiki/Building_Source_v2_0.wiki
+++ b/Building_Source_v2_0.md
@@ -1,89 +1,86 @@
-#summary Building Source v2.0
-#labels Featured,Phase-Deploy
-
-This section explains how to build the project using *CentOS 64* but could be easily adapted for any _Linux_, _Windows_ or _OS X_.
-
-
+This section explains how to build the project using **CentOS 64** but could be easily adapted for any _Linux_, _Windows_ or _OS X_.
-==Preparing the system==
-{{{
+
+
+## Preparing the system ##
+```
sudo yum update
sudo yum install make libtool autoconf subversion git wget libogg-devel gcc gcc-c++ pkgconfig nasm
-}}}
+```
The first step is to checkout Doubango 2.0 source code:
-{{{
+```
svn checkout https://doubango.googlecode.com/svn/branches/2.0/doubango doubango
-}}}
+```
-===Building libsrtp===
+### Building libsrtp ###
libsrtp is optional.
-{{{
+```
git clone https://github.com/cisco/libsrtp/
cd libsrtp
git checkout v1.5.0
CFLAGS="-fPIC" ./configure --enable-pic && make && make install
-}}}
+```
-===Building OpenSSL===
-*OpenSSL* is required if you want to use the _RTCWeb Breaker_ module or Secure WebSocket transport (WSS). *OpenSSL version _1.0.1_ is required if you want support for _DTLS-SRTP_*.
+### Building OpenSSL ###
+**OpenSSL** is required if you want to use the _RTCWeb Breaker_ module or Secure WebSocket transport (WSS). **OpenSSL version _1.0.1_ is required if you want support for _DTLS-SRTP_**.
This section is only required if you don’t have _OpenSSL_ installed on your system or using version prior to _1.0.1_ and want to enable _DTLS-SRTP_.
-A quick way to have _OpenSSL_ may be installing *openssl-devel* package but this version will most likely be outdated (prior to _1.0.1_). Anyway, you can check the version like this:
-{{{
+A quick way to have _OpenSSL_ may be installing **openssl-devel** package but this version will most likely be outdated (prior to _1.0.1_). Anyway, you can check the version like this:
+```
openssl version
-}}}
+```
To build OpenSSL:
-{{{
+```
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -xvzf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config shared --prefix=/usr/local --openssldir=/usr/local/openssl && make && make install
-}}}
+```
-===Building libspeex and libspeexdsp===
-*libspeex* (audio codec) an *libspeexdsp* (audio processing and jitter buffer) are optional. It’s highly recommended to enable libspeexdsp.
+### Building libspeex and libspeexdsp ###
+**libspeex** (audio codec) an **libspeexdsp** (audio processing and jitter buffer) are optional. It’s highly recommended to enable libspeexdsp.
You can install the devel packages:
-{{{
+```
sudo yum install speex-devel
-}}}
+```
Or build the source by yourself:
-{{{
+```
wget http://downloads.xiph.org/releases/speex/speex-1.2beta3.tar.gz
tar -xvzf speex-1.2beta3.tar.gz
cd speex-1.2beta3
./configure --disable-oggtest --without-libogg && make && make install
-}}}
+```
-===Building YASM===
-*YASM* is only required if you want to enable *VPX* (VP8 video codec) or *x264* (H.264 codec).
-{{{
+### Building YASM ###
+**YASM** is only required if you want to enable **VPX** (VP8 video codec) or **x264** (H.264 codec).
+```
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar -xvzf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure && make && make install
-}}}
+```
-===Building libvpx===
+### Building libvpx ###
_Date: December 1, 2012_
-*libvpx* adds support for *VP8* and is optional but highly recommended if you want support for video when using Google Chrome or Mozilla Firefox.
+**libvpx** adds support for **VP8** and is optional but highly recommended if you want support for video when using Google Chrome or Mozilla Firefox.
You can install the devel packages:
-{{{
+```
sudo yum install libvpx-devel
-}}}
+```
Or build the source by yourself:
-{{{
+```
git clone http://git.chromium.org/webm/libvpx.git
cd libvpx
./configure --enable-realtime-only --enable-error-concealment --disable-examples --enable-vp8 --enable-pic --enable-shared --as=yasm
make && make install
-}}}
+```
-===Building libyuv===
-*libyuv* is optional. Adds support for video scaling and chroma conversion.
-{{{
+### Building libyuv ###
+**libyuv** is optional. Adds support for video scaling and chroma conversion.
+```
mkdir libyuv && cd libyuv
svn co http://src.chromium.org/svn/trunk/tools/depot_tools .
./gclient config http://libyuv.googlecode.com/svn/trunk
@@ -91,74 +88,74 @@ svn co http://src.chromium.org/svn/trunk/tools/depot_tools .
make -j6 V=1 -r libyuv BUILDTYPE=Release
#cp out/Release/obj.target/libyuv.a /usr/local/lib
#mkdir /usr/local/include/libyuv && cp -r include/* /usr/local/include/libyuv
-}}}
+```
-===Building libopus===
-*libopus* is optional but highly recommended as it’s an MTI codec for WebRTC. Adds support for [http://www.opus-codec.org/ Opus audio codec].
-{{{
+### Building libopus ###
+**libopus** is optional but highly recommended as it’s an MTI codec for WebRTC. Adds support for [Opus audio codec](http://www.opus-codec.org/).
+```
wget http://downloads.xiph.org/releases/opus/opus-1.0.2.tar.gz
tar -xvzf opus-1.0.2.tar.gz
cd opus-1.0.2
./configure --with-pic --enable-float-approx && make && make install
-}}}
+```
-===Building opencore-amr===
-*opencore-amr* is optional. Adds support for *AMR* audio codec.
-{{{
+### Building opencore-amr ###
+**opencore-amr** is optional. Adds support for **AMR** audio codec.
+```
git clone git://opencore-amr.git.sourceforge.net/gitroot/opencore-amr/opencore-amr
cd opencore-amr && autoreconf --install && ./configure && make && make install
-}}}
+```
-===Building libgsm===
-*libgsm* is optional. Adds support for *GSM* audio codec.
+### Building libgsm ###
+**libgsm** is optional. Adds support for **GSM** audio codec.
-You can install the devel packages (*recommended*):
-{{{
+You can install the devel packages (**recommended**):
+```
sudo yum install gsm-devel
-}}}
+```
Or build the source by yourself:
-{{{
+```
wget http://www.quut.com/gsm/gsm-1.0.13.tar.gz
tar -xvzf gsm-1.0.13.tar.gz
cd gsm-1.0-pl13 && make && make install
#cp -rf ./inc/* /usr/local/include
#cp -rf ./lib/* /usr/local/lib
-}}}
+```
-===Building g729===
-*G729* is optional. Adds support for *G.729* audio codec.
-{{{
+### Building g729 ###
+**G729** is optional. Adds support for **G.729** audio codec.
+```
svn co http://g729.googlecode.com/svn/trunk/ g729b
cd g729b
./autogen.sh && ./configure --enable-static --disable-shared && make && make install
-}}}
+```
-===Building iLBC===
-*iLBC* is optional. Adds support for *iLBC* audio codec.
-{{{
+### Building iLBC ###
+**iLBC** is optional. Adds support for **iLBC** audio codec.
+```
svn co http://doubango.googlecode.com/svn/branches/2.0/doubango/thirdparties/scripts/ilbc
cd ilbc
wget http://www.ietf.org/rfc/rfc3951.txt
awk -f extract.awk rfc3951.txt
./autogen.sh && ./configure
make && make install
-}}}
+```
-===Building x264===
+### Building x264 ###
_Date: December 2, 2012_
-*x264* is optional and adds support for *H.264* video codec (requires FFmpeg).
-{{{
+**x264** is optional and adds support for **H.264** video codec (requires FFmpeg).
+```
wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar -xvjf last_x264.tar.bz2
# the output directory may be difference depending on the version and date
cd x264-snapshot-20121201-2245
./configure --enable-shared --enable-pic && make && make install
-}}}
+```
-===Building FFmpeg===
+### Building FFmpeg ###
_Date: December 2, 2012_
-*FFmpeg* is optional and adds support for *H.263*, *H.264* (requires *x264*) and *MP4V-ES* video codecs.
-{{{
+**FFmpeg** is optional and adds support for **H.263**, **H.264** (requires **x264**) and **MP4V-ES** video codecs.
+```
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
@@ -184,34 +181,34 @@ git checkout n1.2
# build and install
make && make install
-}}}
+```
-===Building `OpenH264`===
-*OpenH264* is optional. Adds support for *H.264* constrained baseline video codec.
-{{{
+### Building `OpenH264` ###
+**OpenH264** is optional. Adds support for **H.264** constrained baseline video codec.
+```
git clone https://github.com/cisco/openh264.git
cd openh264
git checkout v1.1
make ENABLE64BIT=Yes # Use ENABLE64BIT=No for 32bit platforms
make install
-}}}
+```
-===Building Doubango===
- * Minimal build
-{{{
+### Building Doubango ###
+ * Minimal build
+```
cd doubango && ./autogen.sh && ./configure --with-ssl --with-srtp --with-speexdsp
make && make install
-}}}
- * Recommended build
-{{{
+```
+ * Recommended build
+```
cd doubango && ./autogen.sh && ./configure --with-ssl --with-srtp --with-speexdsp --with-ffmpeg --with-opus
make && make install
-}}}
- * Full build
-{{{
+```
+ * Full build
+```
cd doubango && ./autogen.sh && ./configure --with-ssl --with-srtp --with-vpx --with-yuv --with-amr --with-speex --with-speexdsp --enable-speexresampler --enable-speexdenoiser --with-opus --with-gsm --with-ilbc --with-g729 --with-ffmpeg
make && make install
-}}}
+```
Et voilà
\ No newline at end of file
diff --git a/Licensing.md b/Licensing.md
new file mode 100644
index 00000000..d6cb0687
--- /dev/null
+++ b/Licensing.md
@@ -0,0 +1,125 @@
+
+The framework is dual licensed (GPL / commercial) and contains third-parties libraries compatible with commercial and closed-source applications.
+
The framework depends on:
+
+>
+
+Name
+Version
+License
+Dependency
+Comments
+
+
+FFmpeg
+SVN r24652
+GPL or LGPL
+optional
+The commercial version could be linked against the LGPL version as far as the FFmpeg's License Compliance Checklist is respected. We recommend not using FFmpeg
+
+
+iLBC
+1.0
+GIPS Public License
+optional
+
+
+
+libgsm
+1.0-pl13
+BSD
+optional
+
+
+
+libogg
+1.1.4
+BSD
+optional
+
+
+
+libyuv
+SVN r321
+BSD-style
+mandatory
+
+
+
+libsrtp
+1.4.2
+BSD-based
+optional
+
+
+
+libtheora
+1.1.1
+BSD
+optional
+
+
+
+libvorbis
+1.2.3
+BSD
+optional
+
+
+
+opencore-amr
+0.1.2
+Apache license 2.0
+optional
+
+
+
+openssl
+0.9.8m
+Apache-style License
+optional
+
+
+
+Ragel output
+6.7
+Doubango License
+mandatory
+No linking
+
+
+SimpleXML
+2.3.4
+Apache License 2.0
+mandatory
+Only on Android
+
+
+swig output
+SVN r12023
+Doubango License
+mandatory
+No linking
+
+
+Speex
+1.2
+Revisited-BSD
+mandatory
+
+
+
+WebRTC audio processing
+SVN r2512
+BSD
+optional
+AEC, Noise suppression ...
+
+
+x264
+0.104
+GPL
+optional
+Must be disbaled for commerical use
+
+
\ No newline at end of file
diff --git a/branches/2.0/doubango/Makefile.am b/Makefile.am
similarity index 100%
rename from branches/2.0/doubango/Makefile.am
rename to Makefile.am
diff --git a/ProjectHome.md b/ProjectHome.md
new file mode 100644
index 00000000..78cbe8ad
--- /dev/null
+++ b/ProjectHome.md
@@ -0,0 +1,111 @@
+
+
+Doubango v2.x
+
+To all developers: Doubango v1.x is now deprecated.
+Please use version v2.x. The source code is under branches/2.0
+
+
+
+Welcome to doubango project!
+3GPP IMS (IP Multimedia Subsystem) is the next generation network for delivering
+IP multimedia services. IMS is standardized by the 3rd Generation Partnership Project (3GPP).
+IMS services could be used over any type of network, such as 3GPP LTE , GPRS, Wireless LAN, CDMA2000 or fixed line.
+
+
+doubango is an experimental, open source, 3GPP IMS/LTE framework for both embedded and desktop systems.
+The framework is written in ANSI-C to ease portability and has been carefully designed to efficiently work on embedded systems with limited memory and low computing power and to be extremely portable.
+
+Proof Of Concept
+
+Client-side components
+
+Boghe
+- SIP Video Client for Windows Phone 8 and Surface Pro - IMS/RCS Client for Windows XP, Vista, 7 and 8
+
+
+IMSDroid
+SIP/IMS Client for Android
+
+
+iDoubs
+SIP/IMS VideoPhone for iOS (iPhone, iPad and iPod Touch) and MAC OS X
+
+
+Server-side components
+
+webrtc2sip
+Smart SIP and Media Gateway to connect WebRTC endpoints to any SIP-legacy network
+
+
+telepresence
+the open source SIP TelePresence system with a porwerfull MCU
+
+
+
+Flash2IMS
+Adobe® Flash® to SIP/IMS Gateway.
+
+
+
+See also [webrtc4all](http://code.google.com/p/webrtc4all/), [sipML5](http://code.google.com/p/sipml5/) and [click2dial](https://code.google.com/p/click-2-dial/) components.
+
+Features
+
+SIP (RFC 3261, 3GPP TS 24.229 Rel-9)
+IMS-AKA (RFC 3310, 3GPP TS 33.203, 35.205, 35.206, 35.207, 35.208 and 35.909)
+Private extension headers for 3GPP
+IPv4/IPv6 dual stack
+UDP, TCP and TLS
+Service-Route Discovery (RFC 3608)
+Proxy-CSCF discovery using DHCPv4/v6 or/and DNS NAPTR
+SigComp (RFC 3320, 3485, 4077, 4464, 4465, 4896, 5049, 5112 and 1951)
+IPSec
+Security Agreement (RFC 3329)
+NAT Traversal (STUN, TURN and ICE)
+Preconditions (RFC 3312, 4032 and 5027)
+SMS over IP (3GPP TS 23.038, 24.040, 24.011, 24.341 and 24.451)
+ENUM (RFC 3761)
+The tel URI for Telephone Numbers (RFC 3966)
+SIP SIMPLE (Presence Subscription/Publication and Pager Mode IM)
+MMTel (UNI)
+SDP (RFC 3264)
+(S)RTP and (S)RTCP
+(S)AVP, (S)AVP(F) and UDP/TLS/RTP/(S)AVP(F) profiles
+DTLS-SRTP(RFC 5763 and 5764)
+XCAP (RFC 4825)
+MSRP (RFC 4975 and 5547)
+Audio/Video (AMR, Speex, G.729, G.722, Opus, G.711, GSM, iLBC, VP8, H.264, H.263, Theora, MP4V-ES...)
+Full HD (1080p) video
+T.140: Text Over IP (http://en.wikipedia.org/wiki/Text_over_IP )
+...and many other features
+
+
+The One Voice Profile (4G/LTE)
+doubango supports both Voice and SMS over LTE as defined by the One Voice initiative .
+For more information, please refer to Voice over IMS profile V1.0.0(2009-11) .
+
+
+
+Multimedia Telephony (MMTel)
+
+MMTel Supplementary Services (3GPP TS 24.173, 24607, 24.608, 24.607, 24.604, 24.611, 24.610, 24.606, 24.615 and 24.605)
+Supplementary Service Configuration(3GPP TS 24.623)
+Ad-Hoc Multi Party Conference (3GPP TS 24.605)
+Communication Waiting(3GPP TS 24.615)
+Message Waiting Indication(3GPP TS 24.606 and RFC 3842)
+Originating/Terminating Identification Restriction(3GPP TS 24.607/608)
+Communication Diversion(3GPP TS 24.604)
+Communication Barring(3GPP TS 24.611)
+
+
+
+Support
+Please check our issue tracker or developer group if you have any problem.
+
+For more information, please visit http://www.doubango.org
+
+
+
+© 2010-2013 Doubango Telecom
+Inspiring the future
\ No newline at end of file
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec.sln b/Samples/C#/IPSec/ipsec.sln
similarity index 98%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec.sln
rename to Samples/C#/IPSec/ipsec.sln
index 24bb7e78..cc63e0c3 100644
--- a/branches/2.0/doubango/Samples/C#/IPSec/ipsec.sln
+++ b/Samples/C#/IPSec/ipsec.sln
@@ -1,106 +1,106 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ipsec_app", "ipsec_app\ipsec_app.csproj", "{9765AEFD-D72A-4FB5-B840-D1021B41DD41}"
- ProjectSection(ProjectDependencies) = postProject
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA} = {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204} = {F9B529B2-2AC2-4318-AD31-E7A9B195E204}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ipsec_lib", "ipsec_lib\ipsec_lib.vcproj", "{F9B529B2-2AC2-4318-AD31-E7A9B195E204}"
- ProjectSection(ProjectDependencies) = postProject
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA} = {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinySAK", "..\..\..\tinySAK\tinySAK.vcproj", "{6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "csharp", "csharp", "{0325B42D-C2ED-4313-ABB0-B317A2ADBAB9}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cpp", "cpp", "{AB8B1D7B-3776-463A-92F0-6D7236B75B99}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|Mixed Platforms = Debug|Mixed Platforms
- Debug|Win32 = Debug|Win32
- Release|Any CPU = Release|Any CPU
- Release|Mixed Platforms = Release|Mixed Platforms
- Release|Win32 = Release|Win32
- Static_Debug|Any CPU = Static_Debug|Any CPU
- Static_Debug|Mixed Platforms = Static_Debug|Mixed Platforms
- Static_Debug|Win32 = Static_Debug|Win32
- Static_Release|Any CPU = Static_Release|Any CPU
- Static_Release|Mixed Platforms = Static_Release|Mixed Platforms
- Static_Release|Win32 = Static_Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Release|Any CPU.Build.0 = Release|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Release|Win32.ActiveCfg = Release|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Debug|Any CPU.Build.0 = Debug|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Debug|Win32.ActiveCfg = Debug|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Release|Any CPU.ActiveCfg = Release|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Release|Any CPU.Build.0 = Release|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Release|Mixed Platforms.Build.0 = Release|Any CPU
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Release|Win32.ActiveCfg = Release|Any CPU
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Debug|Mixed Platforms.Build.0 = Debug|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Debug|Win32.ActiveCfg = Debug|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Debug|Win32.Build.0 = Debug|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Release|Any CPU.ActiveCfg = Release|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Release|Mixed Platforms.ActiveCfg = Release|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Release|Mixed Platforms.Build.0 = Release|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Release|Win32.ActiveCfg = Release|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Release|Win32.Build.0 = Release|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Debug|Any CPU.ActiveCfg = Debug|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Debug|Mixed Platforms.ActiveCfg = Debug|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Debug|Mixed Platforms.Build.0 = Debug|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Debug|Win32.ActiveCfg = Debug|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Debug|Win32.Build.0 = Debug|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Release|Any CPU.ActiveCfg = Release|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Release|Mixed Platforms.ActiveCfg = Release|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Release|Mixed Platforms.Build.0 = Release|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Release|Win32.ActiveCfg = Release|Win32
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Release|Win32.Build.0 = Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Mixed Platforms.Build.0 = Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Win32.ActiveCfg = Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Win32.Build.0 = Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Any CPU.ActiveCfg = Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Mixed Platforms.ActiveCfg = Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Mixed Platforms.Build.0 = Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Win32.ActiveCfg = Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Win32.Build.0 = Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Any CPU.ActiveCfg = Static_Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Mixed Platforms.ActiveCfg = Static_Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Mixed Platforms.Build.0 = Static_Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Win32.ActiveCfg = Static_Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Win32.Build.0 = Static_Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Any CPU.ActiveCfg = Static_Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Mixed Platforms.ActiveCfg = Static_Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Mixed Platforms.Build.0 = Static_Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Win32.ActiveCfg = Static_Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Win32.Build.0 = Static_Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41} = {0325B42D-C2ED-4313-ABB0-B317A2ADBAB9}
- {F9B529B2-2AC2-4318-AD31-E7A9B195E204} = {AB8B1D7B-3776-463A-92F0-6D7236B75B99}
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA} = {AB8B1D7B-3776-463A-92F0-6D7236B75B99}
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ipsec_app", "ipsec_app\ipsec_app.csproj", "{9765AEFD-D72A-4FB5-B840-D1021B41DD41}"
+ ProjectSection(ProjectDependencies) = postProject
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA} = {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204} = {F9B529B2-2AC2-4318-AD31-E7A9B195E204}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ipsec_lib", "ipsec_lib\ipsec_lib.vcproj", "{F9B529B2-2AC2-4318-AD31-E7A9B195E204}"
+ ProjectSection(ProjectDependencies) = postProject
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA} = {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinySAK", "..\..\..\tinySAK\tinySAK.vcproj", "{6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "csharp", "csharp", "{0325B42D-C2ED-4313-ABB0-B317A2ADBAB9}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cpp", "cpp", "{AB8B1D7B-3776-463A-92F0-6D7236B75B99}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|Mixed Platforms = Debug|Mixed Platforms
+ Debug|Win32 = Debug|Win32
+ Release|Any CPU = Release|Any CPU
+ Release|Mixed Platforms = Release|Mixed Platforms
+ Release|Win32 = Release|Win32
+ Static_Debug|Any CPU = Static_Debug|Any CPU
+ Static_Debug|Mixed Platforms = Static_Debug|Mixed Platforms
+ Static_Debug|Win32 = Static_Debug|Win32
+ Static_Release|Any CPU = Static_Release|Any CPU
+ Static_Release|Mixed Platforms = Static_Release|Mixed Platforms
+ Static_Release|Win32 = Static_Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Debug|Win32.ActiveCfg = Debug|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Release|Win32.ActiveCfg = Release|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Debug|Win32.ActiveCfg = Debug|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Release|Any CPU.Build.0 = Release|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}.Static_Release|Win32.ActiveCfg = Release|Any CPU
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Debug|Win32.Build.0 = Debug|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Release|Any CPU.ActiveCfg = Release|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Release|Win32.ActiveCfg = Release|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Release|Win32.Build.0 = Release|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Debug|Any CPU.ActiveCfg = Debug|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Debug|Win32.ActiveCfg = Debug|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Debug|Win32.Build.0 = Debug|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Release|Any CPU.ActiveCfg = Release|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Release|Mixed Platforms.Build.0 = Release|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Release|Win32.ActiveCfg = Release|Win32
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204}.Static_Release|Win32.Build.0 = Release|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Win32.Build.0 = Debug|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Any CPU.ActiveCfg = Release|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Win32.ActiveCfg = Release|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Win32.Build.0 = Release|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Any CPU.ActiveCfg = Static_Debug|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Mixed Platforms.ActiveCfg = Static_Debug|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Mixed Platforms.Build.0 = Static_Debug|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Win32.ActiveCfg = Static_Debug|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Win32.Build.0 = Static_Debug|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Any CPU.ActiveCfg = Static_Release|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Mixed Platforms.ActiveCfg = Static_Release|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Mixed Platforms.Build.0 = Static_Release|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Win32.ActiveCfg = Static_Release|Win32
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Win32.Build.0 = Static_Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41} = {0325B42D-C2ED-4313-ABB0-B317A2ADBAB9}
+ {F9B529B2-2AC2-4318-AD31-E7A9B195E204} = {AB8B1D7B-3776-463A-92F0-6D7236B75B99}
+ {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA} = {AB8B1D7B-3776-463A-92F0-6D7236B75B99}
+ EndGlobalSection
+EndGlobal
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_app/Program.cs b/Samples/C#/IPSec/ipsec_app/Program.cs
similarity index 98%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_app/Program.cs
rename to Samples/C#/IPSec/ipsec_app/Program.cs
index 97e75575..0fa94306 100644
--- a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_app/Program.cs
+++ b/Samples/C#/IPSec/ipsec_app/Program.cs
@@ -15,70 +15,70 @@
*
* You should have received a copy of the GNU General Public License
* along with DOUBANGO.
-*/
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using org.doubango.ipsecWRAP;
-using System.Diagnostics;
-using err = org.doubango.ipsecWRAP.tipsec_error_t;
-using System.Runtime.InteropServices;
-namespace ipsec
-{
- class Program
- {
- static tipsec_ipproto_t __ipproto = tipsec_ipproto_t.tipsec_ipproto_udp;
- static bool __use_ipv6 = false;
- static tipsec_mode_t __mode = tipsec_mode_t.tipsec_mode_trans;
- static tipsec_ealg_t __ealg = tipsec_ealg_t.tipsec_ealg_des_ede3_cbc;
- static tipsec_alg_t __alg = tipsec_alg_t.tipsec_alg_hmac_md5_96;
- static tipsec_proto_t __proto = tipsec_proto_t.tipsec_proto_esp;
-
- static String __addr_local = "0.0.0.0";
- static String __addr_remote = "192.168.0.34";
- static ushort __port_local_out = 5062; // PORT_UC
- static ushort __port_local_in = 5064; // PORT_US
- static ushort __port_remote_out = 5066; // PORT_PC
- static ushort __port_remote_in = 5068; // PORT_PS
- static UInt32 __spi_remote_out = 3333; // SPI_PC
- static UInt32 __spi_remote_in = 4444; // SPI_PS
- static UInt64 __lifetime = 1800; /* always set it to the maximum value. (Not possible to update the value after REGISTER 200OK. ) */
-
- static String __key_ik = "1234567890123456";
- static String __key_ck = "1234567890121234";
-
- static void Main(string[] args)
- {
- /* Create the context */
- IPSecCtx ipsecCtx = new IPSecCtx(__ipproto, __use_ipv6, __mode, __ealg, __alg, __proto);
-
- /* Set local */
- Debug.Assert(ipsecCtx.setLocal(__addr_local, __addr_remote, __port_local_out, __port_local_in) == err.tipsec_error_success);
-
- /* Dump SPIs created by the OS after calling set_local() */
- Console.WriteLine("SPI-UC={0}, SPI-US={1}", ipsecCtx.getSpiUC(), ipsecCtx.getSpiUS());
-
- /* Set remote */
- Debug.Assert(ipsecCtx.setRemote(__spi_remote_out, __spi_remote_in, __port_remote_out, __port_remote_in, __lifetime) == err.tipsec_error_success);
-
- /* Set Integrity (IK) and Confidentiality (CK) keys */
- IntPtr keyIK = Marshal.StringToHGlobalAnsi(__key_ik);
- IntPtr keyCK = Marshal.StringToHGlobalAnsi(__key_ck);
- Debug.Assert(ipsecCtx.setKeys(keyIK, keyCK) == err.tipsec_error_success);
- Marshal.FreeHGlobal(keyIK);
- Marshal.FreeHGlobal(keyCK);
-
- /* Start (Setup) the SAs */
- Debug.Assert(ipsecCtx.start() == err.tipsec_error_success);
-
- Console.WriteLine("!!! IPSec SAs started (Press any key to stop) !!!");
-
- Console.ReadLine();
-
- ipsecCtx.Dispose(); // Not required. GC will collect it when refCount reach zero.
-
- Console.ReadLine();
- }
- }
-}
+*/
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using org.doubango.ipsecWRAP;
+using System.Diagnostics;
+using err = org.doubango.ipsecWRAP.tipsec_error_t;
+using System.Runtime.InteropServices;
+namespace ipsec
+{
+ class Program
+ {
+ static tipsec_ipproto_t __ipproto = tipsec_ipproto_t.tipsec_ipproto_udp;
+ static bool __use_ipv6 = false;
+ static tipsec_mode_t __mode = tipsec_mode_t.tipsec_mode_trans;
+ static tipsec_ealg_t __ealg = tipsec_ealg_t.tipsec_ealg_des_ede3_cbc;
+ static tipsec_alg_t __alg = tipsec_alg_t.tipsec_alg_hmac_md5_96;
+ static tipsec_proto_t __proto = tipsec_proto_t.tipsec_proto_esp;
+
+ static String __addr_local = "0.0.0.0";
+ static String __addr_remote = "192.168.0.34";
+ static ushort __port_local_out = 5062; // PORT_UC
+ static ushort __port_local_in = 5064; // PORT_US
+ static ushort __port_remote_out = 5066; // PORT_PC
+ static ushort __port_remote_in = 5068; // PORT_PS
+ static UInt32 __spi_remote_out = 3333; // SPI_PC
+ static UInt32 __spi_remote_in = 4444; // SPI_PS
+ static UInt64 __lifetime = 1800; /* always set it to the maximum value. (Not possible to update the value after REGISTER 200OK. ) */
+
+ static String __key_ik = "1234567890123456";
+ static String __key_ck = "1234567890121234";
+
+ static void Main(string[] args)
+ {
+ /* Create the context */
+ IPSecCtx ipsecCtx = new IPSecCtx(__ipproto, __use_ipv6, __mode, __ealg, __alg, __proto);
+
+ /* Set local */
+ Debug.Assert(ipsecCtx.setLocal(__addr_local, __addr_remote, __port_local_out, __port_local_in) == err.tipsec_error_success);
+
+ /* Dump SPIs created by the OS after calling set_local() */
+ Console.WriteLine("SPI-UC={0}, SPI-US={1}", ipsecCtx.getSpiUC(), ipsecCtx.getSpiUS());
+
+ /* Set remote */
+ Debug.Assert(ipsecCtx.setRemote(__spi_remote_out, __spi_remote_in, __port_remote_out, __port_remote_in, __lifetime) == err.tipsec_error_success);
+
+ /* Set Integrity (IK) and Confidentiality (CK) keys */
+ IntPtr keyIK = Marshal.StringToHGlobalAnsi(__key_ik);
+ IntPtr keyCK = Marshal.StringToHGlobalAnsi(__key_ck);
+ Debug.Assert(ipsecCtx.setKeys(keyIK, keyCK) == err.tipsec_error_success);
+ Marshal.FreeHGlobal(keyIK);
+ Marshal.FreeHGlobal(keyCK);
+
+ /* Start (Setup) the SAs */
+ Debug.Assert(ipsecCtx.start() == err.tipsec_error_success);
+
+ Console.WriteLine("!!! IPSec SAs started (Press any key to stop) !!!");
+
+ Console.ReadLine();
+
+ ipsecCtx.Dispose(); // Not required. GC will collect it when refCount reach zero.
+
+ Console.ReadLine();
+ }
+ }
+}
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_app/Properties/AssemblyInfo.cs b/Samples/C#/IPSec/ipsec_app/Properties/AssemblyInfo.cs
similarity index 97%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_app/Properties/AssemblyInfo.cs
rename to Samples/C#/IPSec/ipsec_app/Properties/AssemblyInfo.cs
index 675ed37a..859c5393 100644
--- a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_app/Properties/AssemblyInfo.cs
+++ b/Samples/C#/IPSec/ipsec_app/Properties/AssemblyInfo.cs
@@ -1,36 +1,36 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("ipsec")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("ipsec")]
-[assembly: AssemblyCopyright("Copyright © 2013")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("28faf159-2a2b-47ff-9a32-a7acf9c6ec66")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("ipsec")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("ipsec")]
+[assembly: AssemblyCopyright("Copyright © 2013")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("28faf159-2a2b-47ff-9a32-a7acf9c6ec66")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_app/ipsec_app.csproj b/Samples/C#/IPSec/ipsec_app/ipsec_app.csproj
similarity index 97%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_app/ipsec_app.csproj
rename to Samples/C#/IPSec/ipsec_app/ipsec_app.csproj
index 7cad1e0f..7f33b7fc 100644
--- a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_app/ipsec_app.csproj
+++ b/Samples/C#/IPSec/ipsec_app/ipsec_app.csproj
@@ -1,136 +1,136 @@
-
-
-
- Debug
- AnyCPU
- 9.0.30729
- 2.0
- {9765AEFD-D72A-4FB5-B840-D1021B41DD41}
- Exe
- Properties
- ipsec_app
- ipsec_app
- v3.5
- 512
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- false
- true
-
-
- true
- full
- false
- ..\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- ..\Release\
- TRACE
- prompt
- 4
-
-
-
-
- 3.5
-
-
- 3.5
-
-
- 3.5
-
-
-
-
-
-
- IPSecCtx.cs
-
-
- ipsec_lib.cs
-
-
- ipsec_libPINVOKE.cs
-
-
- tipsec_alg_t.cs
-
-
- tipsec_ealg_t.cs
-
-
- tipsec_error_t.cs
-
-
- tipsec_ipproto_t.cs
-
-
- tipsec_mode_t.cs
-
-
- tipsec_proto_t.cs
-
-
- tipsec_state_t.cs
-
-
-
-
-
-
- False
- .NET Framework Client Profile
- false
-
-
- False
- .NET Framework 2.0 %28x86%29
- false
-
-
- False
- .NET Framework 3.0 %28x86%29
- false
-
-
- False
- .NET Framework 3.5
- false
-
-
- False
- .NET Framework 3.5 SP1
- true
-
-
- False
- Windows Installer 3.1
- true
-
-
-
-
+
+
+
+ Debug
+ AnyCPU
+ 9.0.30729
+ 2.0
+ {9765AEFD-D72A-4FB5-B840-D1021B41DD41}
+ Exe
+ Properties
+ ipsec_app
+ ipsec_app
+ v3.5
+ 512
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+
+
+ true
+ full
+ false
+ ..\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ ..\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+ 3.5
+
+
+ 3.5
+
+
+ 3.5
+
+
+
+
+
+
+ IPSecCtx.cs
+
+
+ ipsec_lib.cs
+
+
+ ipsec_libPINVOKE.cs
+
+
+ tipsec_alg_t.cs
+
+
+ tipsec_ealg_t.cs
+
+
+ tipsec_error_t.cs
+
+
+ tipsec_ipproto_t.cs
+
+
+ tipsec_mode_t.cs
+
+
+ tipsec_proto_t.cs
+
+
+ tipsec_state_t.cs
+
+
+
+
+
+
+ False
+ .NET Framework Client Profile
+ false
+
+
+ False
+ .NET Framework 2.0 %28x86%29
+ false
+
+
+ False
+ .NET Framework 3.0 %28x86%29
+ false
+
+
+ False
+ .NET Framework 3.5
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ true
+
+
+ False
+ Windows Installer 3.1
+ true
+
+
+
+
\ No newline at end of file
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/IPSecCtx.cs b/Samples/C#/IPSec/ipsec_lib/IPSecCtx.cs
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/IPSecCtx.cs
rename to Samples/C#/IPSec/ipsec_lib/IPSecCtx.cs
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/IPSecCtx.cxx b/Samples/C#/IPSec/ipsec_lib/IPSecCtx.cxx
similarity index 98%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/IPSecCtx.cxx
rename to Samples/C#/IPSec/ipsec_lib/IPSecCtx.cxx
index f7b79254..db6bf639 100644
--- a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/IPSecCtx.cxx
+++ b/Samples/C#/IPSec/ipsec_lib/IPSecCtx.cxx
@@ -15,45 +15,45 @@
*
* You should have received a copy of the GNU General Public License
* along with DOUBANGO.
-*/
-#include "IPSecCtx.h"
-#include "tsk_debug.h"
-
-#include
-
-bool IPSecCtx::sInitialized = false;
-extern "C" const tipsec_plugin_def_t *plugin_win_ipsec_vista_plugin_def_t;
-
+*/
+#include "IPSecCtx.h"
+#include "tsk_debug.h"
+
+#include
+
+bool IPSecCtx::sInitialized = false;
+extern "C" const tipsec_plugin_def_t *plugin_win_ipsec_vista_plugin_def_t;
+
IPSecCtx::IPSecCtx(tipsec_ipproto_t ipproto,
bool use_ipv6,
tipsec_mode_t mode,
tipsec_ealg_t ealg,
tipsec_alg_t alg,
- tipsec_proto_t protocol)
-: m_pCtx(NULL)
-{
+ tipsec_proto_t protocol)
+: m_pCtx(NULL)
+{
tipsec_ctx_t* pCtx = NULL;
if (!IPSecCtx::sInitialized)
{
assert (tipsec_plugin_register_static(plugin_win_ipsec_vista_plugin_def_t) == 0);
IPSecCtx::sInitialized = true;
}
- assert (tipsec_ctx_create(ipproto, use_ipv6, mode, ealg, alg, protocol, &m_pCtx) == 0 && m_pCtx != NULL);
-}
-
+ assert (tipsec_ctx_create(ipproto, use_ipv6, mode, ealg, alg, protocol, &m_pCtx) == 0 && m_pCtx != NULL);
+}
+
IPSecCtx::~IPSecCtx()
{
TSK_OBJECT_SAFE_FREE(m_pCtx);
-}
-
+}
+
tipsec_error_t IPSecCtx::start()
{
return tipsec_ctx_start(m_pCtx);
}
-tipsec_error_t IPSecCtx::setLocal(const char* addr_local, const char* addr_remote, tipsec_port_t port_uc, tipsec_port_t port_us)
-{
- return tipsec_ctx_set_local(m_pCtx, addr_local, addr_remote, port_uc, port_us);
+tipsec_error_t IPSecCtx::setLocal(const char* addr_local, const char* addr_remote, tipsec_port_t port_uc, tipsec_port_t port_us)
+{
+ return tipsec_ctx_set_local(m_pCtx, addr_local, addr_remote, port_uc, port_us);
}
tipsec_error_t IPSecCtx::setKeys(const tipsec_key_t* ik, const tipsec_key_t* ck)
@@ -66,11 +66,11 @@ tipsec_error_t IPSecCtx::setRemote(tipsec_spi_t spi_pc, tipsec_spi_t spi_ps, tip
return tipsec_ctx_set_remote(m_pCtx, spi_pc, spi_ps, port_pc, port_ps, lifetime);
}
-tipsec_error_t IPSecCtx::stop()
-{
- return tipsec_ctx_stop(m_pCtx);
-}
-
+tipsec_error_t IPSecCtx::stop()
+{
+ return tipsec_ctx_stop(m_pCtx);
+}
+
tipsec_spi_t IPSecCtx::getSpiUC()
{
return m_pCtx->spi_uc;
@@ -86,10 +86,10 @@ tipsec_spi_t IPSecCtx::getSpiPC()
return m_pCtx->spi_pc;
}
-tipsec_spi_t IPSecCtx::getSpiPS()
-{
- return m_pCtx->spi_ps;
-}
-
+tipsec_spi_t IPSecCtx::getSpiPS()
+{
+ return m_pCtx->spi_ps;
+}
+
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/IPSecCtx.h b/Samples/C#/IPSec/ipsec_lib/IPSecCtx.h
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/IPSecCtx.h
rename to Samples/C#/IPSec/ipsec_lib/IPSecCtx.h
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/ipsecWRAP.cxx b/Samples/C#/IPSec/ipsec_lib/ipsecWRAP.cxx
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/ipsecWRAP.cxx
rename to Samples/C#/IPSec/ipsec_lib/ipsecWRAP.cxx
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/ipsecWRAP.h b/Samples/C#/IPSec/ipsec_lib/ipsecWRAP.h
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/ipsecWRAP.h
rename to Samples/C#/IPSec/ipsec_lib/ipsecWRAP.h
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/ipsec_lib.cs b/Samples/C#/IPSec/ipsec_lib/ipsec_lib.cs
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/ipsec_lib.cs
rename to Samples/C#/IPSec/ipsec_lib/ipsec_lib.cs
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/ipsec_lib.vcproj b/Samples/C#/IPSec/ipsec_lib/ipsec_lib.vcproj
similarity index 95%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/ipsec_lib.vcproj
rename to Samples/C#/IPSec/ipsec_lib/ipsec_lib.vcproj
index f89be7be..814aabf6 100644
--- a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/ipsec_lib.vcproj
+++ b/Samples/C#/IPSec/ipsec_lib/ipsec_lib.vcproj
@@ -1,241 +1,241 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/ipsec_libPINVOKE.cs b/Samples/C#/IPSec/ipsec_lib/ipsec_libPINVOKE.cs
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/ipsec_libPINVOKE.cs
rename to Samples/C#/IPSec/ipsec_lib/ipsec_libPINVOKE.cs
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/swig.i b/Samples/C#/IPSec/ipsec_lib/swig.i
similarity index 99%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/swig.i
rename to Samples/C#/IPSec/ipsec_lib/swig.i
index 2766f20e..e9bd2241 100644
--- a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/swig.i
+++ b/Samples/C#/IPSec/ipsec_lib/swig.i
@@ -1,37 +1,37 @@
-%module ipsec_lib
-%module(directors="1") ipsec_lib
-
-%include "enums.swg"
-%include
-
-%define %cs_marshal_array(TYPE, CSTYPE)
-%typemap(ctype) TYPE[] "void*"
-%typemap(imtype,
-inattributes="[MarshalAs(UnmanagedType.LPArray)]") TYPE[] "CSTYPE[]"
-%typemap(cstype) TYPE[] "CSTYPE[]"
-%typemap(in) TYPE[] %{ $1 = (TYPE*)$input; %}
-%typemap(csin) TYPE[] "$csinput"
-%enddef
-
-// Mapping void* as IntPtr
-%typemap(ctype) void * "void *"
-%typemap(imtype) void * "IntPtr"
-%typemap(cstype) void * "IntPtr"
-%typemap(csin) void * "$csinput"
-%typemap(in) void * %{ $1 = $input; %}
-%typemap(out) void * %{ $result = $1; %}
-%typemap(csout) void * { return $imcall; }
-%typemap(csdirectorin) void * "$iminput"
-
-%{
-#include "IPSecCtx.h"
-%}
-
-%nodefaultctor;
-%include "IPSecCtx.h"
-%clearnodefaultctor;
-
-
+%module ipsec_lib
+%module(directors="1") ipsec_lib
+
+%include "enums.swg"
+%include
+
+%define %cs_marshal_array(TYPE, CSTYPE)
+%typemap(ctype) TYPE[] "void*"
+%typemap(imtype,
+inattributes="[MarshalAs(UnmanagedType.LPArray)]") TYPE[] "CSTYPE[]"
+%typemap(cstype) TYPE[] "CSTYPE[]"
+%typemap(in) TYPE[] %{ $1 = (TYPE*)$input; %}
+%typemap(csin) TYPE[] "$csinput"
+%enddef
+
+// Mapping void* as IntPtr
+%typemap(ctype) void * "void *"
+%typemap(imtype) void * "IntPtr"
+%typemap(cstype) void * "IntPtr"
+%typemap(csin) void * "$csinput"
+%typemap(in) void * %{ $1 = $input; %}
+%typemap(out) void * %{ $result = $1; %}
+%typemap(csout) void * { return $imcall; }
+%typemap(csdirectorin) void * "$iminput"
+
+%{
+#include "IPSecCtx.h"
+%}
+
+%nodefaultctor;
+%include "IPSecCtx.h"
+%clearnodefaultctor;
+
+
/**@def tipsec_lifetime_t
*/
/**@def tipsec_spi_t
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/swig.sh b/Samples/C#/IPSec/ipsec_lib/swig.sh
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/swig.sh
rename to Samples/C#/IPSec/ipsec_lib/swig.sh
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_alg_t.cs b/Samples/C#/IPSec/ipsec_lib/tipsec_alg_t.cs
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_alg_t.cs
rename to Samples/C#/IPSec/ipsec_lib/tipsec_alg_t.cs
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_ealg_t.cs b/Samples/C#/IPSec/ipsec_lib/tipsec_ealg_t.cs
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_ealg_t.cs
rename to Samples/C#/IPSec/ipsec_lib/tipsec_ealg_t.cs
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_error_t.cs b/Samples/C#/IPSec/ipsec_lib/tipsec_error_t.cs
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_error_t.cs
rename to Samples/C#/IPSec/ipsec_lib/tipsec_error_t.cs
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_ipproto_t.cs b/Samples/C#/IPSec/ipsec_lib/tipsec_ipproto_t.cs
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_ipproto_t.cs
rename to Samples/C#/IPSec/ipsec_lib/tipsec_ipproto_t.cs
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_mode_t.cs b/Samples/C#/IPSec/ipsec_lib/tipsec_mode_t.cs
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_mode_t.cs
rename to Samples/C#/IPSec/ipsec_lib/tipsec_mode_t.cs
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_proto_t.cs b/Samples/C#/IPSec/ipsec_lib/tipsec_proto_t.cs
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_proto_t.cs
rename to Samples/C#/IPSec/ipsec_lib/tipsec_proto_t.cs
diff --git a/branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_state_t.cs b/Samples/C#/IPSec/ipsec_lib/tipsec_state_t.cs
similarity index 100%
rename from branches/2.0/doubango/Samples/C#/IPSec/ipsec_lib/tipsec_state_t.cs
rename to Samples/C#/IPSec/ipsec_lib/tipsec_state_t.cs
diff --git a/branches/2.0/doubango/Samples/C++/REGISTER/test/ReadMe.txt b/Samples/C++/REGISTER/test/ReadMe.txt
similarity index 100%
rename from branches/2.0/doubango/Samples/C++/REGISTER/test/ReadMe.txt
rename to Samples/C++/REGISTER/test/ReadMe.txt
diff --git a/branches/2.0/doubango/Samples/C++/REGISTER/test/stdafx.cpp b/Samples/C++/REGISTER/test/stdafx.cpp
similarity index 100%
rename from branches/2.0/doubango/Samples/C++/REGISTER/test/stdafx.cpp
rename to Samples/C++/REGISTER/test/stdafx.cpp
diff --git a/branches/2.0/doubango/Samples/C++/REGISTER/test/stdafx.h b/Samples/C++/REGISTER/test/stdafx.h
similarity index 100%
rename from branches/2.0/doubango/Samples/C++/REGISTER/test/stdafx.h
rename to Samples/C++/REGISTER/test/stdafx.h
diff --git a/branches/2.0/doubango/Samples/C++/REGISTER/test/targetver.h b/Samples/C++/REGISTER/test/targetver.h
similarity index 100%
rename from branches/2.0/doubango/Samples/C++/REGISTER/test/targetver.h
rename to Samples/C++/REGISTER/test/targetver.h
diff --git a/branches/2.0/doubango/Samples/C++/REGISTER/test/test.cpp b/Samples/C++/REGISTER/test/test.cpp
similarity index 100%
rename from branches/2.0/doubango/Samples/C++/REGISTER/test/test.cpp
rename to Samples/C++/REGISTER/test/test.cpp
diff --git a/branches/2.0/doubango/Samples/C++/REGISTER/test/test.sln b/Samples/C++/REGISTER/test/test.sln
similarity index 100%
rename from branches/2.0/doubango/Samples/C++/REGISTER/test/test.sln
rename to Samples/C++/REGISTER/test/test.sln
diff --git a/branches/2.0/doubango/Samples/C++/REGISTER/test/test.vcproj b/Samples/C++/REGISTER/test/test.vcproj
similarity index 100%
rename from branches/2.0/doubango/Samples/C++/REGISTER/test/test.vcproj
rename to Samples/C++/REGISTER/test/test.vcproj
diff --git a/Wall_of_Shame.md b/Wall_of_Shame.md
new file mode 100644
index 00000000..475eef4e
--- /dev/null
+++ b/Wall_of_Shame.md
@@ -0,0 +1,9 @@
+This is the list of companies using our products in violation of GNU GPL terms and not willing to cooperate.
+
+| Name | Operating system |
+|:-----|:-----------------|
+| [AdoreSoftphone](http://www.adoresoftphone.com/) | Windows, OS X, Android and iOS |
+| [ARK Solutions](http://www.ark-sol.com/) | iOS and Android |
+| [ABTO Software](http://www.abtosoftware.com/) | Android and iOS at least |
+
+More coming soon...
\ No newline at end of file
diff --git a/branches/1.0/android-projects/buildAll.sh b/android-projects/buildAll.sh
similarity index 100%
rename from branches/1.0/android-projects/buildAll.sh
rename to android-projects/buildAll.sh
diff --git a/branches/2.0/doubango/android-projects/makefile b/android-projects/makefile
similarity index 100%
rename from branches/2.0/doubango/android-projects/makefile
rename to android-projects/makefile
diff --git a/branches/2.0/doubango/android-projects/root.mk b/android-projects/root.mk
similarity index 99%
rename from branches/2.0/doubango/android-projects/root.mk
rename to android-projects/root.mk
index f926a5ca..658e4ee1 100644
--- a/branches/2.0/doubango/android-projects/root.mk
+++ b/android-projects/root.mk
@@ -41,42 +41,42 @@ export EXEC_DIR=/data/tmp
# Path where to copy libraries (*.so) -on the device or emulator-
export LIB_DIR=/system/lib
-# Test the NDK directory structure
-export ANDROID_NDK_BASE=$(shell if [ -r $(ANDROID_NDK_ROOT)/build/platforms ] ; then \
- echo $(ANDROID_NDK_ROOT)/build/platforms ; \
- elif [ -r $(ANDROID_NDK_ROOT)/platforms ] ; then \
- echo $(ANDROID_NDK_ROOT)/platforms ; \
- else \
- echo "Err_Unable_to_recognize_the_NDK_structure_for_ANDROID_NDK_BASE" ; \
- fi)
-
-export ANDROID_NDK_TOOL_BASE=$(shell \
-for gcc_prefix in $(ANDROID_GCC_PREFIXES) ; do \
- for gcc_version in $(ANDROID_GCC_VERSIONS) ; do \
- if [ -r $(ANDROID_NDK_ROOT)/build/prebuilt/$(ANDROID_HOST)/$$gcc_prefix-$$gcc_version ] ; then \
- echo "$(ANDROID_NDK_ROOT)/build/prebuilt/$(ANDROID_HOST)/$$gcc_prefix-$$gcc_version"; \
- break; \
- elif [ -r $(ANDROID_NDK_ROOT)/toolchains/$$gcc_prefix-$$gcc_version/prebuilt/$(ANDROID_HOST) ] ; then \
- echo "$(ANDROID_NDK_ROOT)/toolchains/$$gcc_prefix-$$gcc_version/prebuilt/$(ANDROID_HOST)"; \
- break; \
- fi \
- done \
- done \
-)
-export ANDROID_GCC_PREFIX=$(shell \
-for gcc_prefix in $(ANDROID_GCC_PREFIXES) ; do \
- for gcc_version in $(ANDROID_GCC_VERSIONS) ; do \
- if [ -r $(ANDROID_NDK_ROOT)/build/prebuilt/$(ANDROID_HOST)/$$gcc_prefix-$$gcc_version ] ; then \
- echo "$$gcc_prefix"; \
- break; \
- elif [ -r $(ANDROID_NDK_ROOT)/toolchains/$$gcc_prefix-$$gcc_version/prebuilt/$(ANDROID_HOST) ] ; then \
- echo "$$gcc_prefix"; \
- break; \
- fi \
- done \
- done \
-)
-
+# Test the NDK directory structure
+export ANDROID_NDK_BASE=$(shell if [ -r $(ANDROID_NDK_ROOT)/build/platforms ] ; then \
+ echo $(ANDROID_NDK_ROOT)/build/platforms ; \
+ elif [ -r $(ANDROID_NDK_ROOT)/platforms ] ; then \
+ echo $(ANDROID_NDK_ROOT)/platforms ; \
+ else \
+ echo "Err_Unable_to_recognize_the_NDK_structure_for_ANDROID_NDK_BASE" ; \
+ fi)
+
+export ANDROID_NDK_TOOL_BASE=$(shell \
+for gcc_prefix in $(ANDROID_GCC_PREFIXES) ; do \
+ for gcc_version in $(ANDROID_GCC_VERSIONS) ; do \
+ if [ -r $(ANDROID_NDK_ROOT)/build/prebuilt/$(ANDROID_HOST)/$$gcc_prefix-$$gcc_version ] ; then \
+ echo "$(ANDROID_NDK_ROOT)/build/prebuilt/$(ANDROID_HOST)/$$gcc_prefix-$$gcc_version"; \
+ break; \
+ elif [ -r $(ANDROID_NDK_ROOT)/toolchains/$$gcc_prefix-$$gcc_version/prebuilt/$(ANDROID_HOST) ] ; then \
+ echo "$(ANDROID_NDK_ROOT)/toolchains/$$gcc_prefix-$$gcc_version/prebuilt/$(ANDROID_HOST)"; \
+ break; \
+ fi \
+ done \
+ done \
+)
+export ANDROID_GCC_PREFIX=$(shell \
+for gcc_prefix in $(ANDROID_GCC_PREFIXES) ; do \
+ for gcc_version in $(ANDROID_GCC_VERSIONS) ; do \
+ if [ -r $(ANDROID_NDK_ROOT)/build/prebuilt/$(ANDROID_HOST)/$$gcc_prefix-$$gcc_version ] ; then \
+ echo "$$gcc_prefix"; \
+ break; \
+ elif [ -r $(ANDROID_NDK_ROOT)/toolchains/$$gcc_prefix-$$gcc_version/prebuilt/$(ANDROID_HOST) ] ; then \
+ echo "$$gcc_prefix"; \
+ break; \
+ fi \
+ done \
+ done \
+)
+
ifeq ($(ANDROID_NDK_TOOL_BASE),)
export ANDROID_NDK_TOOL_BASE="Err_Unable_to_recognize_the_NDK_structure_for_ANDROID_NDK_TOOL_BASE"
endif
@@ -85,9 +85,9 @@ export ANDROID_GNU_STL_ROOT=$(shell \
if [ -r $(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/libs/$(ANDROID_EABI) ] ; then \
echo "$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++"; \
else \
- for gcc_version in $(ANDROID_GCC_VERSIONS) ; do \
- if [ -r $(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/$$gcc_version/libs/$(ANDROID_EABI) ] ; then \
- echo "$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/$$gcc_version"; \
+ for gcc_version in $(ANDROID_GCC_VERSIONS) ; do \
+ if [ -r $(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/$$gcc_version/libs/$(ANDROID_EABI) ] ; then \
+ echo "$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/$$gcc_version"; \
break; \
fi \
done \
@@ -135,7 +135,7 @@ export CFLAGS_COMMON=$(CFLAGS) $(DEBUG_FLAGS) -I$(ANDROID_NDK_BASE)/$(ANDROID_PL
-MMD \
-MP \
-fno-short-enums \
--DWEBRTC_ANDROID \
+-DWEBRTC_ANDROID \
-DWEBRTC_ARCH_ARM \
-D__ANDROID__ \
-DANDROID=1 \
diff --git a/branches/2.0/doubango/android-utils/api.cxx b/android-utils/api.cxx
similarity index 95%
rename from branches/2.0/doubango/android-utils/api.cxx
rename to android-utils/api.cxx
index 87738f7b..d9573c4a 100644
--- a/branches/2.0/doubango/android-utils/api.cxx
+++ b/android-utils/api.cxx
@@ -1,12 +1,12 @@
-#include "api.h"
-#include "cpu-features.h"
-
-uint64_t AndroidUtils::getCpuFamily()
+#include "api.h"
+#include "cpu-features.h"
+
+uint64_t AndroidUtils::getCpuFamily()
{
- return (uint64_t)android_getCpuFamily();
-}
-
-uint64_t AndroidUtils::getCpuFeatures()
-{
- return (uint64_t)android_getCpuFeatures();
+ return (uint64_t)android_getCpuFamily();
+}
+
+uint64_t AndroidUtils::getCpuFeatures()
+{
+ return (uint64_t)android_getCpuFeatures();
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/android-utils/api.h b/android-utils/api.h
similarity index 100%
rename from branches/2.0/doubango/android-utils/api.h
rename to android-utils/api.h
diff --git a/branches/2.0/doubango/android-utils/api.i b/android-utils/api.i
similarity index 100%
rename from branches/2.0/doubango/android-utils/api.i
rename to android-utils/api.i
diff --git a/branches/2.0/doubango/android-utils/api.sh b/android-utils/api.sh
similarity index 100%
rename from branches/2.0/doubango/android-utils/api.sh
rename to android-utils/api.sh
diff --git a/branches/2.0/doubango/android-utils/buildAll.sh b/android-utils/buildAll.sh
similarity index 100%
rename from branches/2.0/doubango/android-utils/buildAll.sh
rename to android-utils/buildAll.sh
diff --git a/branches/2.0/doubango/android-utils/cpu-features.c b/android-utils/cpu-features.c
similarity index 100%
rename from branches/2.0/doubango/android-utils/cpu-features.c
rename to android-utils/cpu-features.c
diff --git a/branches/2.0/doubango/android-utils/cpu-features.h b/android-utils/cpu-features.h
similarity index 100%
rename from branches/2.0/doubango/android-utils/cpu-features.h
rename to android-utils/cpu-features.h
diff --git a/branches/2.0/doubango/android-utils/droid-makefile b/android-utils/droid-makefile
similarity index 100%
rename from branches/2.0/doubango/android-utils/droid-makefile
rename to android-utils/droid-makefile
diff --git a/branches/2.0/doubango/android-utils/java/AndroidUtils.java b/android-utils/java/AndroidUtils.java
similarity index 100%
rename from branches/2.0/doubango/android-utils/java/AndroidUtils.java
rename to android-utils/java/AndroidUtils.java
diff --git a/branches/2.0/doubango/android-utils/java/CpuFamily_t.java b/android-utils/java/CpuFamily_t.java
similarity index 100%
rename from branches/2.0/doubango/android-utils/java/CpuFamily_t.java
rename to android-utils/java/CpuFamily_t.java
diff --git a/branches/2.0/doubango/android-utils/java/CpuFeatures_t.java b/android-utils/java/CpuFeatures_t.java
similarity index 100%
rename from branches/2.0/doubango/android-utils/java/CpuFeatures_t.java
rename to android-utils/java/CpuFeatures_t.java
diff --git a/branches/2.0/doubango/android-utils/java/utils.java b/android-utils/java/utils.java
similarity index 100%
rename from branches/2.0/doubango/android-utils/java/utils.java
rename to android-utils/java/utils.java
diff --git a/branches/2.0/doubango/android-utils/java/utilsJNI.java b/android-utils/java/utilsJNI.java
similarity index 100%
rename from branches/2.0/doubango/android-utils/java/utilsJNI.java
rename to android-utils/java/utilsJNI.java
diff --git a/branches/2.0/doubango/android-utils/makefile b/android-utils/makefile
similarity index 100%
rename from branches/2.0/doubango/android-utils/makefile
rename to android-utils/makefile
diff --git a/branches/2.0/doubango/android-utils/utils_wrap.cxx b/android-utils/utils_wrap.cxx
similarity index 100%
rename from branches/2.0/doubango/android-utils/utils_wrap.cxx
rename to android-utils/utils_wrap.cxx
diff --git a/branches/2.0/doubango/android-utils/utils_wrap.h b/android-utils/utils_wrap.h
similarity index 100%
rename from branches/2.0/doubango/android-utils/utils_wrap.h
rename to android-utils/utils_wrap.h
diff --git a/branches/2.0/doubango/android_build.sh b/android_build.sh
old mode 100755
new mode 100644
similarity index 100%
rename from branches/2.0/doubango/android_build.sh
rename to android_build.sh
diff --git a/branches/2.0/doubango/autogen.sh b/autogen.sh
old mode 100755
new mode 100644
similarity index 100%
rename from branches/2.0/doubango/autogen.sh
rename to autogen.sh
diff --git a/branches/2.0/doubango/bindings/Makefile.am b/bindings/Makefile.am
similarity index 100%
rename from branches/2.0/doubango/bindings/Makefile.am
rename to bindings/Makefile.am
diff --git a/branches/2.0/doubango/bindings/_common/ActionConfig.cxx b/bindings/_common/ActionConfig.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/ActionConfig.cxx
rename to bindings/_common/ActionConfig.cxx
diff --git a/branches/2.0/doubango/bindings/_common/ActionConfig.h b/bindings/_common/ActionConfig.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/ActionConfig.h
rename to bindings/_common/ActionConfig.h
diff --git a/branches/2.0/doubango/bindings/_common/AudioResampler.cxx b/bindings/_common/AudioResampler.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/AudioResampler.cxx
rename to bindings/_common/AudioResampler.cxx
diff --git a/branches/2.0/doubango/bindings/_common/AudioResampler.h b/bindings/_common/AudioResampler.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/AudioResampler.h
rename to bindings/_common/AudioResampler.h
diff --git a/branches/2.0/doubango/bindings/_common/Common.h b/bindings/_common/Common.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/Common.h
rename to bindings/_common/Common.h
diff --git a/branches/2.0/doubango/bindings/_common/DDebug.cxx b/bindings/_common/DDebug.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/DDebug.cxx
rename to bindings/_common/DDebug.cxx
diff --git a/branches/2.0/doubango/bindings/_common/DDebug.h b/bindings/_common/DDebug.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/DDebug.h
rename to bindings/_common/DDebug.h
diff --git a/branches/2.0/doubango/bindings/_common/MediaContent.cxx b/bindings/_common/MediaContent.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/MediaContent.cxx
rename to bindings/_common/MediaContent.cxx
diff --git a/branches/2.0/doubango/bindings/_common/MediaContent.h b/bindings/_common/MediaContent.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/MediaContent.h
rename to bindings/_common/MediaContent.h
diff --git a/branches/2.0/doubango/bindings/_common/MediaSessionMgr.cxx b/bindings/_common/MediaSessionMgr.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/MediaSessionMgr.cxx
rename to bindings/_common/MediaSessionMgr.cxx
diff --git a/branches/2.0/doubango/bindings/_common/MediaSessionMgr.h b/bindings/_common/MediaSessionMgr.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/MediaSessionMgr.h
rename to bindings/_common/MediaSessionMgr.h
diff --git a/branches/2.0/doubango/bindings/_common/Msrp.cxx b/bindings/_common/Msrp.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/Msrp.cxx
rename to bindings/_common/Msrp.cxx
diff --git a/branches/2.0/doubango/bindings/_common/Msrp.h b/bindings/_common/Msrp.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/Msrp.h
rename to bindings/_common/Msrp.h
diff --git a/branches/2.0/doubango/bindings/_common/Msrp.i b/bindings/_common/Msrp.i
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/Msrp.i
rename to bindings/_common/Msrp.i
diff --git a/branches/2.0/doubango/bindings/_common/ProxyConsumer.cxx b/bindings/_common/ProxyConsumer.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/ProxyConsumer.cxx
rename to bindings/_common/ProxyConsumer.cxx
diff --git a/branches/2.0/doubango/bindings/_common/ProxyConsumer.h b/bindings/_common/ProxyConsumer.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/ProxyConsumer.h
rename to bindings/_common/ProxyConsumer.h
diff --git a/branches/2.0/doubango/bindings/_common/ProxyPluginMgr.cxx b/bindings/_common/ProxyPluginMgr.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/ProxyPluginMgr.cxx
rename to bindings/_common/ProxyPluginMgr.cxx
diff --git a/branches/2.0/doubango/bindings/_common/ProxyPluginMgr.h b/bindings/_common/ProxyPluginMgr.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/ProxyPluginMgr.h
rename to bindings/_common/ProxyPluginMgr.h
diff --git a/branches/2.0/doubango/bindings/_common/ProxyProducer.cxx b/bindings/_common/ProxyProducer.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/ProxyProducer.cxx
rename to bindings/_common/ProxyProducer.cxx
diff --git a/branches/2.0/doubango/bindings/_common/ProxyProducer.h b/bindings/_common/ProxyProducer.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/ProxyProducer.h
rename to bindings/_common/ProxyProducer.h
diff --git a/branches/2.0/doubango/bindings/_common/SMS.i b/bindings/_common/SMS.i
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SMS.i
rename to bindings/_common/SMS.i
diff --git a/branches/2.0/doubango/bindings/_common/SMSEncoder.cxx b/bindings/_common/SMSEncoder.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SMSEncoder.cxx
rename to bindings/_common/SMSEncoder.cxx
diff --git a/branches/2.0/doubango/bindings/_common/SMSEncoder.h b/bindings/_common/SMSEncoder.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SMSEncoder.h
rename to bindings/_common/SMSEncoder.h
diff --git a/branches/2.0/doubango/bindings/_common/SafeObject.cxx b/bindings/_common/SafeObject.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SafeObject.cxx
rename to bindings/_common/SafeObject.cxx
diff --git a/branches/2.0/doubango/bindings/_common/SafeObject.h b/bindings/_common/SafeObject.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SafeObject.h
rename to bindings/_common/SafeObject.h
diff --git a/branches/2.0/doubango/bindings/_common/SipCallback.cxx b/bindings/_common/SipCallback.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SipCallback.cxx
rename to bindings/_common/SipCallback.cxx
diff --git a/branches/2.0/doubango/bindings/_common/SipCallback.h b/bindings/_common/SipCallback.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SipCallback.h
rename to bindings/_common/SipCallback.h
diff --git a/branches/2.0/doubango/bindings/_common/SipEvent.cxx b/bindings/_common/SipEvent.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SipEvent.cxx
rename to bindings/_common/SipEvent.cxx
diff --git a/branches/2.0/doubango/bindings/_common/SipEvent.h b/bindings/_common/SipEvent.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SipEvent.h
rename to bindings/_common/SipEvent.h
diff --git a/branches/2.0/doubango/bindings/_common/SipMessage.cxx b/bindings/_common/SipMessage.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SipMessage.cxx
rename to bindings/_common/SipMessage.cxx
diff --git a/branches/2.0/doubango/bindings/_common/SipMessage.h b/bindings/_common/SipMessage.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SipMessage.h
rename to bindings/_common/SipMessage.h
diff --git a/branches/2.0/doubango/bindings/_common/SipSession.cxx b/bindings/_common/SipSession.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SipSession.cxx
rename to bindings/_common/SipSession.cxx
diff --git a/branches/2.0/doubango/bindings/_common/SipSession.h b/bindings/_common/SipSession.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SipSession.h
rename to bindings/_common/SipSession.h
diff --git a/branches/2.0/doubango/bindings/_common/SipStack.cxx b/bindings/_common/SipStack.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SipStack.cxx
rename to bindings/_common/SipStack.cxx
diff --git a/branches/2.0/doubango/bindings/_common/SipStack.h b/bindings/_common/SipStack.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SipStack.h
rename to bindings/_common/SipStack.h
diff --git a/branches/2.0/doubango/bindings/_common/SipStack.i b/bindings/_common/SipStack.i
similarity index 99%
rename from branches/2.0/doubango/bindings/_common/SipStack.i
rename to bindings/_common/SipStack.i
index be178bd5..db528553 100644
--- a/branches/2.0/doubango/bindings/_common/SipStack.i
+++ b/bindings/_common/SipStack.i
@@ -344,20 +344,20 @@ tmedia_bandwidth_level_t;
/* ====== From "tinymedia/tmedia_common.h" ====== */
typedef enum tmedia_pref_video_size_s
{ /* must be sorted like this */
- tmedia_pref_video_size_sqcif, // 128 x 98
- tmedia_pref_video_size_qcif, // 176 x 144
- tmedia_pref_video_size_qvga, // 320 x 240
- tmedia_pref_video_size_cif, // 352 x 288
- tmedia_pref_video_size_hvga, // 480 x 320
- tmedia_pref_video_size_vga, // 640 x 480
- tmedia_pref_video_size_4cif, // 704 x 576
- tmedia_pref_video_size_wvga, // 800 x 480
- tmedia_pref_video_size_svga, // 800 x 600
- tmedia_pref_video_size_480p, // 852 x 480
- tmedia_pref_video_size_xga, // 1024 x 768
- tmedia_pref_video_size_720p, // 1280 x 720
- tmedia_pref_video_size_16cif, // 1408 x 1152
- tmedia_pref_video_size_1080p, // 1920 x 1080
+ tmedia_pref_video_size_sqcif, // 128 x 98
+ tmedia_pref_video_size_qcif, // 176 x 144
+ tmedia_pref_video_size_qvga, // 320 x 240
+ tmedia_pref_video_size_cif, // 352 x 288
+ tmedia_pref_video_size_hvga, // 480 x 320
+ tmedia_pref_video_size_vga, // 640 x 480
+ tmedia_pref_video_size_4cif, // 704 x 576
+ tmedia_pref_video_size_wvga, // 800 x 480
+ tmedia_pref_video_size_svga, // 800 x 600
+ tmedia_pref_video_size_480p, // 852 x 480
+ tmedia_pref_video_size_xga, // 1024 x 768
+ tmedia_pref_video_size_720p, // 1280 x 720
+ tmedia_pref_video_size_16cif, // 1408 x 1152
+ tmedia_pref_video_size_1080p, // 1920 x 1080
tmedia_pref_video_size_2160p, // 3840 x 2160
}
tmedia_pref_video_size_t;
diff --git a/branches/2.0/doubango/bindings/_common/SipUri.cxx b/bindings/_common/SipUri.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SipUri.cxx
rename to bindings/_common/SipUri.cxx
diff --git a/branches/2.0/doubango/bindings/_common/SipUri.h b/bindings/_common/SipUri.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/SipUri.h
rename to bindings/_common/SipUri.h
diff --git a/branches/2.0/doubango/bindings/_common/Xcap.cxx b/bindings/_common/Xcap.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/Xcap.cxx
rename to bindings/_common/Xcap.cxx
diff --git a/branches/2.0/doubango/bindings/_common/Xcap.h b/bindings/_common/Xcap.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/Xcap.h
rename to bindings/_common/Xcap.h
diff --git a/branches/2.0/doubango/bindings/_common/Xcap.i b/bindings/_common/Xcap.i
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/Xcap.i
rename to bindings/_common/Xcap.i
diff --git a/branches/2.0/doubango/bindings/_common/tinyWRAP.i b/bindings/_common/tinyWRAP.i
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/tinyWRAP.i
rename to bindings/_common/tinyWRAP.i
diff --git a/branches/2.0/doubango/bindings/_common/tinyWRAP_config.h b/bindings/_common/tinyWRAP_config.h
similarity index 100%
rename from branches/2.0/doubango/bindings/_common/tinyWRAP_config.h
rename to bindings/_common/tinyWRAP_config.h
diff --git a/branches/2.0/doubango/bindings/autogen.sh b/bindings/autogen.sh
old mode 100755
new mode 100644
similarity index 100%
rename from branches/2.0/doubango/bindings/autogen.sh
rename to bindings/autogen.sh
diff --git a/branches/2.0/doubango/bindings/csharp/ActionConfig.cs b/bindings/csharp/ActionConfig.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ActionConfig.cs
rename to bindings/csharp/ActionConfig.cs
diff --git a/branches/2.0/doubango/bindings/csharp/AudioResampler.cs b/bindings/csharp/AudioResampler.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/AudioResampler.cs
rename to bindings/csharp/AudioResampler.cs
diff --git a/branches/2.0/doubango/bindings/csharp/CallSession.cs b/bindings/csharp/CallSession.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/CallSession.cs
rename to bindings/csharp/CallSession.cs
diff --git a/branches/2.0/doubango/bindings/csharp/Codec.cs b/bindings/csharp/Codec.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/Codec.cs
rename to bindings/csharp/Codec.cs
diff --git a/branches/2.0/doubango/bindings/csharp/DDebugCallback.cs b/bindings/csharp/DDebugCallback.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/DDebugCallback.cs
rename to bindings/csharp/DDebugCallback.cs
diff --git a/branches/2.0/doubango/bindings/csharp/DialogEvent.cs b/bindings/csharp/DialogEvent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/DialogEvent.cs
rename to bindings/csharp/DialogEvent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/InfoEvent.cs b/bindings/csharp/InfoEvent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/InfoEvent.cs
rename to bindings/csharp/InfoEvent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/InfoSession.cs b/bindings/csharp/InfoSession.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/InfoSession.cs
rename to bindings/csharp/InfoSession.cs
diff --git a/branches/2.0/doubango/bindings/csharp/InviteEvent.cs b/bindings/csharp/InviteEvent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/InviteEvent.cs
rename to bindings/csharp/InviteEvent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/InviteSession.cs b/bindings/csharp/InviteSession.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/InviteSession.cs
rename to bindings/csharp/InviteSession.cs
diff --git a/branches/2.0/doubango/bindings/csharp/MediaContent.cs b/bindings/csharp/MediaContent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/MediaContent.cs
rename to bindings/csharp/MediaContent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/MediaContentCPIM.cs b/bindings/csharp/MediaContentCPIM.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/MediaContentCPIM.cs
rename to bindings/csharp/MediaContentCPIM.cs
diff --git a/branches/2.0/doubango/bindings/csharp/MediaSessionMgr.cs b/bindings/csharp/MediaSessionMgr.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/MediaSessionMgr.cs
rename to bindings/csharp/MediaSessionMgr.cs
diff --git a/branches/2.0/doubango/bindings/csharp/MessagingEvent.cs b/bindings/csharp/MessagingEvent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/MessagingEvent.cs
rename to bindings/csharp/MessagingEvent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/MessagingSession.cs b/bindings/csharp/MessagingSession.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/MessagingSession.cs
rename to bindings/csharp/MessagingSession.cs
diff --git a/branches/2.0/doubango/bindings/csharp/MsrpCallback.cs b/bindings/csharp/MsrpCallback.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/MsrpCallback.cs
rename to bindings/csharp/MsrpCallback.cs
diff --git a/branches/2.0/doubango/bindings/csharp/MsrpEvent.cs b/bindings/csharp/MsrpEvent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/MsrpEvent.cs
rename to bindings/csharp/MsrpEvent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/MsrpMessage.cs b/bindings/csharp/MsrpMessage.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/MsrpMessage.cs
rename to bindings/csharp/MsrpMessage.cs
diff --git a/branches/2.0/doubango/bindings/csharp/MsrpSession.cs b/bindings/csharp/MsrpSession.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/MsrpSession.cs
rename to bindings/csharp/MsrpSession.cs
diff --git a/branches/2.0/doubango/bindings/csharp/OptionsEvent.cs b/bindings/csharp/OptionsEvent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/OptionsEvent.cs
rename to bindings/csharp/OptionsEvent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/OptionsSession.cs b/bindings/csharp/OptionsSession.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/OptionsSession.cs
rename to bindings/csharp/OptionsSession.cs
diff --git a/branches/2.0/doubango/bindings/csharp/ProxyAudioConsumer.cs b/bindings/csharp/ProxyAudioConsumer.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ProxyAudioConsumer.cs
rename to bindings/csharp/ProxyAudioConsumer.cs
diff --git a/branches/2.0/doubango/bindings/csharp/ProxyAudioConsumerCallback.cs b/bindings/csharp/ProxyAudioConsumerCallback.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ProxyAudioConsumerCallback.cs
rename to bindings/csharp/ProxyAudioConsumerCallback.cs
diff --git a/branches/2.0/doubango/bindings/csharp/ProxyAudioProducer.cs b/bindings/csharp/ProxyAudioProducer.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ProxyAudioProducer.cs
rename to bindings/csharp/ProxyAudioProducer.cs
diff --git a/branches/2.0/doubango/bindings/csharp/ProxyAudioProducerCallback.cs b/bindings/csharp/ProxyAudioProducerCallback.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ProxyAudioProducerCallback.cs
rename to bindings/csharp/ProxyAudioProducerCallback.cs
diff --git a/branches/2.0/doubango/bindings/csharp/ProxyPlugin.cs b/bindings/csharp/ProxyPlugin.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ProxyPlugin.cs
rename to bindings/csharp/ProxyPlugin.cs
diff --git a/branches/2.0/doubango/bindings/csharp/ProxyPluginMgr.cs b/bindings/csharp/ProxyPluginMgr.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ProxyPluginMgr.cs
rename to bindings/csharp/ProxyPluginMgr.cs
diff --git a/branches/2.0/doubango/bindings/csharp/ProxyPluginMgrCallback.cs b/bindings/csharp/ProxyPluginMgrCallback.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ProxyPluginMgrCallback.cs
rename to bindings/csharp/ProxyPluginMgrCallback.cs
diff --git a/branches/2.0/doubango/bindings/csharp/ProxyVideoConsumer.cs b/bindings/csharp/ProxyVideoConsumer.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ProxyVideoConsumer.cs
rename to bindings/csharp/ProxyVideoConsumer.cs
diff --git a/branches/2.0/doubango/bindings/csharp/ProxyVideoConsumerCallback.cs b/bindings/csharp/ProxyVideoConsumerCallback.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ProxyVideoConsumerCallback.cs
rename to bindings/csharp/ProxyVideoConsumerCallback.cs
diff --git a/branches/2.0/doubango/bindings/csharp/ProxyVideoFrame.cs b/bindings/csharp/ProxyVideoFrame.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ProxyVideoFrame.cs
rename to bindings/csharp/ProxyVideoFrame.cs
diff --git a/branches/2.0/doubango/bindings/csharp/ProxyVideoProducer.cs b/bindings/csharp/ProxyVideoProducer.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ProxyVideoProducer.cs
rename to bindings/csharp/ProxyVideoProducer.cs
diff --git a/branches/2.0/doubango/bindings/csharp/ProxyVideoProducerCallback.cs b/bindings/csharp/ProxyVideoProducerCallback.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/ProxyVideoProducerCallback.cs
rename to bindings/csharp/ProxyVideoProducerCallback.cs
diff --git a/branches/2.0/doubango/bindings/csharp/PublicationEvent.cs b/bindings/csharp/PublicationEvent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/PublicationEvent.cs
rename to bindings/csharp/PublicationEvent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/PublicationSession.cs b/bindings/csharp/PublicationSession.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/PublicationSession.cs
rename to bindings/csharp/PublicationSession.cs
diff --git a/branches/2.0/doubango/bindings/csharp/RPMessage.cs b/bindings/csharp/RPMessage.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/RPMessage.cs
rename to bindings/csharp/RPMessage.cs
diff --git a/branches/2.0/doubango/bindings/csharp/RegistrationEvent.cs b/bindings/csharp/RegistrationEvent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/RegistrationEvent.cs
rename to bindings/csharp/RegistrationEvent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/RegistrationSession.cs b/bindings/csharp/RegistrationSession.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/RegistrationSession.cs
rename to bindings/csharp/RegistrationSession.cs
diff --git a/branches/2.0/doubango/bindings/csharp/SMSData.cs b/bindings/csharp/SMSData.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/SMSData.cs
rename to bindings/csharp/SMSData.cs
diff --git a/branches/2.0/doubango/bindings/csharp/SMSEncoder.cs b/bindings/csharp/SMSEncoder.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/SMSEncoder.cs
rename to bindings/csharp/SMSEncoder.cs
diff --git a/branches/2.0/doubango/bindings/csharp/SafeObject.cs b/bindings/csharp/SafeObject.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/SafeObject.cs
rename to bindings/csharp/SafeObject.cs
diff --git a/branches/2.0/doubango/bindings/csharp/SdpMessage.cs b/bindings/csharp/SdpMessage.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/SdpMessage.cs
rename to bindings/csharp/SdpMessage.cs
diff --git a/branches/2.0/doubango/bindings/csharp/SipCallback.cs b/bindings/csharp/SipCallback.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/SipCallback.cs
rename to bindings/csharp/SipCallback.cs
diff --git a/branches/2.0/doubango/bindings/csharp/SipEvent.cs b/bindings/csharp/SipEvent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/SipEvent.cs
rename to bindings/csharp/SipEvent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/SipMessage.cs b/bindings/csharp/SipMessage.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/SipMessage.cs
rename to bindings/csharp/SipMessage.cs
diff --git a/branches/2.0/doubango/bindings/csharp/SipSession.cs b/bindings/csharp/SipSession.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/SipSession.cs
rename to bindings/csharp/SipSession.cs
diff --git a/branches/2.0/doubango/bindings/csharp/SipStack.cs b/bindings/csharp/SipStack.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/SipStack.cs
rename to bindings/csharp/SipStack.cs
diff --git a/branches/2.0/doubango/bindings/csharp/SipUri.cs b/bindings/csharp/SipUri.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/SipUri.cs
rename to bindings/csharp/SipUri.cs
diff --git a/branches/2.0/doubango/bindings/csharp/StackEvent.cs b/bindings/csharp/StackEvent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/StackEvent.cs
rename to bindings/csharp/StackEvent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/SubscriptionEvent.cs b/bindings/csharp/SubscriptionEvent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/SubscriptionEvent.cs
rename to bindings/csharp/SubscriptionEvent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/SubscriptionSession.cs b/bindings/csharp/SubscriptionSession.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/SubscriptionSession.cs
rename to bindings/csharp/SubscriptionSession.cs
diff --git a/branches/2.0/doubango/bindings/csharp/T140Callback.cs b/bindings/csharp/T140Callback.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/T140Callback.cs
rename to bindings/csharp/T140Callback.cs
diff --git a/branches/2.0/doubango/bindings/csharp/T140CallbackData.cs b/bindings/csharp/T140CallbackData.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/T140CallbackData.cs
rename to bindings/csharp/T140CallbackData.cs
diff --git a/branches/2.0/doubango/bindings/csharp/XcapCallback.cs b/bindings/csharp/XcapCallback.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/XcapCallback.cs
rename to bindings/csharp/XcapCallback.cs
diff --git a/branches/2.0/doubango/bindings/csharp/XcapEvent.cs b/bindings/csharp/XcapEvent.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/XcapEvent.cs
rename to bindings/csharp/XcapEvent.cs
diff --git a/branches/2.0/doubango/bindings/csharp/XcapMessage.cs b/bindings/csharp/XcapMessage.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/XcapMessage.cs
rename to bindings/csharp/XcapMessage.cs
diff --git a/branches/2.0/doubango/bindings/csharp/XcapSelector.cs b/bindings/csharp/XcapSelector.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/XcapSelector.cs
rename to bindings/csharp/XcapSelector.cs
diff --git a/branches/2.0/doubango/bindings/csharp/XcapStack.cs b/bindings/csharp/XcapStack.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/XcapStack.cs
rename to bindings/csharp/XcapStack.cs
diff --git a/branches/2.0/doubango/bindings/csharp/csharp.i b/bindings/csharp/csharp.i
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/csharp.i
rename to bindings/csharp/csharp.i
diff --git a/branches/2.0/doubango/bindings/csharp/tdav_codec_id_t.cs b/bindings/csharp/tdav_codec_id_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tdav_codec_id_t.cs
rename to bindings/csharp/tdav_codec_id_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/thttp_event_type_t.cs b/bindings/csharp/thttp_event_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/thttp_event_type_t.cs
rename to bindings/csharp/thttp_event_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tinyWRAP.cs b/bindings/csharp/tinyWRAP.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tinyWRAP.cs
rename to bindings/csharp/tinyWRAP.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tinyWRAP.sln b/bindings/csharp/tinyWRAP.sln
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tinyWRAP.sln
rename to bindings/csharp/tinyWRAP.sln
diff --git a/branches/2.0/doubango/bindings/csharp/tinyWRAP.vcproj b/bindings/csharp/tinyWRAP.vcproj
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tinyWRAP.vcproj
rename to bindings/csharp/tinyWRAP.vcproj
diff --git a/branches/2.0/doubango/bindings/csharp/tinyWRAPPINVOKE.cs b/bindings/csharp/tinyWRAPPINVOKE.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tinyWRAPPINVOKE.cs
rename to bindings/csharp/tinyWRAPPINVOKE.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tinyWRAP_wrap.cxx b/bindings/csharp/tinyWRAP_wrap.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tinyWRAP_wrap.cxx
rename to bindings/csharp/tinyWRAP_wrap.cxx
diff --git a/branches/2.0/doubango/bindings/csharp/tinyWRAP_wrap.h b/bindings/csharp/tinyWRAP_wrap.h
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tinyWRAP_wrap.h
rename to bindings/csharp/tinyWRAP_wrap.h
diff --git a/branches/2.0/doubango/bindings/csharp/tmedia_bandwidth_level_t.cs b/bindings/csharp/tmedia_bandwidth_level_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmedia_bandwidth_level_t.cs
rename to bindings/csharp/tmedia_bandwidth_level_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tmedia_chroma_t.cs b/bindings/csharp/tmedia_chroma_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmedia_chroma_t.cs
rename to bindings/csharp/tmedia_chroma_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tmedia_codec_id_t.cs b/bindings/csharp/tmedia_codec_id_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmedia_codec_id_t.cs
rename to bindings/csharp/tmedia_codec_id_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tmedia_mode_t.cs b/bindings/csharp/tmedia_mode_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmedia_mode_t.cs
rename to bindings/csharp/tmedia_mode_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tmedia_pref_video_size_t.cs b/bindings/csharp/tmedia_pref_video_size_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmedia_pref_video_size_t.cs
rename to bindings/csharp/tmedia_pref_video_size_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tmedia_profile_t.cs b/bindings/csharp/tmedia_profile_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmedia_profile_t.cs
rename to bindings/csharp/tmedia_profile_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tmedia_qos_strength_t.cs b/bindings/csharp/tmedia_qos_strength_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmedia_qos_strength_t.cs
rename to bindings/csharp/tmedia_qos_strength_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tmedia_qos_stype_t.cs b/bindings/csharp/tmedia_qos_stype_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmedia_qos_stype_t.cs
rename to bindings/csharp/tmedia_qos_stype_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tmedia_srtp_mode_t.cs b/bindings/csharp/tmedia_srtp_mode_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmedia_srtp_mode_t.cs
rename to bindings/csharp/tmedia_srtp_mode_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tmedia_srtp_type_t.cs b/bindings/csharp/tmedia_srtp_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmedia_srtp_type_t.cs
rename to bindings/csharp/tmedia_srtp_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tmedia_t140_data_type_t.cs b/bindings/csharp/tmedia_t140_data_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmedia_t140_data_type_t.cs
rename to bindings/csharp/tmedia_t140_data_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tmsrp_event_type_t.cs b/bindings/csharp/tmsrp_event_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmsrp_event_type_t.cs
rename to bindings/csharp/tmsrp_event_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tmsrp_request_type_t.cs b/bindings/csharp/tmsrp_request_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tmsrp_request_type_t.cs
rename to bindings/csharp/tmsrp_request_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tsip_event_type_t.cs b/bindings/csharp/tsip_event_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tsip_event_type_t.cs
rename to bindings/csharp/tsip_event_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tsip_info_event_type_t.cs b/bindings/csharp/tsip_info_event_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tsip_info_event_type_t.cs
rename to bindings/csharp/tsip_info_event_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tsip_invite_event_type_t.cs b/bindings/csharp/tsip_invite_event_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tsip_invite_event_type_t.cs
rename to bindings/csharp/tsip_invite_event_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tsip_message_event_type_t.cs b/bindings/csharp/tsip_message_event_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tsip_message_event_type_t.cs
rename to bindings/csharp/tsip_message_event_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tsip_options_event_type_t.cs b/bindings/csharp/tsip_options_event_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tsip_options_event_type_t.cs
rename to bindings/csharp/tsip_options_event_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tsip_publish_event_type_t.cs b/bindings/csharp/tsip_publish_event_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tsip_publish_event_type_t.cs
rename to bindings/csharp/tsip_publish_event_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tsip_register_event_type_t.cs b/bindings/csharp/tsip_register_event_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tsip_register_event_type_t.cs
rename to bindings/csharp/tsip_register_event_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tsip_request_type_t.cs b/bindings/csharp/tsip_request_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tsip_request_type_t.cs
rename to bindings/csharp/tsip_request_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tsip_stack_mode_t.cs b/bindings/csharp/tsip_stack_mode_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tsip_stack_mode_t.cs
rename to bindings/csharp/tsip_stack_mode_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/tsip_subscribe_event_type_t.cs b/bindings/csharp/tsip_subscribe_event_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/tsip_subscribe_event_type_t.cs
rename to bindings/csharp/tsip_subscribe_event_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/twrap_media_type_t.cs b/bindings/csharp/twrap_media_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/twrap_media_type_t.cs
rename to bindings/csharp/twrap_media_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/twrap_proxy_plugin_type_t.cs b/bindings/csharp/twrap_proxy_plugin_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/twrap_proxy_plugin_type_t.cs
rename to bindings/csharp/twrap_proxy_plugin_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/twrap_rpmessage_type_t.cs b/bindings/csharp/twrap_rpmessage_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/twrap_rpmessage_type_t.cs
rename to bindings/csharp/twrap_rpmessage_type_t.cs
diff --git a/branches/2.0/doubango/bindings/csharp/twrap_sms_type_t.cs b/bindings/csharp/twrap_sms_type_t.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/csharp/twrap_sms_type_t.cs
rename to bindings/csharp/twrap_sms_type_t.cs
diff --git a/branches/2.0/doubango/bindings/java/ActionConfig.java b/bindings/java/ActionConfig.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ActionConfig.java
rename to bindings/java/ActionConfig.java
diff --git a/branches/2.0/doubango/bindings/java/AudioResampler.java b/bindings/java/AudioResampler.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/AudioResampler.java
rename to bindings/java/AudioResampler.java
diff --git a/branches/2.0/doubango/bindings/java/CallSession.java b/bindings/java/CallSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/CallSession.java
rename to bindings/java/CallSession.java
diff --git a/branches/2.0/doubango/bindings/java/Codec.java b/bindings/java/Codec.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/Codec.java
rename to bindings/java/Codec.java
diff --git a/branches/2.0/doubango/bindings/java/DDebugCallback.java b/bindings/java/DDebugCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/DDebugCallback.java
rename to bindings/java/DDebugCallback.java
diff --git a/branches/2.0/doubango/bindings/java/DialogEvent.java b/bindings/java/DialogEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/DialogEvent.java
rename to bindings/java/DialogEvent.java
diff --git a/branches/2.0/doubango/bindings/java/InfoEvent.java b/bindings/java/InfoEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/InfoEvent.java
rename to bindings/java/InfoEvent.java
diff --git a/branches/2.0/doubango/bindings/java/InfoSession.java b/bindings/java/InfoSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/InfoSession.java
rename to bindings/java/InfoSession.java
diff --git a/branches/2.0/doubango/bindings/java/InviteEvent.java b/bindings/java/InviteEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/InviteEvent.java
rename to bindings/java/InviteEvent.java
diff --git a/branches/2.0/doubango/bindings/java/InviteSession.java b/bindings/java/InviteSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/InviteSession.java
rename to bindings/java/InviteSession.java
diff --git a/branches/2.0/doubango/bindings/java/MediaContent.java b/bindings/java/MediaContent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/MediaContent.java
rename to bindings/java/MediaContent.java
diff --git a/branches/2.0/doubango/bindings/java/MediaContentCPIM.java b/bindings/java/MediaContentCPIM.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/MediaContentCPIM.java
rename to bindings/java/MediaContentCPIM.java
diff --git a/branches/2.0/doubango/bindings/java/MediaSessionMgr.java b/bindings/java/MediaSessionMgr.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/MediaSessionMgr.java
rename to bindings/java/MediaSessionMgr.java
diff --git a/branches/2.0/doubango/bindings/java/MessagingEvent.java b/bindings/java/MessagingEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/MessagingEvent.java
rename to bindings/java/MessagingEvent.java
diff --git a/branches/2.0/doubango/bindings/java/MessagingSession.java b/bindings/java/MessagingSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/MessagingSession.java
rename to bindings/java/MessagingSession.java
diff --git a/branches/2.0/doubango/bindings/java/MsrpCallback.java b/bindings/java/MsrpCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/MsrpCallback.java
rename to bindings/java/MsrpCallback.java
diff --git a/branches/2.0/doubango/bindings/java/MsrpEvent.java b/bindings/java/MsrpEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/MsrpEvent.java
rename to bindings/java/MsrpEvent.java
diff --git a/branches/2.0/doubango/bindings/java/MsrpMessage.java b/bindings/java/MsrpMessage.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/MsrpMessage.java
rename to bindings/java/MsrpMessage.java
diff --git a/branches/2.0/doubango/bindings/java/MsrpSession.java b/bindings/java/MsrpSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/MsrpSession.java
rename to bindings/java/MsrpSession.java
diff --git a/branches/2.0/doubango/bindings/java/OptionsEvent.java b/bindings/java/OptionsEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/OptionsEvent.java
rename to bindings/java/OptionsEvent.java
diff --git a/branches/2.0/doubango/bindings/java/OptionsSession.java b/bindings/java/OptionsSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/OptionsSession.java
rename to bindings/java/OptionsSession.java
diff --git a/branches/2.0/doubango/bindings/java/ProxyAudioConsumer.java b/bindings/java/ProxyAudioConsumer.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ProxyAudioConsumer.java
rename to bindings/java/ProxyAudioConsumer.java
diff --git a/branches/2.0/doubango/bindings/java/ProxyAudioConsumerCallback.java b/bindings/java/ProxyAudioConsumerCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ProxyAudioConsumerCallback.java
rename to bindings/java/ProxyAudioConsumerCallback.java
diff --git a/branches/2.0/doubango/bindings/java/ProxyAudioProducer.java b/bindings/java/ProxyAudioProducer.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ProxyAudioProducer.java
rename to bindings/java/ProxyAudioProducer.java
diff --git a/branches/2.0/doubango/bindings/java/ProxyAudioProducerCallback.java b/bindings/java/ProxyAudioProducerCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ProxyAudioProducerCallback.java
rename to bindings/java/ProxyAudioProducerCallback.java
diff --git a/branches/2.0/doubango/bindings/java/ProxyPlugin.java b/bindings/java/ProxyPlugin.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ProxyPlugin.java
rename to bindings/java/ProxyPlugin.java
diff --git a/branches/2.0/doubango/bindings/java/ProxyPluginMgr.java b/bindings/java/ProxyPluginMgr.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ProxyPluginMgr.java
rename to bindings/java/ProxyPluginMgr.java
diff --git a/branches/2.0/doubango/bindings/java/ProxyPluginMgrCallback.java b/bindings/java/ProxyPluginMgrCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ProxyPluginMgrCallback.java
rename to bindings/java/ProxyPluginMgrCallback.java
diff --git a/branches/2.0/doubango/bindings/java/ProxyVideoConsumer.java b/bindings/java/ProxyVideoConsumer.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ProxyVideoConsumer.java
rename to bindings/java/ProxyVideoConsumer.java
diff --git a/branches/2.0/doubango/bindings/java/ProxyVideoConsumerCallback.java b/bindings/java/ProxyVideoConsumerCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ProxyVideoConsumerCallback.java
rename to bindings/java/ProxyVideoConsumerCallback.java
diff --git a/branches/2.0/doubango/bindings/java/ProxyVideoFrame.java b/bindings/java/ProxyVideoFrame.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ProxyVideoFrame.java
rename to bindings/java/ProxyVideoFrame.java
diff --git a/branches/2.0/doubango/bindings/java/ProxyVideoProducer.java b/bindings/java/ProxyVideoProducer.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ProxyVideoProducer.java
rename to bindings/java/ProxyVideoProducer.java
diff --git a/branches/2.0/doubango/bindings/java/ProxyVideoProducerCallback.java b/bindings/java/ProxyVideoProducerCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/ProxyVideoProducerCallback.java
rename to bindings/java/ProxyVideoProducerCallback.java
diff --git a/branches/2.0/doubango/bindings/java/PublicationEvent.java b/bindings/java/PublicationEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/PublicationEvent.java
rename to bindings/java/PublicationEvent.java
diff --git a/branches/2.0/doubango/bindings/java/PublicationSession.java b/bindings/java/PublicationSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/PublicationSession.java
rename to bindings/java/PublicationSession.java
diff --git a/branches/2.0/doubango/bindings/java/RPMessage.java b/bindings/java/RPMessage.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/RPMessage.java
rename to bindings/java/RPMessage.java
diff --git a/branches/2.0/doubango/bindings/java/RegistrationEvent.java b/bindings/java/RegistrationEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/RegistrationEvent.java
rename to bindings/java/RegistrationEvent.java
diff --git a/branches/2.0/doubango/bindings/java/RegistrationSession.java b/bindings/java/RegistrationSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/RegistrationSession.java
rename to bindings/java/RegistrationSession.java
diff --git a/branches/2.0/doubango/bindings/java/SMSData.java b/bindings/java/SMSData.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/SMSData.java
rename to bindings/java/SMSData.java
diff --git a/branches/2.0/doubango/bindings/java/SMSEncoder.java b/bindings/java/SMSEncoder.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/SMSEncoder.java
rename to bindings/java/SMSEncoder.java
diff --git a/branches/2.0/doubango/bindings/java/SafeObject.java b/bindings/java/SafeObject.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/SafeObject.java
rename to bindings/java/SafeObject.java
diff --git a/branches/2.0/doubango/bindings/java/SdpMessage.java b/bindings/java/SdpMessage.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/SdpMessage.java
rename to bindings/java/SdpMessage.java
diff --git a/branches/2.0/doubango/bindings/java/SipCallback.java b/bindings/java/SipCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/SipCallback.java
rename to bindings/java/SipCallback.java
diff --git a/branches/2.0/doubango/bindings/java/SipEvent.java b/bindings/java/SipEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/SipEvent.java
rename to bindings/java/SipEvent.java
diff --git a/branches/2.0/doubango/bindings/java/SipMessage.java b/bindings/java/SipMessage.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/SipMessage.java
rename to bindings/java/SipMessage.java
diff --git a/branches/2.0/doubango/bindings/java/SipSession.java b/bindings/java/SipSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/SipSession.java
rename to bindings/java/SipSession.java
diff --git a/branches/2.0/doubango/bindings/java/SipStack.java b/bindings/java/SipStack.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/SipStack.java
rename to bindings/java/SipStack.java
diff --git a/branches/2.0/doubango/bindings/java/SipUri.java b/bindings/java/SipUri.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/SipUri.java
rename to bindings/java/SipUri.java
diff --git a/branches/2.0/doubango/bindings/java/StackEvent.java b/bindings/java/StackEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/StackEvent.java
rename to bindings/java/StackEvent.java
diff --git a/branches/2.0/doubango/bindings/java/SubscriptionEvent.java b/bindings/java/SubscriptionEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/SubscriptionEvent.java
rename to bindings/java/SubscriptionEvent.java
diff --git a/branches/2.0/doubango/bindings/java/SubscriptionSession.java b/bindings/java/SubscriptionSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/SubscriptionSession.java
rename to bindings/java/SubscriptionSession.java
diff --git a/branches/2.0/doubango/bindings/java/T140Callback.java b/bindings/java/T140Callback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/T140Callback.java
rename to bindings/java/T140Callback.java
diff --git a/branches/2.0/doubango/bindings/java/T140CallbackData.java b/bindings/java/T140CallbackData.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/T140CallbackData.java
rename to bindings/java/T140CallbackData.java
diff --git a/branches/2.0/doubango/bindings/java/XcapCallback.java b/bindings/java/XcapCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/XcapCallback.java
rename to bindings/java/XcapCallback.java
diff --git a/branches/2.0/doubango/bindings/java/XcapEvent.java b/bindings/java/XcapEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/XcapEvent.java
rename to bindings/java/XcapEvent.java
diff --git a/branches/2.0/doubango/bindings/java/XcapMessage.java b/bindings/java/XcapMessage.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/XcapMessage.java
rename to bindings/java/XcapMessage.java
diff --git a/branches/2.0/doubango/bindings/java/XcapSelector.java b/bindings/java/XcapSelector.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/XcapSelector.java
rename to bindings/java/XcapSelector.java
diff --git a/branches/2.0/doubango/bindings/java/XcapStack.java b/bindings/java/XcapStack.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/XcapStack.java
rename to bindings/java/XcapStack.java
diff --git a/branches/2.0/doubango/bindings/java/android/ActionConfig.java b/bindings/java/android/ActionConfig.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ActionConfig.java
rename to bindings/java/android/ActionConfig.java
diff --git a/branches/2.0/doubango/bindings/java/android/AudioResampler.java b/bindings/java/android/AudioResampler.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/AudioResampler.java
rename to bindings/java/android/AudioResampler.java
diff --git a/branches/2.0/doubango/bindings/java/android/CallSession.java b/bindings/java/android/CallSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/CallSession.java
rename to bindings/java/android/CallSession.java
diff --git a/branches/2.0/doubango/bindings/java/android/Codec.java b/bindings/java/android/Codec.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/Codec.java
rename to bindings/java/android/Codec.java
diff --git a/branches/2.0/doubango/bindings/java/android/DDebugCallback.java b/bindings/java/android/DDebugCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/DDebugCallback.java
rename to bindings/java/android/DDebugCallback.java
diff --git a/branches/2.0/doubango/bindings/java/android/DialogEvent.java b/bindings/java/android/DialogEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/DialogEvent.java
rename to bindings/java/android/DialogEvent.java
diff --git a/branches/2.0/doubango/bindings/java/android/InfoEvent.java b/bindings/java/android/InfoEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/InfoEvent.java
rename to bindings/java/android/InfoEvent.java
diff --git a/branches/2.0/doubango/bindings/java/android/InfoSession.java b/bindings/java/android/InfoSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/InfoSession.java
rename to bindings/java/android/InfoSession.java
diff --git a/branches/2.0/doubango/bindings/java/android/InviteEvent.java b/bindings/java/android/InviteEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/InviteEvent.java
rename to bindings/java/android/InviteEvent.java
diff --git a/branches/2.0/doubango/bindings/java/android/InviteSession.java b/bindings/java/android/InviteSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/InviteSession.java
rename to bindings/java/android/InviteSession.java
diff --git a/branches/2.0/doubango/bindings/java/android/MediaContent.java b/bindings/java/android/MediaContent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/MediaContent.java
rename to bindings/java/android/MediaContent.java
diff --git a/branches/2.0/doubango/bindings/java/android/MediaContentCPIM.java b/bindings/java/android/MediaContentCPIM.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/MediaContentCPIM.java
rename to bindings/java/android/MediaContentCPIM.java
diff --git a/branches/2.0/doubango/bindings/java/android/MediaSessionMgr.java b/bindings/java/android/MediaSessionMgr.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/MediaSessionMgr.java
rename to bindings/java/android/MediaSessionMgr.java
diff --git a/branches/2.0/doubango/bindings/java/android/MessagingEvent.java b/bindings/java/android/MessagingEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/MessagingEvent.java
rename to bindings/java/android/MessagingEvent.java
diff --git a/branches/2.0/doubango/bindings/java/android/MessagingSession.java b/bindings/java/android/MessagingSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/MessagingSession.java
rename to bindings/java/android/MessagingSession.java
diff --git a/branches/2.0/doubango/bindings/java/android/MsrpCallback.java b/bindings/java/android/MsrpCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/MsrpCallback.java
rename to bindings/java/android/MsrpCallback.java
diff --git a/branches/2.0/doubango/bindings/java/android/MsrpEvent.java b/bindings/java/android/MsrpEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/MsrpEvent.java
rename to bindings/java/android/MsrpEvent.java
diff --git a/branches/2.0/doubango/bindings/java/android/MsrpMessage.java b/bindings/java/android/MsrpMessage.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/MsrpMessage.java
rename to bindings/java/android/MsrpMessage.java
diff --git a/branches/2.0/doubango/bindings/java/android/MsrpSession.java b/bindings/java/android/MsrpSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/MsrpSession.java
rename to bindings/java/android/MsrpSession.java
diff --git a/branches/2.0/doubango/bindings/java/android/OptionsEvent.java b/bindings/java/android/OptionsEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/OptionsEvent.java
rename to bindings/java/android/OptionsEvent.java
diff --git a/branches/2.0/doubango/bindings/java/android/OptionsSession.java b/bindings/java/android/OptionsSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/OptionsSession.java
rename to bindings/java/android/OptionsSession.java
diff --git a/branches/2.0/doubango/bindings/java/android/ProxyAudioConsumer.java b/bindings/java/android/ProxyAudioConsumer.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ProxyAudioConsumer.java
rename to bindings/java/android/ProxyAudioConsumer.java
diff --git a/branches/2.0/doubango/bindings/java/android/ProxyAudioConsumerCallback.java b/bindings/java/android/ProxyAudioConsumerCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ProxyAudioConsumerCallback.java
rename to bindings/java/android/ProxyAudioConsumerCallback.java
diff --git a/branches/2.0/doubango/bindings/java/android/ProxyAudioProducer.java b/bindings/java/android/ProxyAudioProducer.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ProxyAudioProducer.java
rename to bindings/java/android/ProxyAudioProducer.java
diff --git a/branches/2.0/doubango/bindings/java/android/ProxyAudioProducerCallback.java b/bindings/java/android/ProxyAudioProducerCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ProxyAudioProducerCallback.java
rename to bindings/java/android/ProxyAudioProducerCallback.java
diff --git a/branches/2.0/doubango/bindings/java/android/ProxyPlugin.java b/bindings/java/android/ProxyPlugin.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ProxyPlugin.java
rename to bindings/java/android/ProxyPlugin.java
diff --git a/branches/2.0/doubango/bindings/java/android/ProxyPluginMgr.java b/bindings/java/android/ProxyPluginMgr.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ProxyPluginMgr.java
rename to bindings/java/android/ProxyPluginMgr.java
diff --git a/branches/2.0/doubango/bindings/java/android/ProxyPluginMgrCallback.java b/bindings/java/android/ProxyPluginMgrCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ProxyPluginMgrCallback.java
rename to bindings/java/android/ProxyPluginMgrCallback.java
diff --git a/branches/2.0/doubango/bindings/java/android/ProxyVideoConsumer.java b/bindings/java/android/ProxyVideoConsumer.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ProxyVideoConsumer.java
rename to bindings/java/android/ProxyVideoConsumer.java
diff --git a/branches/2.0/doubango/bindings/java/android/ProxyVideoConsumerCallback.java b/bindings/java/android/ProxyVideoConsumerCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ProxyVideoConsumerCallback.java
rename to bindings/java/android/ProxyVideoConsumerCallback.java
diff --git a/branches/2.0/doubango/bindings/java/android/ProxyVideoFrame.java b/bindings/java/android/ProxyVideoFrame.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ProxyVideoFrame.java
rename to bindings/java/android/ProxyVideoFrame.java
diff --git a/branches/2.0/doubango/bindings/java/android/ProxyVideoProducer.java b/bindings/java/android/ProxyVideoProducer.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ProxyVideoProducer.java
rename to bindings/java/android/ProxyVideoProducer.java
diff --git a/branches/2.0/doubango/bindings/java/android/ProxyVideoProducerCallback.java b/bindings/java/android/ProxyVideoProducerCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/ProxyVideoProducerCallback.java
rename to bindings/java/android/ProxyVideoProducerCallback.java
diff --git a/branches/2.0/doubango/bindings/java/android/PublicationEvent.java b/bindings/java/android/PublicationEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/PublicationEvent.java
rename to bindings/java/android/PublicationEvent.java
diff --git a/branches/2.0/doubango/bindings/java/android/PublicationSession.java b/bindings/java/android/PublicationSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/PublicationSession.java
rename to bindings/java/android/PublicationSession.java
diff --git a/branches/2.0/doubango/bindings/java/android/RPMessage.java b/bindings/java/android/RPMessage.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/RPMessage.java
rename to bindings/java/android/RPMessage.java
diff --git a/branches/2.0/doubango/bindings/java/android/RegistrationEvent.java b/bindings/java/android/RegistrationEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/RegistrationEvent.java
rename to bindings/java/android/RegistrationEvent.java
diff --git a/branches/2.0/doubango/bindings/java/android/RegistrationSession.java b/bindings/java/android/RegistrationSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/RegistrationSession.java
rename to bindings/java/android/RegistrationSession.java
diff --git a/branches/2.0/doubango/bindings/java/android/SMSData.java b/bindings/java/android/SMSData.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/SMSData.java
rename to bindings/java/android/SMSData.java
diff --git a/branches/2.0/doubango/bindings/java/android/SMSEncoder.java b/bindings/java/android/SMSEncoder.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/SMSEncoder.java
rename to bindings/java/android/SMSEncoder.java
diff --git a/branches/2.0/doubango/bindings/java/android/SafeObject.java b/bindings/java/android/SafeObject.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/SafeObject.java
rename to bindings/java/android/SafeObject.java
diff --git a/branches/2.0/doubango/bindings/java/android/SdpMessage.java b/bindings/java/android/SdpMessage.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/SdpMessage.java
rename to bindings/java/android/SdpMessage.java
diff --git a/branches/2.0/doubango/bindings/java/android/SipCallback.java b/bindings/java/android/SipCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/SipCallback.java
rename to bindings/java/android/SipCallback.java
diff --git a/branches/2.0/doubango/bindings/java/android/SipEvent.java b/bindings/java/android/SipEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/SipEvent.java
rename to bindings/java/android/SipEvent.java
diff --git a/branches/2.0/doubango/bindings/java/android/SipMessage.java b/bindings/java/android/SipMessage.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/SipMessage.java
rename to bindings/java/android/SipMessage.java
diff --git a/branches/2.0/doubango/bindings/java/android/SipSession.java b/bindings/java/android/SipSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/SipSession.java
rename to bindings/java/android/SipSession.java
diff --git a/branches/2.0/doubango/bindings/java/android/SipStack.java b/bindings/java/android/SipStack.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/SipStack.java
rename to bindings/java/android/SipStack.java
diff --git a/branches/2.0/doubango/bindings/java/android/SipUri.java b/bindings/java/android/SipUri.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/SipUri.java
rename to bindings/java/android/SipUri.java
diff --git a/branches/2.0/doubango/bindings/java/android/StackEvent.java b/bindings/java/android/StackEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/StackEvent.java
rename to bindings/java/android/StackEvent.java
diff --git a/branches/2.0/doubango/bindings/java/android/SubscriptionEvent.java b/bindings/java/android/SubscriptionEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/SubscriptionEvent.java
rename to bindings/java/android/SubscriptionEvent.java
diff --git a/branches/2.0/doubango/bindings/java/android/SubscriptionSession.java b/bindings/java/android/SubscriptionSession.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/SubscriptionSession.java
rename to bindings/java/android/SubscriptionSession.java
diff --git a/branches/2.0/doubango/bindings/java/android/T140Callback.java b/bindings/java/android/T140Callback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/T140Callback.java
rename to bindings/java/android/T140Callback.java
diff --git a/branches/2.0/doubango/bindings/java/android/T140CallbackData.java b/bindings/java/android/T140CallbackData.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/T140CallbackData.java
rename to bindings/java/android/T140CallbackData.java
diff --git a/branches/2.0/doubango/bindings/java/android/XcapCallback.java b/bindings/java/android/XcapCallback.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/XcapCallback.java
rename to bindings/java/android/XcapCallback.java
diff --git a/branches/2.0/doubango/bindings/java/android/XcapEvent.java b/bindings/java/android/XcapEvent.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/XcapEvent.java
rename to bindings/java/android/XcapEvent.java
diff --git a/branches/2.0/doubango/bindings/java/android/XcapMessage.java b/bindings/java/android/XcapMessage.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/XcapMessage.java
rename to bindings/java/android/XcapMessage.java
diff --git a/branches/2.0/doubango/bindings/java/android/XcapSelector.java b/bindings/java/android/XcapSelector.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/XcapSelector.java
rename to bindings/java/android/XcapSelector.java
diff --git a/branches/2.0/doubango/bindings/java/android/XcapStack.java b/bindings/java/android/XcapStack.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/XcapStack.java
rename to bindings/java/android/XcapStack.java
diff --git a/branches/2.0/doubango/bindings/java/android/buildAll.sh b/bindings/java/android/buildAll.sh
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/buildAll.sh
rename to bindings/java/android/buildAll.sh
diff --git a/branches/2.0/doubango/bindings/java/android/commercial.sh b/bindings/java/android/commercial.sh
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/commercial.sh
rename to bindings/java/android/commercial.sh
diff --git a/branches/2.0/doubango/bindings/java/android/droid-makefile b/bindings/java/android/droid-makefile
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/droid-makefile
rename to bindings/java/android/droid-makefile
diff --git a/branches/2.0/doubango/bindings/java/android/gpl.sh b/bindings/java/android/gpl.sh
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/gpl.sh
rename to bindings/java/android/gpl.sh
diff --git a/branches/2.0/doubango/bindings/java/android/lgpl.sh b/bindings/java/android/lgpl.sh
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/lgpl.sh
rename to bindings/java/android/lgpl.sh
diff --git a/branches/2.0/doubango/bindings/java/android/minimal.sh b/bindings/java/android/minimal.sh
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/minimal.sh
rename to bindings/java/android/minimal.sh
diff --git a/branches/2.0/doubango/bindings/java/android/tdav_codec_id_t.java b/bindings/java/android/tdav_codec_id_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tdav_codec_id_t.java
rename to bindings/java/android/tdav_codec_id_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/thttp_event_type_t.java b/bindings/java/android/thttp_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/thttp_event_type_t.java
rename to bindings/java/android/thttp_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tinyWRAP.java b/bindings/java/android/tinyWRAP.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tinyWRAP.java
rename to bindings/java/android/tinyWRAP.java
diff --git a/branches/2.0/doubango/bindings/java/android/tinyWRAPConstants.java b/bindings/java/android/tinyWRAPConstants.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tinyWRAPConstants.java
rename to bindings/java/android/tinyWRAPConstants.java
diff --git a/branches/2.0/doubango/bindings/java/android/tinyWRAPJNI.java b/bindings/java/android/tinyWRAPJNI.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tinyWRAPJNI.java
rename to bindings/java/android/tinyWRAPJNI.java
diff --git a/branches/2.0/doubango/bindings/java/android/tinyWRAP_wrap.cxx b/bindings/java/android/tinyWRAP_wrap.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tinyWRAP_wrap.cxx
rename to bindings/java/android/tinyWRAP_wrap.cxx
diff --git a/branches/2.0/doubango/bindings/java/android/tinyWRAP_wrap.h b/bindings/java/android/tinyWRAP_wrap.h
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tinyWRAP_wrap.h
rename to bindings/java/android/tinyWRAP_wrap.h
diff --git a/branches/2.0/doubango/bindings/java/android/tmedia_bandwidth_level_t.java b/bindings/java/android/tmedia_bandwidth_level_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmedia_bandwidth_level_t.java
rename to bindings/java/android/tmedia_bandwidth_level_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tmedia_chroma_t.java b/bindings/java/android/tmedia_chroma_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmedia_chroma_t.java
rename to bindings/java/android/tmedia_chroma_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tmedia_codec_id_t.java b/bindings/java/android/tmedia_codec_id_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmedia_codec_id_t.java
rename to bindings/java/android/tmedia_codec_id_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tmedia_mode_t.java b/bindings/java/android/tmedia_mode_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmedia_mode_t.java
rename to bindings/java/android/tmedia_mode_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tmedia_pref_video_size_t.java b/bindings/java/android/tmedia_pref_video_size_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmedia_pref_video_size_t.java
rename to bindings/java/android/tmedia_pref_video_size_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tmedia_profile_t.java b/bindings/java/android/tmedia_profile_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmedia_profile_t.java
rename to bindings/java/android/tmedia_profile_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tmedia_qos_strength_t.java b/bindings/java/android/tmedia_qos_strength_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmedia_qos_strength_t.java
rename to bindings/java/android/tmedia_qos_strength_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tmedia_qos_stype_t.java b/bindings/java/android/tmedia_qos_stype_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmedia_qos_stype_t.java
rename to bindings/java/android/tmedia_qos_stype_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tmedia_srtp_mode_t.java b/bindings/java/android/tmedia_srtp_mode_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmedia_srtp_mode_t.java
rename to bindings/java/android/tmedia_srtp_mode_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tmedia_srtp_type_t.java b/bindings/java/android/tmedia_srtp_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmedia_srtp_type_t.java
rename to bindings/java/android/tmedia_srtp_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tmedia_t140_data_type_t.java b/bindings/java/android/tmedia_t140_data_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmedia_t140_data_type_t.java
rename to bindings/java/android/tmedia_t140_data_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tmsrp_event_type_t.java b/bindings/java/android/tmsrp_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmsrp_event_type_t.java
rename to bindings/java/android/tmsrp_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tmsrp_request_type_t.java b/bindings/java/android/tmsrp_request_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tmsrp_request_type_t.java
rename to bindings/java/android/tmsrp_request_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tsip_event_type_t.java b/bindings/java/android/tsip_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tsip_event_type_t.java
rename to bindings/java/android/tsip_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tsip_info_event_type_t.java b/bindings/java/android/tsip_info_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tsip_info_event_type_t.java
rename to bindings/java/android/tsip_info_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tsip_invite_event_type_t.java b/bindings/java/android/tsip_invite_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tsip_invite_event_type_t.java
rename to bindings/java/android/tsip_invite_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tsip_message_event_type_t.java b/bindings/java/android/tsip_message_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tsip_message_event_type_t.java
rename to bindings/java/android/tsip_message_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tsip_options_event_type_t.java b/bindings/java/android/tsip_options_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tsip_options_event_type_t.java
rename to bindings/java/android/tsip_options_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tsip_publish_event_type_t.java b/bindings/java/android/tsip_publish_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tsip_publish_event_type_t.java
rename to bindings/java/android/tsip_publish_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tsip_register_event_type_t.java b/bindings/java/android/tsip_register_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tsip_register_event_type_t.java
rename to bindings/java/android/tsip_register_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tsip_request_type_t.java b/bindings/java/android/tsip_request_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tsip_request_type_t.java
rename to bindings/java/android/tsip_request_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tsip_stack_mode_t.java b/bindings/java/android/tsip_stack_mode_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tsip_stack_mode_t.java
rename to bindings/java/android/tsip_stack_mode_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/tsip_subscribe_event_type_t.java b/bindings/java/android/tsip_subscribe_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/tsip_subscribe_event_type_t.java
rename to bindings/java/android/tsip_subscribe_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/twrap_media_type_t.java b/bindings/java/android/twrap_media_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/twrap_media_type_t.java
rename to bindings/java/android/twrap_media_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/twrap_proxy_plugin_type_t.java b/bindings/java/android/twrap_proxy_plugin_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/twrap_proxy_plugin_type_t.java
rename to bindings/java/android/twrap_proxy_plugin_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/twrap_rpmessage_type_t.java b/bindings/java/android/twrap_rpmessage_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/twrap_rpmessage_type_t.java
rename to bindings/java/android/twrap_rpmessage_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/android/twrap_sms_type_t.java b/bindings/java/android/twrap_sms_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/android/twrap_sms_type_t.java
rename to bindings/java/android/twrap_sms_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/java.i b/bindings/java/java.i
similarity index 95%
rename from branches/2.0/doubango/bindings/java/java.i
rename to bindings/java/java.i
index b4a7bf3a..da617d7b 100644
--- a/branches/2.0/doubango/bindings/java/java.i
+++ b/bindings/java/java.i
@@ -1,12 +1,12 @@
-/* File : java.i
-* http://www.swig.org/Doc1.3/Java.html
-*/
-
-// http://www.swig.org/Doc1.3/Java.html#enumerations
-%include "enums.swg"
-%javaconst(1);
-
-
+/* File : java.i
+* http://www.swig.org/Doc1.3/Java.html
+*/
+
+// http://www.swig.org/Doc1.3/Java.html#enumerations
+%include "enums.swg"
+%javaconst(1);
+
+
//================== Mapping void* (Java to C) as ByteBuffer
%typemap(jni) void * "jbyteArray"
%typemap(jtype) void * "java.nio.ByteBuffer"
@@ -24,70 +24,70 @@
// $result = $1;
//%}
%typemap(javadirectorin) void * "$jniinput"
-//==================
-
-
-%typemap(javacode) SipMessage %{
- public byte[] getSipContent() {
- final int clen = (int)this.getSipContentLength();
- if(clen>0){
- final java.nio.ByteBuffer buffer = java.nio.ByteBuffer.allocateDirect(clen);
- final int read = (int)this.getSipContent(buffer, clen);
- final byte[] bytes = new byte[read];
- buffer.get(bytes, 0, read);
- return bytes;
- }
- return null;
- }
-%}
-
-%typemap(javacode) SipSession %{
- protected java.nio.ByteBuffer getByteBuffer(byte[] bytes) {
- if(bytes != null){
- final java.nio.ByteBuffer byteBuffer = java.nio.ByteBuffer.allocateDirect(bytes.length);
- byteBuffer.put(bytes);
- return byteBuffer;
- }
- return null;
- }
-%}
-
-%typemap(javacode) PublicationSession %{
- public boolean Publish(byte[] bytes) {
- if(bytes != null){
- final java.nio.ByteBuffer byteBuffer = this.getByteBuffer(bytes);
- return this.publish(byteBuffer, bytes.length);
- }
- return false;
- }
-%}
-
-%typemap(javacode) XcapMessage %{
- public byte[] getXcapContent() {
- final int clen = (int)this.getXcapContentLength();
- if(clen>0){
- final java.nio.ByteBuffer buffer = java.nio.ByteBuffer.allocateDirect(clen);
- final int read = (int)this.getXcapContent(buffer, clen);
- final byte[] bytes = new byte[read];
- buffer.get(bytes, 0, read);
- return bytes;
- }
- return null;
- }
-%}
-
-%typemap(javacode) T140CallbackData %{
- public byte[] getData() {
- final int size = (int)this.getSize();
- if(size > 0){
- final java.nio.ByteBuffer buffer = java.nio.ByteBuffer.allocateDirect(size);
- final int read = (int)this.getData(buffer, size);
- final byte[] bytes = new byte[read];
- buffer.get(bytes, 0, read);
- return bytes;
- }
- return null;
- }
-%}
-
+//==================
+
+
+%typemap(javacode) SipMessage %{
+ public byte[] getSipContent() {
+ final int clen = (int)this.getSipContentLength();
+ if(clen>0){
+ final java.nio.ByteBuffer buffer = java.nio.ByteBuffer.allocateDirect(clen);
+ final int read = (int)this.getSipContent(buffer, clen);
+ final byte[] bytes = new byte[read];
+ buffer.get(bytes, 0, read);
+ return bytes;
+ }
+ return null;
+ }
+%}
+
+%typemap(javacode) SipSession %{
+ protected java.nio.ByteBuffer getByteBuffer(byte[] bytes) {
+ if(bytes != null){
+ final java.nio.ByteBuffer byteBuffer = java.nio.ByteBuffer.allocateDirect(bytes.length);
+ byteBuffer.put(bytes);
+ return byteBuffer;
+ }
+ return null;
+ }
+%}
+
+%typemap(javacode) PublicationSession %{
+ public boolean Publish(byte[] bytes) {
+ if(bytes != null){
+ final java.nio.ByteBuffer byteBuffer = this.getByteBuffer(bytes);
+ return this.publish(byteBuffer, bytes.length);
+ }
+ return false;
+ }
+%}
+
+%typemap(javacode) XcapMessage %{
+ public byte[] getXcapContent() {
+ final int clen = (int)this.getXcapContentLength();
+ if(clen>0){
+ final java.nio.ByteBuffer buffer = java.nio.ByteBuffer.allocateDirect(clen);
+ final int read = (int)this.getXcapContent(buffer, clen);
+ final byte[] bytes = new byte[read];
+ buffer.get(bytes, 0, read);
+ return bytes;
+ }
+ return null;
+ }
+%}
+
+%typemap(javacode) T140CallbackData %{
+ public byte[] getData() {
+ final int size = (int)this.getSize();
+ if(size > 0){
+ final java.nio.ByteBuffer buffer = java.nio.ByteBuffer.allocateDirect(size);
+ final int read = (int)this.getData(buffer, size);
+ final byte[] bytes = new byte[read];
+ buffer.get(bytes, 0, read);
+ return bytes;
+ }
+ return null;
+ }
+%}
+
%include ../_common/tinyWRAP.i
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/java/tdav_codec_id_t.java b/bindings/java/tdav_codec_id_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tdav_codec_id_t.java
rename to bindings/java/tdav_codec_id_t.java
diff --git a/branches/2.0/doubango/bindings/java/thttp_event_type_t.java b/bindings/java/thttp_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/thttp_event_type_t.java
rename to bindings/java/thttp_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tinyWRAP.java b/bindings/java/tinyWRAP.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tinyWRAP.java
rename to bindings/java/tinyWRAP.java
diff --git a/branches/2.0/doubango/bindings/java/tinyWRAP.sln b/bindings/java/tinyWRAP.sln
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tinyWRAP.sln
rename to bindings/java/tinyWRAP.sln
diff --git a/branches/2.0/doubango/bindings/java/tinyWRAP.vcproj b/bindings/java/tinyWRAP.vcproj
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tinyWRAP.vcproj
rename to bindings/java/tinyWRAP.vcproj
diff --git a/branches/2.0/doubango/bindings/java/tinyWRAPConstants.java b/bindings/java/tinyWRAPConstants.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tinyWRAPConstants.java
rename to bindings/java/tinyWRAPConstants.java
diff --git a/branches/2.0/doubango/bindings/java/tinyWRAPJNI.java b/bindings/java/tinyWRAPJNI.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tinyWRAPJNI.java
rename to bindings/java/tinyWRAPJNI.java
diff --git a/branches/2.0/doubango/bindings/java/tinyWRAP_wrap.cxx b/bindings/java/tinyWRAP_wrap.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tinyWRAP_wrap.cxx
rename to bindings/java/tinyWRAP_wrap.cxx
diff --git a/branches/2.0/doubango/bindings/java/tinyWRAP_wrap.h b/bindings/java/tinyWRAP_wrap.h
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tinyWRAP_wrap.h
rename to bindings/java/tinyWRAP_wrap.h
diff --git a/branches/2.0/doubango/bindings/java/tmedia_bandwidth_level_t.java b/bindings/java/tmedia_bandwidth_level_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmedia_bandwidth_level_t.java
rename to bindings/java/tmedia_bandwidth_level_t.java
diff --git a/branches/2.0/doubango/bindings/java/tmedia_chroma_t.java b/bindings/java/tmedia_chroma_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmedia_chroma_t.java
rename to bindings/java/tmedia_chroma_t.java
diff --git a/branches/2.0/doubango/bindings/java/tmedia_codec_id_t.java b/bindings/java/tmedia_codec_id_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmedia_codec_id_t.java
rename to bindings/java/tmedia_codec_id_t.java
diff --git a/branches/2.0/doubango/bindings/java/tmedia_mode_t.java b/bindings/java/tmedia_mode_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmedia_mode_t.java
rename to bindings/java/tmedia_mode_t.java
diff --git a/branches/2.0/doubango/bindings/java/tmedia_pref_video_size_t.java b/bindings/java/tmedia_pref_video_size_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmedia_pref_video_size_t.java
rename to bindings/java/tmedia_pref_video_size_t.java
diff --git a/branches/2.0/doubango/bindings/java/tmedia_profile_t.java b/bindings/java/tmedia_profile_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmedia_profile_t.java
rename to bindings/java/tmedia_profile_t.java
diff --git a/branches/2.0/doubango/bindings/java/tmedia_qos_strength_t.java b/bindings/java/tmedia_qos_strength_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmedia_qos_strength_t.java
rename to bindings/java/tmedia_qos_strength_t.java
diff --git a/branches/2.0/doubango/bindings/java/tmedia_qos_stype_t.java b/bindings/java/tmedia_qos_stype_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmedia_qos_stype_t.java
rename to bindings/java/tmedia_qos_stype_t.java
diff --git a/branches/2.0/doubango/bindings/java/tmedia_srtp_mode_t.java b/bindings/java/tmedia_srtp_mode_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmedia_srtp_mode_t.java
rename to bindings/java/tmedia_srtp_mode_t.java
diff --git a/branches/2.0/doubango/bindings/java/tmedia_srtp_type_t.java b/bindings/java/tmedia_srtp_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmedia_srtp_type_t.java
rename to bindings/java/tmedia_srtp_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tmedia_t140_data_type_t.java b/bindings/java/tmedia_t140_data_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmedia_t140_data_type_t.java
rename to bindings/java/tmedia_t140_data_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tmsrp_event_type_t.java b/bindings/java/tmsrp_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmsrp_event_type_t.java
rename to bindings/java/tmsrp_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tmsrp_request_type_t.java b/bindings/java/tmsrp_request_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tmsrp_request_type_t.java
rename to bindings/java/tmsrp_request_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tsip_event_type_t.java b/bindings/java/tsip_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tsip_event_type_t.java
rename to bindings/java/tsip_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tsip_info_event_type_t.java b/bindings/java/tsip_info_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tsip_info_event_type_t.java
rename to bindings/java/tsip_info_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tsip_invite_event_type_t.java b/bindings/java/tsip_invite_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tsip_invite_event_type_t.java
rename to bindings/java/tsip_invite_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tsip_message_event_type_t.java b/bindings/java/tsip_message_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tsip_message_event_type_t.java
rename to bindings/java/tsip_message_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tsip_options_event_type_t.java b/bindings/java/tsip_options_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tsip_options_event_type_t.java
rename to bindings/java/tsip_options_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tsip_publish_event_type_t.java b/bindings/java/tsip_publish_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tsip_publish_event_type_t.java
rename to bindings/java/tsip_publish_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tsip_register_event_type_t.java b/bindings/java/tsip_register_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tsip_register_event_type_t.java
rename to bindings/java/tsip_register_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tsip_request_type_t.java b/bindings/java/tsip_request_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tsip_request_type_t.java
rename to bindings/java/tsip_request_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/tsip_stack_mode_t.java b/bindings/java/tsip_stack_mode_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tsip_stack_mode_t.java
rename to bindings/java/tsip_stack_mode_t.java
diff --git a/branches/2.0/doubango/bindings/java/tsip_subscribe_event_type_t.java b/bindings/java/tsip_subscribe_event_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/tsip_subscribe_event_type_t.java
rename to bindings/java/tsip_subscribe_event_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/twrap_media_type_t.java b/bindings/java/twrap_media_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/twrap_media_type_t.java
rename to bindings/java/twrap_media_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/twrap_proxy_plugin_type_t.java b/bindings/java/twrap_proxy_plugin_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/twrap_proxy_plugin_type_t.java
rename to bindings/java/twrap_proxy_plugin_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/twrap_rpmessage_type_t.java b/bindings/java/twrap_rpmessage_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/twrap_rpmessage_type_t.java
rename to bindings/java/twrap_rpmessage_type_t.java
diff --git a/branches/2.0/doubango/bindings/java/twrap_sms_type_t.java b/bindings/java/twrap_sms_type_t.java
similarity index 100%
rename from branches/2.0/doubango/bindings/java/twrap_sms_type_t.java
rename to bindings/java/twrap_sms_type_t.java
diff --git a/branches/2.0/doubango/bindings/objc/objc.i b/bindings/objc/objc.i
similarity index 100%
rename from branches/2.0/doubango/bindings/objc/objc.i
rename to bindings/objc/objc.i
diff --git a/branches/2.0/doubango/bindings/perl/perl.i b/bindings/perl/perl.i
similarity index 100%
rename from branches/2.0/doubango/bindings/perl/perl.i
rename to bindings/perl/perl.i
diff --git a/branches/2.0/doubango/bindings/perl/tinyWRAP.pm b/bindings/perl/tinyWRAP.pm
similarity index 100%
rename from branches/2.0/doubango/bindings/perl/tinyWRAP.pm
rename to bindings/perl/tinyWRAP.pm
diff --git a/branches/2.0/doubango/bindings/perl/tinyWRAP_wrap.cxx b/bindings/perl/tinyWRAP_wrap.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/perl/tinyWRAP_wrap.cxx
rename to bindings/perl/tinyWRAP_wrap.cxx
diff --git a/branches/2.0/doubango/bindings/python/python.i b/bindings/python/python.i
similarity index 100%
rename from branches/2.0/doubango/bindings/python/python.i
rename to bindings/python/python.i
diff --git a/branches/2.0/doubango/bindings/python/tinyWRAP.py b/bindings/python/tinyWRAP.py
similarity index 100%
rename from branches/2.0/doubango/bindings/python/tinyWRAP.py
rename to bindings/python/tinyWRAP.py
diff --git a/branches/2.0/doubango/bindings/python/tinyWRAP_wrap.cxx b/bindings/python/tinyWRAP_wrap.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/python/tinyWRAP_wrap.cxx
rename to bindings/python/tinyWRAP_wrap.cxx
diff --git a/branches/2.0/doubango/bindings/python/tinyWRAP_wrap.h b/bindings/python/tinyWRAP_wrap.h
similarity index 100%
rename from branches/2.0/doubango/bindings/python/tinyWRAP_wrap.h
rename to bindings/python/tinyWRAP_wrap.h
diff --git a/branches/2.0/doubango/bindings/ruby/ruby.i b/bindings/ruby/ruby.i
similarity index 100%
rename from branches/2.0/doubango/bindings/ruby/ruby.i
rename to bindings/ruby/ruby.i
diff --git a/branches/2.0/doubango/bindings/ruby/tinyWRAP_wrap.cxx b/bindings/ruby/tinyWRAP_wrap.cxx
similarity index 100%
rename from branches/2.0/doubango/bindings/ruby/tinyWRAP_wrap.cxx
rename to bindings/ruby/tinyWRAP_wrap.cxx
diff --git a/branches/2.0/doubango/bindings/ruby/tinyWRAP_wrap.h b/bindings/ruby/tinyWRAP_wrap.h
similarity index 100%
rename from branches/2.0/doubango/bindings/ruby/tinyWRAP_wrap.h
rename to bindings/ruby/tinyWRAP_wrap.h
diff --git a/branches/2.0/doubango/bindings/tinyWRAP.pc.in b/bindings/tinyWRAP.pc.in
similarity index 100%
rename from branches/2.0/doubango/bindings/tinyWRAP.pc.in
rename to bindings/tinyWRAP.pc.in
diff --git a/branches/2.0/doubango/bindings/version.rc b/bindings/version.rc
similarity index 100%
rename from branches/2.0/doubango/bindings/version.rc
rename to bindings/version.rc
diff --git a/branches/2.0/doubango/bindings/vs_2005/csharp/test/Form1.Designer.cs b/bindings/vs_2005/csharp/test/Form1.Designer.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/vs_2005/csharp/test/Form1.Designer.cs
rename to bindings/vs_2005/csharp/test/Form1.Designer.cs
diff --git a/branches/2.0/doubango/bindings/vs_2005/csharp/test/Form1.cs b/bindings/vs_2005/csharp/test/Form1.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/vs_2005/csharp/test/Form1.cs
rename to bindings/vs_2005/csharp/test/Form1.cs
diff --git a/branches/2.0/doubango/bindings/vs_2005/csharp/test/Form1.resx b/bindings/vs_2005/csharp/test/Form1.resx
similarity index 100%
rename from branches/2.0/doubango/bindings/vs_2005/csharp/test/Form1.resx
rename to bindings/vs_2005/csharp/test/Form1.resx
diff --git a/branches/2.0/doubango/bindings/vs_2005/csharp/test/Program.cs b/bindings/vs_2005/csharp/test/Program.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/vs_2005/csharp/test/Program.cs
rename to bindings/vs_2005/csharp/test/Program.cs
diff --git a/branches/2.0/doubango/bindings/vs_2005/csharp/test/Properties/AssemblyInfo.cs b/bindings/vs_2005/csharp/test/Properties/AssemblyInfo.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/vs_2005/csharp/test/Properties/AssemblyInfo.cs
rename to bindings/vs_2005/csharp/test/Properties/AssemblyInfo.cs
diff --git a/branches/2.0/doubango/bindings/vs_2005/csharp/test/Properties/Resources.Designer.cs b/bindings/vs_2005/csharp/test/Properties/Resources.Designer.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/vs_2005/csharp/test/Properties/Resources.Designer.cs
rename to bindings/vs_2005/csharp/test/Properties/Resources.Designer.cs
diff --git a/branches/2.0/doubango/bindings/vs_2005/csharp/test/Properties/Resources.resx b/bindings/vs_2005/csharp/test/Properties/Resources.resx
similarity index 100%
rename from branches/2.0/doubango/bindings/vs_2005/csharp/test/Properties/Resources.resx
rename to bindings/vs_2005/csharp/test/Properties/Resources.resx
diff --git a/branches/2.0/doubango/bindings/vs_2005/csharp/test/Properties/Settings.Designer.cs b/bindings/vs_2005/csharp/test/Properties/Settings.Designer.cs
similarity index 100%
rename from branches/2.0/doubango/bindings/vs_2005/csharp/test/Properties/Settings.Designer.cs
rename to bindings/vs_2005/csharp/test/Properties/Settings.Designer.cs
diff --git a/branches/2.0/doubango/bindings/vs_2005/csharp/test/Properties/Settings.settings b/bindings/vs_2005/csharp/test/Properties/Settings.settings
similarity index 100%
rename from branches/2.0/doubango/bindings/vs_2005/csharp/test/Properties/Settings.settings
rename to bindings/vs_2005/csharp/test/Properties/Settings.settings
diff --git a/branches/2.0/doubango/bindings/vs_2005/csharp/test/test.csproj b/bindings/vs_2005/csharp/test/test.csproj
similarity index 100%
rename from branches/2.0/doubango/bindings/vs_2005/csharp/test/test.csproj
rename to bindings/vs_2005/csharp/test/test.csproj
diff --git a/branches/2.0/doubango/bindings/vs_2005/csharp/tinyWRAP.sln b/bindings/vs_2005/csharp/tinyWRAP.sln
similarity index 100%
rename from branches/2.0/doubango/bindings/vs_2005/csharp/tinyWRAP.sln
rename to bindings/vs_2005/csharp/tinyWRAP.sln
diff --git a/branches/2.0/doubango/bindings/vs_2005/csharp/tinyWRAP.vcproj b/bindings/vs_2005/csharp/tinyWRAP.vcproj
similarity index 100%
rename from branches/2.0/doubango/bindings/vs_2005/csharp/tinyWRAP.vcproj
rename to bindings/vs_2005/csharp/tinyWRAP.vcproj
diff --git a/branches/2.0/doubango/bindings/winrt/HandleRef.cs b/bindings/winrt/HandleRef.cs
similarity index 95%
rename from branches/2.0/doubango/bindings/winrt/HandleRef.cs
rename to bindings/winrt/HandleRef.cs
index 4f623384..649f125c 100644
--- a/branches/2.0/doubango/bindings/winrt/HandleRef.cs
+++ b/bindings/winrt/HandleRef.cs
@@ -1,55 +1,55 @@
-// ==++==
-//
-// Copyright (c) Microsoft Corporation. All rights reserved.
-//
-// ==--==
-namespace System.Runtime.InteropServices
-{
-
- using System;
-
- [System.Runtime.InteropServices.ComVisible(true)]
- public struct HandleRef
- {
-
- // ! Do not add or rearrange fields as the EE depends on this layout.
- //------------------------------------------------------------------
- internal Object m_wrapper;
- internal IntPtr m_handle;
- //-----------------------------------------------------------------
-
-
- public HandleRef(Object wrapper, IntPtr handle)
- {
- m_wrapper = wrapper;
- m_handle = handle;
- }
-
- public Object Wrapper
- {
- get
- {
- return m_wrapper;
- }
- }
-
- public IntPtr Handle
- {
- get
- {
- return m_handle;
- }
- }
-
-
- public static explicit operator IntPtr(HandleRef value)
- {
- return value.m_handle;
- }
-
- public static IntPtr ToIntPtr(HandleRef value)
- {
- return value.m_handle;
- }
- }
+// ==++==
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+//
+// ==--==
+namespace System.Runtime.InteropServices
+{
+
+ using System;
+
+ [System.Runtime.InteropServices.ComVisible(true)]
+ public struct HandleRef
+ {
+
+ // ! Do not add or rearrange fields as the EE depends on this layout.
+ //------------------------------------------------------------------
+ internal Object m_wrapper;
+ internal IntPtr m_handle;
+ //-----------------------------------------------------------------
+
+
+ public HandleRef(Object wrapper, IntPtr handle)
+ {
+ m_wrapper = wrapper;
+ m_handle = handle;
+ }
+
+ public Object Wrapper
+ {
+ get
+ {
+ return m_wrapper;
+ }
+ }
+
+ public IntPtr Handle
+ {
+ get
+ {
+ return m_handle;
+ }
+ }
+
+
+ public static explicit operator IntPtr(HandleRef value)
+ {
+ return value.m_handle;
+ }
+
+ public static IntPtr ToIntPtr(HandleRef value)
+ {
+ return value.m_handle;
+ }
+ }
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/doubango_rt.vcxproj b/bindings/winrt/doubango_rt/doubango_rt.vcxproj
similarity index 98%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/doubango_rt.vcxproj
rename to bindings/winrt/doubango_rt/doubango_rt.vcxproj
index bfadcabf..41b23c5a 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/doubango_rt.vcxproj
+++ b/bindings/winrt/doubango_rt/doubango_rt.vcxproj
@@ -1,232 +1,232 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- ARM
-
-
- Release
- Win32
-
-
- Release
- ARM
-
-
-
- {9ef0fc75-baab-4f71-ac0c-dbd185463ff8}
- doubango_rt
- en-US
- 11.0
- true
-
-
-
- DynamicLibrary
- true
- v110_wp80
-
-
- DynamicLibrary
- true
- v110_wp80
-
-
- DynamicLibrary
- false
- true
- v110_wp80
-
-
- DynamicLibrary
- false
- true
- v110_wp80
-
-
-
-
-
-
-
- false
-
-
- $(SolutionDir)$(Configuration)\$(MSBuildProjectName)\
-
-
- $(SolutionDir)$(Configuration)\$(MSBuildProjectName)\
-
-
- $(Platform)\$(Configuration)\
-
-
- $(Platform)\$(Configuration)\
-
-
-
- _WINRT_DLL;%(PreprocessorDefinitions)
- NotUsing
-
-
- $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)
- true
- include;..\..\_common;..\..\.;..\..\..\thirdparties\winrt\include;..\..\..\tinySAK\src;..\..\..\tinyNET\src;..\..\..\tinyHTTP\include;..\..\..\tinySIP\include;..\..\..\tinyDAV\include;..\..\..\tinySDP\include;..\..\..\tinyMEDIA\include;..\..\..\tinyXCAP\include;..\..\..\tinySMS\include;..\..\..\tinyMSRP\include
-
-
- Console
- false
- ole32.lib;%(IgnoreSpecificDefaultLibraries)
- true
- %(AdditionalDependencies)
-
-
-
-
- _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions)
- NotUsing
-
-
- $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)
- true
- include;..\..\_common;..\..\.;..\..\..\thirdparties\winrt\include;..\..\..\tinySAK\src;..\..\..\tinyNET\src;..\..\..\tinyHTTP\include;..\..\..\tinySIP\include;..\..\..\tinyDAV\include;..\..\..\tinySDP\include;..\..\..\tinyMEDIA\include;..\..\..\tinyXCAP\include;..\..\..\tinySMS\include;..\..\..\tinyMSRP\include
-
-
- Console
- false
- ole32.lib;%(IgnoreSpecificDefaultLibraries)
- true
- %(AdditionalDependencies)
-
-
-
-
- _WINRT_DLL;%(PreprocessorDefinitions)
- NotUsing
-
-
- $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)
- true
- include;..\..\_common;..\..\.;..\..\..\thirdparties\winrt\include;..\..\..\tinySAK\src;..\..\..\tinyNET\src;..\..\..\tinyHTTP\include;..\..\..\tinySIP\include;..\..\..\tinyDAV\include;..\..\..\tinySDP\include;..\..\..\tinyMEDIA\include;..\..\..\tinyXCAP\include;..\..\..\tinySMS\include;..\..\..\tinyMSRP\include
-
-
- Console
- false
- ole32.lib;%(IgnoreSpecificDefaultLibraries)
- true
- %(AdditionalDependencies)
-
-
-
-
- _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions)
- NotUsing
-
-
- $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)
- true
- include;..\..\_common;..\..\.;..\..\..\thirdparties\winrt\include;..\..\..\tinySAK\src;..\..\..\tinyNET\src;..\..\..\tinyHTTP\include;..\..\..\tinySIP\include;..\..\..\tinyDAV\include;..\..\..\tinySDP\include;..\..\..\tinyMEDIA\include;..\..\..\tinyXCAP\include;..\..\..\tinySMS\include;..\..\..\tinyMSRP\include
-
-
- Console
- false
- ole32.lib;%(IgnoreSpecificDefaultLibraries)
- true
- %(AdditionalDependencies)
-
-
-
-
- true
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {0f2c458a-1edb-4e09-9a22-c2209731cff2}
-
-
- {1a27423c-6535-4a49-96ec-5d209fe125f2}
-
-
- {0875a083-5118-40cc-941e-722b00295a5b}
-
-
- {52e43eeb-a549-4159-b254-dca225d7638b}
-
-
- {be41d117-1d61-4c12-ad9d-b20d02c79687}
-
-
- {06e58f9d-28a1-4dd4-af11-2f5239222ccc}
-
-
- {77a24977-079c-4e02-9717-8b2f684baa21}
-
-
- {19279f5b-cdaf-4187-9f09-2a896a828b05}
-
-
- {982d737a-0649-4c32-a00e-08992a0b7673}
-
-
- {f623cbdb-707a-4fdc-ace0-3d616e239f16}
-
-
- {1137a808-dac8-4af7-b8bb-aee8abff2f67}
-
-
- {65cdf0ff-3b84-45f3-9bb6-468c79b8e0bc}
-
-
- {49843b78-0ceb-445d-bacc-c5c5c2f6c26f}
-
-
- {5004ba7e-950d-4d60-a030-29acd38dca08}
-
-
-
-
-
-
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ ARM
+
+
+ Release
+ Win32
+
+
+ Release
+ ARM
+
+
+
+ {9ef0fc75-baab-4f71-ac0c-dbd185463ff8}
+ doubango_rt
+ en-US
+ 11.0
+ true
+
+
+
+ DynamicLibrary
+ true
+ v110_wp80
+
+
+ DynamicLibrary
+ true
+ v110_wp80
+
+
+ DynamicLibrary
+ false
+ true
+ v110_wp80
+
+
+ DynamicLibrary
+ false
+ true
+ v110_wp80
+
+
+
+
+
+
+
+ false
+
+
+ $(SolutionDir)$(Configuration)\$(MSBuildProjectName)\
+
+
+ $(SolutionDir)$(Configuration)\$(MSBuildProjectName)\
+
+
+ $(Platform)\$(Configuration)\
+
+
+ $(Platform)\$(Configuration)\
+
+
+
+ _WINRT_DLL;%(PreprocessorDefinitions)
+ NotUsing
+
+
+ $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)
+ true
+ include;..\..\_common;..\..\.;..\..\..\thirdparties\winrt\include;..\..\..\tinySAK\src;..\..\..\tinyNET\src;..\..\..\tinyHTTP\include;..\..\..\tinySIP\include;..\..\..\tinyDAV\include;..\..\..\tinySDP\include;..\..\..\tinyMEDIA\include;..\..\..\tinyXCAP\include;..\..\..\tinySMS\include;..\..\..\tinyMSRP\include
+
+
+ Console
+ false
+ ole32.lib;%(IgnoreSpecificDefaultLibraries)
+ true
+ %(AdditionalDependencies)
+
+
+
+
+ _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions)
+ NotUsing
+
+
+ $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)
+ true
+ include;..\..\_common;..\..\.;..\..\..\thirdparties\winrt\include;..\..\..\tinySAK\src;..\..\..\tinyNET\src;..\..\..\tinyHTTP\include;..\..\..\tinySIP\include;..\..\..\tinyDAV\include;..\..\..\tinySDP\include;..\..\..\tinyMEDIA\include;..\..\..\tinyXCAP\include;..\..\..\tinySMS\include;..\..\..\tinyMSRP\include
+
+
+ Console
+ false
+ ole32.lib;%(IgnoreSpecificDefaultLibraries)
+ true
+ %(AdditionalDependencies)
+
+
+
+
+ _WINRT_DLL;%(PreprocessorDefinitions)
+ NotUsing
+
+
+ $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)
+ true
+ include;..\..\_common;..\..\.;..\..\..\thirdparties\winrt\include;..\..\..\tinySAK\src;..\..\..\tinyNET\src;..\..\..\tinyHTTP\include;..\..\..\tinySIP\include;..\..\..\tinyDAV\include;..\..\..\tinySDP\include;..\..\..\tinyMEDIA\include;..\..\..\tinyXCAP\include;..\..\..\tinySMS\include;..\..\..\tinyMSRP\include
+
+
+ Console
+ false
+ ole32.lib;%(IgnoreSpecificDefaultLibraries)
+ true
+ %(AdditionalDependencies)
+
+
+
+
+ _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions)
+ NotUsing
+
+
+ $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)
+ true
+ include;..\..\_common;..\..\.;..\..\..\thirdparties\winrt\include;..\..\..\tinySAK\src;..\..\..\tinyNET\src;..\..\..\tinyHTTP\include;..\..\..\tinySIP\include;..\..\..\tinyDAV\include;..\..\..\tinySDP\include;..\..\..\tinyMEDIA\include;..\..\..\tinyXCAP\include;..\..\..\tinySMS\include;..\..\..\tinyMSRP\include
+
+
+ Console
+ false
+ ole32.lib;%(IgnoreSpecificDefaultLibraries)
+ true
+ %(AdditionalDependencies)
+
+
+
+
+ true
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {0f2c458a-1edb-4e09-9a22-c2209731cff2}
+
+
+ {1a27423c-6535-4a49-96ec-5d209fe125f2}
+
+
+ {0875a083-5118-40cc-941e-722b00295a5b}
+
+
+ {52e43eeb-a549-4159-b254-dca225d7638b}
+
+
+ {be41d117-1d61-4c12-ad9d-b20d02c79687}
+
+
+ {06e58f9d-28a1-4dd4-af11-2f5239222ccc}
+
+
+ {77a24977-079c-4e02-9717-8b2f684baa21}
+
+
+ {19279f5b-cdaf-4187-9f09-2a896a828b05}
+
+
+ {982d737a-0649-4c32-a00e-08992a0b7673}
+
+
+ {f623cbdb-707a-4fdc-ace0-3d616e239f16}
+
+
+ {1137a808-dac8-4af7-b8bb-aee8abff2f67}
+
+
+ {65cdf0ff-3b84-45f3-9bb6-468c79b8e0bc}
+
+
+ {49843b78-0ceb-445d-bacc-c5c5c2f6c26f}
+
+
+ {5004ba7e-950d-4d60-a030-29acd38dca08}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/doubango_rt.vcxproj.filters b/bindings/winrt/doubango_rt/doubango_rt.vcxproj.filters
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/doubango_rt.vcxproj.filters
rename to bindings/winrt/doubango_rt/doubango_rt.vcxproj.filters
index 92288793..774b55da 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/doubango_rt.vcxproj.filters
+++ b/bindings/winrt/doubango_rt/doubango_rt.vcxproj.filters
@@ -1,112 +1,112 @@
-
-
-
-
- 5fd0e509-b6ae-4f29-bd2a-4d2cc10f3aa0
- rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
-
-
- {98c8b78c-011e-40c4-91a2-a9fcf6d9fa24}
-
-
- {a8badfe7-5114-4a27-bb07-76772da8a9d1}
-
-
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
- src
-
-
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
- include
-
-
+
+
+
+
+ 5fd0e509-b6ae-4f29-bd2a-4d2cc10f3aa0
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {98c8b78c-011e-40c4-91a2-a9fcf6d9fa24}
+
+
+ {a8badfe7-5114-4a27-bb07-76772da8a9d1}
+
+
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_ActionConfig.h b/bindings/winrt/doubango_rt/include/rt_ActionConfig.h
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_ActionConfig.h
rename to bindings/winrt/doubango_rt/include/rt_ActionConfig.h
index be2ce86d..abafc37a 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_ActionConfig.h
+++ b/bindings/winrt/doubango_rt/include/rt_ActionConfig.h
@@ -1,53 +1,53 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-#include "rt_Enums.h"
-
-class ActionConfig;
-
-namespace doubango_rt
-{
- namespace BackEnd
- {
- public ref class rtActionConfig sealed
- {
- public:
- rtActionConfig();
- virtual ~rtActionConfig();
-
- bool addHeader(Platform::String^ name, Platform::String^ value);
-#if COM_VISIBLE
- bool addPayload(Platform::String^ payload);
-#else
- bool addPayload(Platform::IntPtr payload, unsigned len);
-#endif
- bool setActiveMedia(rt_twrap_media_type_t type);
-
- rtActionConfig^ setResponseLine(short code, Platform::String^ phrase);
- rtActionConfig^ setMediaString(rt_twrap_media_type_t type, Platform::String^ key, Platform::String^ value);
- rtActionConfig^ setMediaInt(rt_twrap_media_type_t type, Platform::String^ key, int value);
-
- internal:
- ActionConfig* getWrappedActionConfig(){ return m_pActionConfig; }
-
- private:
- ActionConfig* m_pActionConfig;
- };
- }
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+#include "rt_Enums.h"
+
+class ActionConfig;
+
+namespace doubango_rt
+{
+ namespace BackEnd
+ {
+ public ref class rtActionConfig sealed
+ {
+ public:
+ rtActionConfig();
+ virtual ~rtActionConfig();
+
+ bool addHeader(Platform::String^ name, Platform::String^ value);
+#if COM_VISIBLE
+ bool addPayload(Platform::String^ payload);
+#else
+ bool addPayload(Platform::IntPtr payload, unsigned len);
+#endif
+ bool setActiveMedia(rt_twrap_media_type_t type);
+
+ rtActionConfig^ setResponseLine(short code, Platform::String^ phrase);
+ rtActionConfig^ setMediaString(rt_twrap_media_type_t type, Platform::String^ key, Platform::String^ value);
+ rtActionConfig^ setMediaInt(rt_twrap_media_type_t type, Platform::String^ key, int value);
+
+ internal:
+ ActionConfig* getWrappedActionConfig(){ return m_pActionConfig; }
+
+ private:
+ ActionConfig* m_pActionConfig;
+ };
+ }
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_Config.h b/bindings/winrt/doubango_rt/include/rt_Config.h
similarity index 97%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_Config.h
rename to bindings/winrt/doubango_rt/include/rt_Config.h
index 81684196..e8d7ddea 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_Config.h
+++ b/bindings/winrt/doubango_rt/include/rt_Config.h
@@ -1,31 +1,31 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-#define rtSafeDelete(ptr) if((ptr)) delete (ptr), (ptr) = nullptr;
-
-#if COM_VISIBLE
-# define OVERRIDE_FUNC(fun)
-# define VISIBLE_VOID_PTR Platform::String^
-# define VISIBLE_VOID_PTR_2_VOID_PTR(ptr) rtString::toUtf8((ptr)).data()
-#else
-# define OVERRIDE_FUNC(fun) fun
-# define VISIBLE_VOID_PTR Platform::IntPtr
-# define VISIBLE_VOID_PTR_2_VOID_PTR(ptr) (void*)((ptr))
-#endif
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+#define rtSafeDelete(ptr) if((ptr)) delete (ptr), (ptr) = nullptr;
+
+#if COM_VISIBLE
+# define OVERRIDE_FUNC(fun)
+# define VISIBLE_VOID_PTR Platform::String^
+# define VISIBLE_VOID_PTR_2_VOID_PTR(ptr) rtString::toUtf8((ptr)).data()
+#else
+# define OVERRIDE_FUNC(fun) fun
+# define VISIBLE_VOID_PTR Platform::IntPtr
+# define VISIBLE_VOID_PTR_2_VOID_PTR(ptr) (void*)((ptr))
+#endif
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_DDebug.h b/bindings/winrt/doubango_rt/include/rt_DDebug.h
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_DDebug.h
rename to bindings/winrt/doubango_rt/include/rt_DDebug.h
index 22a4b65f..e4300b56 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_DDebug.h
+++ b/bindings/winrt/doubango_rt/include/rt_DDebug.h
@@ -1,53 +1,53 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-#include "rt_Config.h"
-
-class DDebugCallback;
-class DDebugCallbackProxy;
-
-namespace doubango_rt
-{
- namespace BackEnd
- {
- public interface class rtIDDebugCallback
- {
- virtual int OnDebugInfo(Platform::String^ message);
- virtual int OnDebugWarn(Platform::String^ message);
- virtual int OnDebugError(Platform::String^ message);
- virtual int OnDebugFatal(Platform::String^ message);
- };
-
- public ref class rtDDebugCallback sealed
- {
- internal:
- rtDDebugCallback(rtIDDebugCallback^ pI);
- public:
- virtual ~rtDDebugCallback();
- friend class DDebugCallbackProxy;
-
- internal:
- const DDebugCallback* getWrappedCallback();
-
- private:
- rtIDDebugCallback^ m_pI;
- DDebugCallbackProxy* m_pCallback;
- };
- }
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+#include "rt_Config.h"
+
+class DDebugCallback;
+class DDebugCallbackProxy;
+
+namespace doubango_rt
+{
+ namespace BackEnd
+ {
+ public interface class rtIDDebugCallback
+ {
+ virtual int OnDebugInfo(Platform::String^ message);
+ virtual int OnDebugWarn(Platform::String^ message);
+ virtual int OnDebugError(Platform::String^ message);
+ virtual int OnDebugFatal(Platform::String^ message);
+ };
+
+ public ref class rtDDebugCallback sealed
+ {
+ internal:
+ rtDDebugCallback(rtIDDebugCallback^ pI);
+ public:
+ virtual ~rtDDebugCallback();
+ friend class DDebugCallbackProxy;
+
+ internal:
+ const DDebugCallback* getWrappedCallback();
+
+ private:
+ rtIDDebugCallback^ m_pI;
+ DDebugCallbackProxy* m_pCallback;
+ };
+ }
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_Enums.h b/bindings/winrt/doubango_rt/include/rt_Enums.h
similarity index 97%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_Enums.h
rename to bindings/winrt/doubango_rt/include/rt_Enums.h
index 153c1cc1..78e97bfd 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_Enums.h
+++ b/bindings/winrt/doubango_rt/include/rt_Enums.h
@@ -1,333 +1,333 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-#include "rt_config.h"
-
-#include "tinysip.h"
-#include "tinymsrp.h"
-#include "tinymedia.h"
-
-#include "Common.h"
-
-namespace doubango_rt
-{
- namespace BackEnd
- {
- public enum class rtConstants
- {
- rt_tsip_event_code_dialog_transport_error = tsip_event_code_dialog_transport_error,
- rt_tsip_event_code_dialog_global_error = tsip_event_code_dialog_global_error,
- rt_tsip_event_code_dialog_message_error = tsip_event_code_dialog_message_error,
-
- // 8xx ==> success
- rt_tsip_event_code_dialog_request_incoming = tsip_event_code_dialog_request_incoming,
- rt_tsip_event_code_dialog_request_outgoing = tsip_event_code_dialog_request_outgoing,
- rt_tsip_event_code_dialog_request_cancelled = tsip_event_code_dialog_request_cancelled,
- rt_tsip_event_code_dialog_request_sent = tsip_event_code_dialog_request_sent,
-
- // 9xx ==> Informational
- rt_tsip_event_code_dialog_connecting = tsip_event_code_dialog_connecting,
- rt_tsip_event_code_dialog_connected = tsip_event_code_dialog_connected,
- rt_tsip_event_code_dialog_terminating = tsip_event_code_dialog_terminating,
- rt_tsip_event_code_dialog_terminated = tsip_event_code_dialog_terminated,
- rt_tsip_event_code_stack_starting = tsip_event_code_stack_starting,
- rt_tsip_event_code_stack_started = tsip_event_code_stack_started,
- rt_tsip_event_code_stack_stopping = tsip_event_code_stack_stopping,
- rt_tsip_event_code_stack_stopped = tsip_event_code_stack_stopped,
- rt_tsip_event_code_stack_failed_to_start = tsip_event_code_stack_failed_to_start,
- rt_tsip_event_code_stack_failed_to_stop = tsip_event_code_stack_failed_to_stop
- };
-
- public enum class rt_twrap_media_type_t
- {
- twrap_media_none = twrap_media_none,
-
- twrap_media_audio = twrap_media_audio,
- twrap_media_video = twrap_media_video,
- twrap_media_msrp = twrap_media_msrp,
- twrap_media_t140 = twrap_media_t140,
- twrap_media_bfcp = twrap_media_bfcp,
- twrap_media_bfcp_audio = twrap_media_bfcp_audio,
- twrap_media_bfcp_video = twrap_media_bfcp_video,
-
- twrap_media_audiovideo = twrap_media_audiovideo, /* @deprecated */
- twrap_media_audio_video = twrap_media_audio_video,
- };
-
- public enum class rt_tmedia_bandwidth_level_t
- {
- tmedia_bl_low = tmedia_bl_low,
- tmedia_bl_medium = tmedia_bl_medium,
- tmedia_bl_hight = tmedia_bl_hight,
- tmedia_bl_unrestricted = tmedia_bl_unrestricted
- };
-
- public enum class rt_tmedia_pref_video_size_t
- {/* must be sorted like this */
- tmedia_pref_video_size_sqcif = tmedia_pref_video_size_sqcif, // 128 x 98
- tmedia_pref_video_size_qcif = tmedia_pref_video_size_qcif, // 176 x 144
- tmedia_pref_video_size_qvga = tmedia_pref_video_size_qvga, // 320 x 240
- tmedia_pref_video_size_cif = tmedia_pref_video_size_cif, // 352 x 288
- tmedia_pref_video_size_hvga = tmedia_pref_video_size_hvga, // 480 x 320
- tmedia_pref_video_size_vga = tmedia_pref_video_size_vga, // 640 x 480
- tmedia_pref_video_size_4cif = tmedia_pref_video_size_4cif, // 704 x 576
- tmedia_pref_video_size_wvga = tmedia_pref_video_size_wvga, // 800 x 480
- tmedia_pref_video_size_svga = tmedia_pref_video_size_svga, // 800 x 600
- tmedia_pref_video_size_480p = tmedia_pref_video_size_480p, // 852 x 480
- tmedia_pref_video_size_xga = tmedia_pref_video_size_xga, // 1024 x 768
- tmedia_pref_video_size_720p = tmedia_pref_video_size_720p, // 1280 x 720
- tmedia_pref_video_size_16cif = tmedia_pref_video_size_16cif, // 1408 x 1152
- tmedia_pref_video_size_1080p = tmedia_pref_video_size_1080p, // 1920 x 1080
- };
-
- public enum class rt_tmedia_profile_t
- {
- tmedia_profile_default = tmedia_profile_default,
- tmedia_profile_rtcweb = tmedia_profile_rtcweb
- };
-
- public enum class rt_tmedia_qos_strength_t
- {
- tmedia_qos_strength_none = tmedia_qos_strength_none,
- tmedia_qos_strength_failure = tmedia_qos_strength_failure,
- tmedia_qos_strength_unknown = tmedia_qos_strength_unknown,
- tmedia_qos_strength_optional = tmedia_qos_strength_optional,
- tmedia_qos_strength_mandatory = tmedia_qos_strength_mandatory
- };
-
- public enum class rt_tmedia_qos_stype_t
- {
- tmedia_qos_stype_none = tmedia_qos_stype_none,
-
- tmedia_qos_stype_segmented = tmedia_qos_stype_segmented,
- tmedia_qos_stype_e2e = tmedia_qos_stype_e2e,
- };
-
- public enum class rt_tmedia_srtp_mode_t
- {
- tmedia_srtp_mode_none = tmedia_srtp_mode_none,
- tmedia_srtp_mode_optional = tmedia_srtp_mode_optional,
- tmedia_srtp_mode_mandatory = tmedia_srtp_mode_mandatory
- };
-
- public enum class rt_tmedia_srtp_type_t
- {
- tmedia_srtp_type_none = tmedia_srtp_type_none,
- tmedia_srtp_type_sdes = tmedia_srtp_type_sdes,
- tmedia_srtp_type_dtls = tmedia_srtp_type_dtls,
- tmedia_srtp_type_sdes_dtls = tmedia_srtp_type_sdes_dtls
- };
-
- public enum class rt_tmedia_t140_data_type_t
- {
- tmedia_t140_data_type_utf8 = tmedia_t140_data_type_utf8,
- tmedia_t140_data_type_zero_width_no_break_space = tmedia_t140_data_type_zero_width_no_break_space,
- tmedia_t140_data_type_backspace = tmedia_t140_data_type_backspace,
- tmedia_t140_data_type_esc = tmedia_t140_data_type_esc,
- tmedia_t140_data_type_cr = tmedia_t140_data_type_cr,
- tmedia_t140_data_type_lf = tmedia_t140_data_type_lf,
- tmedia_t140_data_type_cr_lf = tmedia_t140_data_type_cr_lf,
- tmedia_t140_data_type_bell = tmedia_t140_data_type_bell,
- tmedia_t140_data_type_sos = tmedia_t140_data_type_sos,
- tmedia_t140_data_type_string_term = tmedia_t140_data_type_string_term,
- tmedia_t140_data_type_graphic_start = tmedia_t140_data_type_graphic_start,
- tmedia_t140_data_type_graphic_end = tmedia_t140_data_type_graphic_end,
- tmedia_t140_data_type_loss_char_char = tmedia_t140_data_type_loss_char_char,
- tmedia_t140_data_type_loss_utf8 = tmedia_t140_data_type_loss_utf8,
- };
-
- public enum class rt_tmedia_type_t
- {
- tmedia_none = tmedia_none,
- tmedia_ghost = tmedia_ghost,
-
- tmedia_audio = tmedia_audio,
- tmedia_video = tmedia_video,
- tmedia_chat = tmedia_chat,
- tmedia_file = tmedia_file,
- tmedia_t38 = tmedia_t38,
- tmedia_t140 = tmedia_t140,
-
- tmedia_msrp = tmedia_msrp,
- tmedia_audiovideo = tmedia_audiovideo,
-
- tmedia_all = tmedia_all
- };
-
- public enum class rt_tmsrp_event_type_t
- {
- tmsrp_event_type_none = tmsrp_event_type_none,
- tmsrp_event_type_connected = tmsrp_event_type_connected,
- tmsrp_event_type_disconnected = tmsrp_event_type_disconnected,
- tmsrp_event_type_message = tmsrp_event_type_message,
- };
-
- public enum class rt_tmsrp_request_type_t
- {
- tmsrp_NONE = tmsrp_NONE,
-
- tmsrp_SEND = tmsrp_SEND,
- tmsrp_REPORT = tmsrp_REPORT,
- tmsrp_AUTH = tmsrp_AUTH
- };
-
- public enum class rt_tsip_info_event_type_t
- {
- tsip_i_info = tsip_i_info,
- tsip_ao_info = tsip_ao_info,
- };
-
- public enum class rt_tsip_invite_event_type_t
- {
- tsip_i_newcall = tsip_i_newcall,
-
- tsip_i_request = tsip_i_request,
- tsip_ao_request = tsip_ao_request,
-
- tsip_o_ect_trying = tsip_o_ect_trying,
- tsip_o_ect_accepted = tsip_o_ect_accepted,
- tsip_o_ect_completed = tsip_o_ect_completed,
- tsip_o_ect_failed = tsip_o_ect_failed,
- tsip_o_ect_notify = tsip_o_ect_notify,
- tsip_i_ect_requested = tsip_i_ect_requested,
- tsip_i_ect_newcall = tsip_i_ect_newcall,
- tsip_i_ect_completed = tsip_i_ect_completed,
- tsip_i_ect_failed = tsip_i_ect_failed,
- tsip_i_ect_notify = tsip_i_ect_notify,
-
- tsip_m_early_media = tsip_m_early_media,
- tsip_m_updating = tsip_m_updating,
- tsip_m_updated = tsip_m_updated,
-
- tsip_m_local_hold_ok = tsip_m_local_hold_ok,
- tsip_m_local_hold_nok = tsip_m_local_hold_nok,
- tsip_m_local_resume_ok = tsip_m_local_resume_ok,
- tsip_m_local_resume_nok = tsip_m_local_resume_nok,
- tsip_m_remote_hold = tsip_m_remote_hold,
- tsip_m_remote_resume = tsip_m_remote_resume,
- };
-
- public enum class rt_tsip_message_event_type_t
- {
- tsip_i_message = tsip_i_message,
- tsip_ao_message = tsip_ao_message,
- };
-
- public enum class rt_tsip_options_event_type_t
- {
- tsip_i_options = tsip_i_options,
- tsip_ao_options = tsip_ao_options,
- };
-
- public enum class rt_tsip_publish_event_type_t
- {
- tsip_i_publish = tsip_i_publish,
- tsip_ao_publish = tsip_ao_publish,
-
- tsip_i_unpublish = tsip_i_unpublish,
- tsip_ao_unpublish = tsip_ao_unpublish
- };
-
- public enum class rt_tsip_register_event_type_t
- {
- tsip_i_newreg = tsip_i_newreg,
-
- tsip_i_register = tsip_i_register,
- tsip_ao_register = tsip_ao_register,
-
- tsip_i_unregister = tsip_i_unregister,
- tsip_ao_unregister = tsip_ao_unregister,
- };
-
- public enum class rt_tsip_request_type_t
- {
- tsip_NONE = tsip_NONE,
-
- tsip_ACK = tsip_ACK,
- tsip_BYE = tsip_BYE,
- tsip_CANCEL = tsip_CANCEL,
- tsip_INVITE = tsip_INVITE,
- tsip_OPTIONS = tsip_OPTIONS,
- tsip_REGISTER = tsip_REGISTER,
- tsip_SUBSCRIBE = tsip_SUBSCRIBE,
- tsip_NOTIFY = tsip_NOTIFY,
- tsip_REFER = tsip_REFER,
- tsip_INFO = tsip_INFO,
- tsip_UPDATE = tsip_UPDATE,
- tsip_MESSAGE = tsip_MESSAGE,
- tsip_PUBLISH = tsip_PUBLISH,
- tsip_PRACK = tsip_PRACK
- };
-
- public enum class rt_tsip_subscribe_event_type_t
- {
- tsip_i_subscribe = tsip_i_subscribe,
- tsip_ao_subscribe = tsip_ao_subscribe,
-
- tsip_i_unsubscribe = tsip_i_unsubscribe,
- tsip_ao_unsubscribe = tsip_ao_unsubscribe,
-
- tsip_i_notify = tsip_i_notify,
- tsip_ao_notify = tsip_ao_notify
- };
-
- public enum class rt_tdav_codec_id_t
- {
- tdav_codec_id_none = tmedia_codec_id_none,
-
- tdav_codec_id_amr_nb_oa = tmedia_codec_id_amr_nb_oa,
- tdav_codec_id_amr_nb_be = tmedia_codec_id_amr_nb_be,
- tdav_codec_id_amr_wb_oa = tmedia_codec_id_amr_wb_oa,
- tdav_codec_id_amr_wb_be = tmedia_codec_id_amr_wb_be,
- tdav_codec_id_gsm = tmedia_codec_id_gsm,
- tdav_codec_id_pcma = tmedia_codec_id_pcma,
- tdav_codec_id_pcmu = tmedia_codec_id_pcmu,
- tdav_codec_id_ilbc = tmedia_codec_id_ilbc,
- tdav_codec_id_speex_nb = tmedia_codec_id_speex_nb,
- tdav_codec_id_speex_wb = tmedia_codec_id_speex_wb,
- tdav_codec_id_speex_uwb = tmedia_codec_id_speex_uwb,
- tdav_codec_id_bv16 = tmedia_codec_id_bv16,
- tdav_codec_id_bv32 = tmedia_codec_id_bv32,
- tdav_codec_id_opus = tmedia_codec_id_opus,
- tdav_codec_id_g729ab = tmedia_codec_id_g729ab,
- tdav_codec_id_g722 = tmedia_codec_id_g722,
-
- tdav_codec_id_h261 = tmedia_codec_id_h261,
- tdav_codec_id_h263 = tmedia_codec_id_h263,
- tdav_codec_id_h263p = tmedia_codec_id_h263p,
- tdav_codec_id_h263pp = tmedia_codec_id_h263pp,
- tdav_codec_id_h264_bp = tmedia_codec_id_h264_bp,
- tdav_codec_id_h264_mp = tmedia_codec_id_h264_mp,
- tdav_codec_id_h264_hp = tmedia_codec_id_h264_hp,
- tdav_codec_id_h264_bp10 = tmedia_codec_id_h264_bp, // @deprecated
- tdav_codec_id_h264_bp20 = tmedia_codec_id_h264_bp, // @deprecated
- tdav_codec_id_h264_bp30 = tmedia_codec_id_h264_bp, // @deprecated
- tdav_codec_id_h264_svc = tmedia_codec_id_h264_svc,
- tdav_codec_id_theora = tmedia_codec_id_theora,
- tdav_codec_id_mp4ves_es = tmedia_codec_id_mp4ves_es,
- tdav_codec_id_vp8 = tmedia_codec_id_vp8,
-
- tdav_codec_id_t140 = tmedia_codec_id_t140,
-#if !COM_VISIBLE
- tdav_codec_id_red = tmedia_codec_id_red,
-#endif
- tdav_codec_id_all = tmedia_codec_id_all,
- };
- }
-}
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+#include "rt_config.h"
+
+#include "tinysip.h"
+#include "tinymsrp.h"
+#include "tinymedia.h"
+
+#include "Common.h"
+
+namespace doubango_rt
+{
+ namespace BackEnd
+ {
+ public enum class rtConstants
+ {
+ rt_tsip_event_code_dialog_transport_error = tsip_event_code_dialog_transport_error,
+ rt_tsip_event_code_dialog_global_error = tsip_event_code_dialog_global_error,
+ rt_tsip_event_code_dialog_message_error = tsip_event_code_dialog_message_error,
+
+ // 8xx ==> success
+ rt_tsip_event_code_dialog_request_incoming = tsip_event_code_dialog_request_incoming,
+ rt_tsip_event_code_dialog_request_outgoing = tsip_event_code_dialog_request_outgoing,
+ rt_tsip_event_code_dialog_request_cancelled = tsip_event_code_dialog_request_cancelled,
+ rt_tsip_event_code_dialog_request_sent = tsip_event_code_dialog_request_sent,
+
+ // 9xx ==> Informational
+ rt_tsip_event_code_dialog_connecting = tsip_event_code_dialog_connecting,
+ rt_tsip_event_code_dialog_connected = tsip_event_code_dialog_connected,
+ rt_tsip_event_code_dialog_terminating = tsip_event_code_dialog_terminating,
+ rt_tsip_event_code_dialog_terminated = tsip_event_code_dialog_terminated,
+ rt_tsip_event_code_stack_starting = tsip_event_code_stack_starting,
+ rt_tsip_event_code_stack_started = tsip_event_code_stack_started,
+ rt_tsip_event_code_stack_stopping = tsip_event_code_stack_stopping,
+ rt_tsip_event_code_stack_stopped = tsip_event_code_stack_stopped,
+ rt_tsip_event_code_stack_failed_to_start = tsip_event_code_stack_failed_to_start,
+ rt_tsip_event_code_stack_failed_to_stop = tsip_event_code_stack_failed_to_stop
+ };
+
+ public enum class rt_twrap_media_type_t
+ {
+ twrap_media_none = twrap_media_none,
+
+ twrap_media_audio = twrap_media_audio,
+ twrap_media_video = twrap_media_video,
+ twrap_media_msrp = twrap_media_msrp,
+ twrap_media_t140 = twrap_media_t140,
+ twrap_media_bfcp = twrap_media_bfcp,
+ twrap_media_bfcp_audio = twrap_media_bfcp_audio,
+ twrap_media_bfcp_video = twrap_media_bfcp_video,
+
+ twrap_media_audiovideo = twrap_media_audiovideo, /* @deprecated */
+ twrap_media_audio_video = twrap_media_audio_video,
+ };
+
+ public enum class rt_tmedia_bandwidth_level_t
+ {
+ tmedia_bl_low = tmedia_bl_low,
+ tmedia_bl_medium = tmedia_bl_medium,
+ tmedia_bl_hight = tmedia_bl_hight,
+ tmedia_bl_unrestricted = tmedia_bl_unrestricted
+ };
+
+ public enum class rt_tmedia_pref_video_size_t
+ {/* must be sorted like this */
+ tmedia_pref_video_size_sqcif = tmedia_pref_video_size_sqcif, // 128 x 98
+ tmedia_pref_video_size_qcif = tmedia_pref_video_size_qcif, // 176 x 144
+ tmedia_pref_video_size_qvga = tmedia_pref_video_size_qvga, // 320 x 240
+ tmedia_pref_video_size_cif = tmedia_pref_video_size_cif, // 352 x 288
+ tmedia_pref_video_size_hvga = tmedia_pref_video_size_hvga, // 480 x 320
+ tmedia_pref_video_size_vga = tmedia_pref_video_size_vga, // 640 x 480
+ tmedia_pref_video_size_4cif = tmedia_pref_video_size_4cif, // 704 x 576
+ tmedia_pref_video_size_wvga = tmedia_pref_video_size_wvga, // 800 x 480
+ tmedia_pref_video_size_svga = tmedia_pref_video_size_svga, // 800 x 600
+ tmedia_pref_video_size_480p = tmedia_pref_video_size_480p, // 852 x 480
+ tmedia_pref_video_size_xga = tmedia_pref_video_size_xga, // 1024 x 768
+ tmedia_pref_video_size_720p = tmedia_pref_video_size_720p, // 1280 x 720
+ tmedia_pref_video_size_16cif = tmedia_pref_video_size_16cif, // 1408 x 1152
+ tmedia_pref_video_size_1080p = tmedia_pref_video_size_1080p, // 1920 x 1080
+ };
+
+ public enum class rt_tmedia_profile_t
+ {
+ tmedia_profile_default = tmedia_profile_default,
+ tmedia_profile_rtcweb = tmedia_profile_rtcweb
+ };
+
+ public enum class rt_tmedia_qos_strength_t
+ {
+ tmedia_qos_strength_none = tmedia_qos_strength_none,
+ tmedia_qos_strength_failure = tmedia_qos_strength_failure,
+ tmedia_qos_strength_unknown = tmedia_qos_strength_unknown,
+ tmedia_qos_strength_optional = tmedia_qos_strength_optional,
+ tmedia_qos_strength_mandatory = tmedia_qos_strength_mandatory
+ };
+
+ public enum class rt_tmedia_qos_stype_t
+ {
+ tmedia_qos_stype_none = tmedia_qos_stype_none,
+
+ tmedia_qos_stype_segmented = tmedia_qos_stype_segmented,
+ tmedia_qos_stype_e2e = tmedia_qos_stype_e2e,
+ };
+
+ public enum class rt_tmedia_srtp_mode_t
+ {
+ tmedia_srtp_mode_none = tmedia_srtp_mode_none,
+ tmedia_srtp_mode_optional = tmedia_srtp_mode_optional,
+ tmedia_srtp_mode_mandatory = tmedia_srtp_mode_mandatory
+ };
+
+ public enum class rt_tmedia_srtp_type_t
+ {
+ tmedia_srtp_type_none = tmedia_srtp_type_none,
+ tmedia_srtp_type_sdes = tmedia_srtp_type_sdes,
+ tmedia_srtp_type_dtls = tmedia_srtp_type_dtls,
+ tmedia_srtp_type_sdes_dtls = tmedia_srtp_type_sdes_dtls
+ };
+
+ public enum class rt_tmedia_t140_data_type_t
+ {
+ tmedia_t140_data_type_utf8 = tmedia_t140_data_type_utf8,
+ tmedia_t140_data_type_zero_width_no_break_space = tmedia_t140_data_type_zero_width_no_break_space,
+ tmedia_t140_data_type_backspace = tmedia_t140_data_type_backspace,
+ tmedia_t140_data_type_esc = tmedia_t140_data_type_esc,
+ tmedia_t140_data_type_cr = tmedia_t140_data_type_cr,
+ tmedia_t140_data_type_lf = tmedia_t140_data_type_lf,
+ tmedia_t140_data_type_cr_lf = tmedia_t140_data_type_cr_lf,
+ tmedia_t140_data_type_bell = tmedia_t140_data_type_bell,
+ tmedia_t140_data_type_sos = tmedia_t140_data_type_sos,
+ tmedia_t140_data_type_string_term = tmedia_t140_data_type_string_term,
+ tmedia_t140_data_type_graphic_start = tmedia_t140_data_type_graphic_start,
+ tmedia_t140_data_type_graphic_end = tmedia_t140_data_type_graphic_end,
+ tmedia_t140_data_type_loss_char_char = tmedia_t140_data_type_loss_char_char,
+ tmedia_t140_data_type_loss_utf8 = tmedia_t140_data_type_loss_utf8,
+ };
+
+ public enum class rt_tmedia_type_t
+ {
+ tmedia_none = tmedia_none,
+ tmedia_ghost = tmedia_ghost,
+
+ tmedia_audio = tmedia_audio,
+ tmedia_video = tmedia_video,
+ tmedia_chat = tmedia_chat,
+ tmedia_file = tmedia_file,
+ tmedia_t38 = tmedia_t38,
+ tmedia_t140 = tmedia_t140,
+
+ tmedia_msrp = tmedia_msrp,
+ tmedia_audiovideo = tmedia_audiovideo,
+
+ tmedia_all = tmedia_all
+ };
+
+ public enum class rt_tmsrp_event_type_t
+ {
+ tmsrp_event_type_none = tmsrp_event_type_none,
+ tmsrp_event_type_connected = tmsrp_event_type_connected,
+ tmsrp_event_type_disconnected = tmsrp_event_type_disconnected,
+ tmsrp_event_type_message = tmsrp_event_type_message,
+ };
+
+ public enum class rt_tmsrp_request_type_t
+ {
+ tmsrp_NONE = tmsrp_NONE,
+
+ tmsrp_SEND = tmsrp_SEND,
+ tmsrp_REPORT = tmsrp_REPORT,
+ tmsrp_AUTH = tmsrp_AUTH
+ };
+
+ public enum class rt_tsip_info_event_type_t
+ {
+ tsip_i_info = tsip_i_info,
+ tsip_ao_info = tsip_ao_info,
+ };
+
+ public enum class rt_tsip_invite_event_type_t
+ {
+ tsip_i_newcall = tsip_i_newcall,
+
+ tsip_i_request = tsip_i_request,
+ tsip_ao_request = tsip_ao_request,
+
+ tsip_o_ect_trying = tsip_o_ect_trying,
+ tsip_o_ect_accepted = tsip_o_ect_accepted,
+ tsip_o_ect_completed = tsip_o_ect_completed,
+ tsip_o_ect_failed = tsip_o_ect_failed,
+ tsip_o_ect_notify = tsip_o_ect_notify,
+ tsip_i_ect_requested = tsip_i_ect_requested,
+ tsip_i_ect_newcall = tsip_i_ect_newcall,
+ tsip_i_ect_completed = tsip_i_ect_completed,
+ tsip_i_ect_failed = tsip_i_ect_failed,
+ tsip_i_ect_notify = tsip_i_ect_notify,
+
+ tsip_m_early_media = tsip_m_early_media,
+ tsip_m_updating = tsip_m_updating,
+ tsip_m_updated = tsip_m_updated,
+
+ tsip_m_local_hold_ok = tsip_m_local_hold_ok,
+ tsip_m_local_hold_nok = tsip_m_local_hold_nok,
+ tsip_m_local_resume_ok = tsip_m_local_resume_ok,
+ tsip_m_local_resume_nok = tsip_m_local_resume_nok,
+ tsip_m_remote_hold = tsip_m_remote_hold,
+ tsip_m_remote_resume = tsip_m_remote_resume,
+ };
+
+ public enum class rt_tsip_message_event_type_t
+ {
+ tsip_i_message = tsip_i_message,
+ tsip_ao_message = tsip_ao_message,
+ };
+
+ public enum class rt_tsip_options_event_type_t
+ {
+ tsip_i_options = tsip_i_options,
+ tsip_ao_options = tsip_ao_options,
+ };
+
+ public enum class rt_tsip_publish_event_type_t
+ {
+ tsip_i_publish = tsip_i_publish,
+ tsip_ao_publish = tsip_ao_publish,
+
+ tsip_i_unpublish = tsip_i_unpublish,
+ tsip_ao_unpublish = tsip_ao_unpublish
+ };
+
+ public enum class rt_tsip_register_event_type_t
+ {
+ tsip_i_newreg = tsip_i_newreg,
+
+ tsip_i_register = tsip_i_register,
+ tsip_ao_register = tsip_ao_register,
+
+ tsip_i_unregister = tsip_i_unregister,
+ tsip_ao_unregister = tsip_ao_unregister,
+ };
+
+ public enum class rt_tsip_request_type_t
+ {
+ tsip_NONE = tsip_NONE,
+
+ tsip_ACK = tsip_ACK,
+ tsip_BYE = tsip_BYE,
+ tsip_CANCEL = tsip_CANCEL,
+ tsip_INVITE = tsip_INVITE,
+ tsip_OPTIONS = tsip_OPTIONS,
+ tsip_REGISTER = tsip_REGISTER,
+ tsip_SUBSCRIBE = tsip_SUBSCRIBE,
+ tsip_NOTIFY = tsip_NOTIFY,
+ tsip_REFER = tsip_REFER,
+ tsip_INFO = tsip_INFO,
+ tsip_UPDATE = tsip_UPDATE,
+ tsip_MESSAGE = tsip_MESSAGE,
+ tsip_PUBLISH = tsip_PUBLISH,
+ tsip_PRACK = tsip_PRACK
+ };
+
+ public enum class rt_tsip_subscribe_event_type_t
+ {
+ tsip_i_subscribe = tsip_i_subscribe,
+ tsip_ao_subscribe = tsip_ao_subscribe,
+
+ tsip_i_unsubscribe = tsip_i_unsubscribe,
+ tsip_ao_unsubscribe = tsip_ao_unsubscribe,
+
+ tsip_i_notify = tsip_i_notify,
+ tsip_ao_notify = tsip_ao_notify
+ };
+
+ public enum class rt_tdav_codec_id_t
+ {
+ tdav_codec_id_none = tmedia_codec_id_none,
+
+ tdav_codec_id_amr_nb_oa = tmedia_codec_id_amr_nb_oa,
+ tdav_codec_id_amr_nb_be = tmedia_codec_id_amr_nb_be,
+ tdav_codec_id_amr_wb_oa = tmedia_codec_id_amr_wb_oa,
+ tdav_codec_id_amr_wb_be = tmedia_codec_id_amr_wb_be,
+ tdav_codec_id_gsm = tmedia_codec_id_gsm,
+ tdav_codec_id_pcma = tmedia_codec_id_pcma,
+ tdav_codec_id_pcmu = tmedia_codec_id_pcmu,
+ tdav_codec_id_ilbc = tmedia_codec_id_ilbc,
+ tdav_codec_id_speex_nb = tmedia_codec_id_speex_nb,
+ tdav_codec_id_speex_wb = tmedia_codec_id_speex_wb,
+ tdav_codec_id_speex_uwb = tmedia_codec_id_speex_uwb,
+ tdav_codec_id_bv16 = tmedia_codec_id_bv16,
+ tdav_codec_id_bv32 = tmedia_codec_id_bv32,
+ tdav_codec_id_opus = tmedia_codec_id_opus,
+ tdav_codec_id_g729ab = tmedia_codec_id_g729ab,
+ tdav_codec_id_g722 = tmedia_codec_id_g722,
+
+ tdav_codec_id_h261 = tmedia_codec_id_h261,
+ tdav_codec_id_h263 = tmedia_codec_id_h263,
+ tdav_codec_id_h263p = tmedia_codec_id_h263p,
+ tdav_codec_id_h263pp = tmedia_codec_id_h263pp,
+ tdav_codec_id_h264_bp = tmedia_codec_id_h264_bp,
+ tdav_codec_id_h264_mp = tmedia_codec_id_h264_mp,
+ tdav_codec_id_h264_hp = tmedia_codec_id_h264_hp,
+ tdav_codec_id_h264_bp10 = tmedia_codec_id_h264_bp, // @deprecated
+ tdav_codec_id_h264_bp20 = tmedia_codec_id_h264_bp, // @deprecated
+ tdav_codec_id_h264_bp30 = tmedia_codec_id_h264_bp, // @deprecated
+ tdav_codec_id_h264_svc = tmedia_codec_id_h264_svc,
+ tdav_codec_id_theora = tmedia_codec_id_theora,
+ tdav_codec_id_mp4ves_es = tmedia_codec_id_mp4ves_es,
+ tdav_codec_id_vp8 = tmedia_codec_id_vp8,
+
+ tdav_codec_id_t140 = tmedia_codec_id_t140,
+#if !COM_VISIBLE
+ tdav_codec_id_red = tmedia_codec_id_red,
+#endif
+ tdav_codec_id_all = tmedia_codec_id_all,
+ };
+ }
+}
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_MediaContent.h b/bindings/winrt/doubango_rt/include/rt_MediaContent.h
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_MediaContent.h
rename to bindings/winrt/doubango_rt/include/rt_MediaContent.h
index dc403219..9385aed9 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_MediaContent.h
+++ b/bindings/winrt/doubango_rt/include/rt_MediaContent.h
@@ -1,18 +1,18 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
#pragma once
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_MediaSessionMgr.h b/bindings/winrt/doubango_rt/include/rt_MediaSessionMgr.h
similarity index 97%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_MediaSessionMgr.h
rename to bindings/winrt/doubango_rt/include/rt_MediaSessionMgr.h
index 6fe537a6..3878667c 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_MediaSessionMgr.h
+++ b/bindings/winrt/doubango_rt/include/rt_MediaSessionMgr.h
@@ -1,130 +1,130 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-class MediaSessionMgr;
-class Codec;
-
-struct tmedia_codec_s;
-struct tmedia_session_mgr_s;
-
-namespace doubango_rt
-{
- namespace BackEnd
- {
- enum class rt_twrap_media_type_t;
- enum class rt_tmedia_profile_t;
- enum class rt_tmedia_srtp_mode_t;
- enum class rt_tmedia_srtp_type_t;
- enum class rt_tmedia_profile_t;
- enum class rt_tmedia_pref_video_size_t;
-
- public ref class rtCodec sealed
- {
- internal:
- rtCodec(struct tmedia_codec_s* pCodec);
- public:
- virtual ~rtCodec();
- enum class rt_twrap_media_type_t getMediaType();
- Platform::String^ getName();
- Platform::String^ getDescription();
- Platform::String^ getNegFormat();
- int getAudioSamplingRate();
- int getAudioChannels();
- int getAudioPTime();
-
- private:
- Codec* m_pCodec;
- };
-
- public ref class rtMediaSessionMgr sealed
- {
- internal:
- rtMediaSessionMgr(struct tmedia_session_mgr_s* pWrappedMgr);
-
- public:
- virtual ~rtMediaSessionMgr();
- bool sessionSetInt32(rt_twrap_media_type_t media, Platform::String^ key, int32 value);
- int32 sessionGetInt32(rt_twrap_media_type_t media, Platform::String^ key);
-
- bool consumerSetInt32(rt_twrap_media_type_t media, Platform::String^ key, int32 value);
- bool consumerSetInt64(rt_twrap_media_type_t media, Platform::String^ key, int64 value);
-
- bool producerSetInt32(rt_twrap_media_type_t media, Platform::String^ key, int32 value);
- bool producerSetInt64(rt_twrap_media_type_t media, Platform::String^ key, int64 value);
- rtCodec^ producerGetCodec(rt_twrap_media_type_t media);
-
- static unsigned int registerAudioPluginFromFile(Platform::String^ path);
-
- uint64 getSessionId(rt_twrap_media_type_t media);
-
- internal: // Must be from SIP service to share same global memory space
- static bool defaultsSetProfile(rt_tmedia_profile_t profile);
- static rt_tmedia_profile_t defaultsGetProfile();
- static bool defaultsSetPrefVideoSize(enum class rt_tmedia_pref_video_size_t pref_video_size);
- static bool defaultsSetJbMargin(uint32 jb_margin_ms);
- static bool defaultsSetJbMaxLateRate(uint32 jb_late_rate_percent);
- static bool defaultsSetEchoTail(uint32 echo_tail);
- static uint32 defaultsGetEchoTail();
- static bool defaultsSetEchoSkew(uint32 echo_skew);
- static bool defaultsSetEchoSuppEnabled(bool echo_supp_enabled);
- static bool defaultsGetEchoSuppEnabled();
- static bool defaultsSetAgcEnabled(bool agc_enabled);
- static bool defaultsGetAgcEnabled();
- static bool defaultsSetAgcLevel(float agc_level);
- static float defaultsGetAgcLevel();
- static bool defaultsSetVadEnabled(bool vad_enabled);
- static bool defaultsGetGetVadEnabled();
- static bool defaultsSetNoiseSuppEnabled(bool noise_supp_enabled);
- static bool defaultsGetNoiseSuppEnabled();
- static bool defaultsSetNoiseSuppLevel(int32 noise_supp_level);
- static int32 defaultsGetNoiseSuppLevel();
- static bool defaultsSet100relEnabled(bool _100rel_enabled);
- static bool defaultsGet100relEnabled();
- static bool defaultsSetScreenSize(int32 sx, int32 sy);
- static bool defaultsSetAudioGain(int32 producer_gain, int32 consumer_gain);
- static bool defaultsSetRtpPortRange(uint16 range_start, uint16 range_stop);
- static bool defaultsSetRtpSymetricEnabled(bool enabled);
- static bool defaultsSetMediaType(enum class rt_twrap_media_type_t media_type);
- static bool defaultsSetVolume(int32 volume);
- static int32 defaultsGetVolume();
- static bool defaultsSetInviteSessionTimers(int32 timeout, Platform::String^ refresher);
- static bool defaultsSetSRtpMode(enum class rt_tmedia_srtp_mode_t mode);
- static enum class rt_tmedia_srtp_mode_t defaultsGetSRtpMode();
- static bool defaultsSetSRtpType(enum class rt_tmedia_srtp_type_t srtp_type);
- static enum class rt_tmedia_srtp_type_t defaultsGetSRtpType();
- static bool defaultsSetRtcpEnabled(bool enabled);
- static bool defaultsGetRtcpEnabled();
- static bool defaultsSetRtcpMuxEnabled(bool enabled);
- static bool defaultsGetRtcpMuxEnabled();
- static bool defaultsSetIceEnabled(bool ice_enabled);
- static bool defaultsSetByPassEncoding(bool enabled);
- static bool defaultsGetByPassEncoding();
- static bool defaultsSetByPassDecoding(bool enabled);
- static bool defaultsGetByPassDecoding();
- static bool defaultsSetVideoJbEnabled(bool enabled);
- static bool defaultsGetVideoJbEnabled();
- static bool defaultsSetRtpBuffSize(unsigned buffSize);
- static unsigned defaultsGetRtpBuffSize();
- static bool defaultsSetAvpfTail(unsigned tail_min, unsigned tail_max);
-
- private:
- MediaSessionMgr* m_pMediaSessionMgr;
- };
- }
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+class MediaSessionMgr;
+class Codec;
+
+struct tmedia_codec_s;
+struct tmedia_session_mgr_s;
+
+namespace doubango_rt
+{
+ namespace BackEnd
+ {
+ enum class rt_twrap_media_type_t;
+ enum class rt_tmedia_profile_t;
+ enum class rt_tmedia_srtp_mode_t;
+ enum class rt_tmedia_srtp_type_t;
+ enum class rt_tmedia_profile_t;
+ enum class rt_tmedia_pref_video_size_t;
+
+ public ref class rtCodec sealed
+ {
+ internal:
+ rtCodec(struct tmedia_codec_s* pCodec);
+ public:
+ virtual ~rtCodec();
+ enum class rt_twrap_media_type_t getMediaType();
+ Platform::String^ getName();
+ Platform::String^ getDescription();
+ Platform::String^ getNegFormat();
+ int getAudioSamplingRate();
+ int getAudioChannels();
+ int getAudioPTime();
+
+ private:
+ Codec* m_pCodec;
+ };
+
+ public ref class rtMediaSessionMgr sealed
+ {
+ internal:
+ rtMediaSessionMgr(struct tmedia_session_mgr_s* pWrappedMgr);
+
+ public:
+ virtual ~rtMediaSessionMgr();
+ bool sessionSetInt32(rt_twrap_media_type_t media, Platform::String^ key, int32 value);
+ int32 sessionGetInt32(rt_twrap_media_type_t media, Platform::String^ key);
+
+ bool consumerSetInt32(rt_twrap_media_type_t media, Platform::String^ key, int32 value);
+ bool consumerSetInt64(rt_twrap_media_type_t media, Platform::String^ key, int64 value);
+
+ bool producerSetInt32(rt_twrap_media_type_t media, Platform::String^ key, int32 value);
+ bool producerSetInt64(rt_twrap_media_type_t media, Platform::String^ key, int64 value);
+ rtCodec^ producerGetCodec(rt_twrap_media_type_t media);
+
+ static unsigned int registerAudioPluginFromFile(Platform::String^ path);
+
+ uint64 getSessionId(rt_twrap_media_type_t media);
+
+ internal: // Must be from SIP service to share same global memory space
+ static bool defaultsSetProfile(rt_tmedia_profile_t profile);
+ static rt_tmedia_profile_t defaultsGetProfile();
+ static bool defaultsSetPrefVideoSize(enum class rt_tmedia_pref_video_size_t pref_video_size);
+ static bool defaultsSetJbMargin(uint32 jb_margin_ms);
+ static bool defaultsSetJbMaxLateRate(uint32 jb_late_rate_percent);
+ static bool defaultsSetEchoTail(uint32 echo_tail);
+ static uint32 defaultsGetEchoTail();
+ static bool defaultsSetEchoSkew(uint32 echo_skew);
+ static bool defaultsSetEchoSuppEnabled(bool echo_supp_enabled);
+ static bool defaultsGetEchoSuppEnabled();
+ static bool defaultsSetAgcEnabled(bool agc_enabled);
+ static bool defaultsGetAgcEnabled();
+ static bool defaultsSetAgcLevel(float agc_level);
+ static float defaultsGetAgcLevel();
+ static bool defaultsSetVadEnabled(bool vad_enabled);
+ static bool defaultsGetGetVadEnabled();
+ static bool defaultsSetNoiseSuppEnabled(bool noise_supp_enabled);
+ static bool defaultsGetNoiseSuppEnabled();
+ static bool defaultsSetNoiseSuppLevel(int32 noise_supp_level);
+ static int32 defaultsGetNoiseSuppLevel();
+ static bool defaultsSet100relEnabled(bool _100rel_enabled);
+ static bool defaultsGet100relEnabled();
+ static bool defaultsSetScreenSize(int32 sx, int32 sy);
+ static bool defaultsSetAudioGain(int32 producer_gain, int32 consumer_gain);
+ static bool defaultsSetRtpPortRange(uint16 range_start, uint16 range_stop);
+ static bool defaultsSetRtpSymetricEnabled(bool enabled);
+ static bool defaultsSetMediaType(enum class rt_twrap_media_type_t media_type);
+ static bool defaultsSetVolume(int32 volume);
+ static int32 defaultsGetVolume();
+ static bool defaultsSetInviteSessionTimers(int32 timeout, Platform::String^ refresher);
+ static bool defaultsSetSRtpMode(enum class rt_tmedia_srtp_mode_t mode);
+ static enum class rt_tmedia_srtp_mode_t defaultsGetSRtpMode();
+ static bool defaultsSetSRtpType(enum class rt_tmedia_srtp_type_t srtp_type);
+ static enum class rt_tmedia_srtp_type_t defaultsGetSRtpType();
+ static bool defaultsSetRtcpEnabled(bool enabled);
+ static bool defaultsGetRtcpEnabled();
+ static bool defaultsSetRtcpMuxEnabled(bool enabled);
+ static bool defaultsGetRtcpMuxEnabled();
+ static bool defaultsSetIceEnabled(bool ice_enabled);
+ static bool defaultsSetByPassEncoding(bool enabled);
+ static bool defaultsGetByPassEncoding();
+ static bool defaultsSetByPassDecoding(bool enabled);
+ static bool defaultsGetByPassDecoding();
+ static bool defaultsSetVideoJbEnabled(bool enabled);
+ static bool defaultsGetVideoJbEnabled();
+ static bool defaultsSetRtpBuffSize(unsigned buffSize);
+ static unsigned defaultsGetRtpBuffSize();
+ static bool defaultsSetAvpfTail(unsigned tail_min, unsigned tail_max);
+
+ private:
+ MediaSessionMgr* m_pMediaSessionMgr;
+ };
+ }
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_Msrp.h b/bindings/winrt/doubango_rt/include/rt_Msrp.h
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_Msrp.h
rename to bindings/winrt/doubango_rt/include/rt_Msrp.h
index f7649723..b0fbe269 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_Msrp.h
+++ b/bindings/winrt/doubango_rt/include/rt_Msrp.h
@@ -1,109 +1,109 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-#include "rt_Enums.h"
-
-class MsrpCallback;
-class MsrpMessage;
-class MsrpEvent;
-
-namespace doubango_rt
-{
- namespace BackEnd
- {
- ref class rtMsrpSession;
-
- public ref class rtMsrpByteRange sealed
- {
- internal:
- rtMsrpByteRange(int64 start, int64 end, int64 total):_start(start),_end(end),_total(total){}
- public:
- property int64 Start{ int64 get() { return _start; }; }
- property int64 End{ int64 get() { return _end; }; }
- property int64 Total{ int64 get() { return _total; }; }
- private:
- int64 _start, _end, _total;
- };
-
- public ref class rtMsrpMessage sealed
- {
- public:
- virtual ~rtMsrpMessage();
- internal:
- rtMsrpMessage(struct tmsrp_message_s *message);
-
- public:
- bool isRequest();
- short getCode();
- Platform::String^ getPhrase();
- rt_tmsrp_request_type_t getRequestType();
-#if COM_VISIBLE
- rtMsrpByteRange^ getByteRange();
-#else
- void getByteRange(Platform::IntPtr start, Platform::IntPtr end, Platform::IntPtr total);
-#endif
- bool isLastChunck();
- bool isFirstChunck();
- bool isSuccessReport();
- Platform::String^ getMsrpHeaderValue(Platform::String^ name);
- Platform::String^ getMsrpHeaderParamValue(Platform::String^ name, Platform::String^ param);
- unsigned getMsrpContentLength();
-#if COM_VISIBLE
- Platform::String^ getMsrpContent(unsigned maxsize);
-#else
- unsigned getMsrpContent(Platform::IntPtr output, unsigned maxsize);
-#endif
-
- private:
- MsrpMessage* m_pMsrpMessage;
- };
-
- public ref class rtMsrpEvent sealed
- {
- internal:
- rtMsrpEvent(const struct tmsrp_event_s *event);
- public:
- virtual ~rtMsrpEvent();
-
- rt_tmsrp_event_type_t getType();
- rtMsrpSession^ getSipSession();
- rtMsrpMessage^ getMessage();
-
- private:
- MsrpEvent* m_pMsrpEvent;
- };
-
- public interface class rtIMsrpCallback
- {
- virtual int OnEvent(rtMsrpEvent^ pEvent);
- };
- public ref class rtMsrpCallback sealed
- {
- internal:
- rtMsrpCallback(rtIMsrpCallback^ pI);
- const MsrpCallback* getWrappedCallback(){ return m_pCallback; }
- public:
- virtual ~rtMsrpCallback();
-
- private:
- MsrpCallback* m_pCallback;
- rtIMsrpCallback^ m_pI;
- };
- }
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+#include "rt_Enums.h"
+
+class MsrpCallback;
+class MsrpMessage;
+class MsrpEvent;
+
+namespace doubango_rt
+{
+ namespace BackEnd
+ {
+ ref class rtMsrpSession;
+
+ public ref class rtMsrpByteRange sealed
+ {
+ internal:
+ rtMsrpByteRange(int64 start, int64 end, int64 total):_start(start),_end(end),_total(total){}
+ public:
+ property int64 Start{ int64 get() { return _start; }; }
+ property int64 End{ int64 get() { return _end; }; }
+ property int64 Total{ int64 get() { return _total; }; }
+ private:
+ int64 _start, _end, _total;
+ };
+
+ public ref class rtMsrpMessage sealed
+ {
+ public:
+ virtual ~rtMsrpMessage();
+ internal:
+ rtMsrpMessage(struct tmsrp_message_s *message);
+
+ public:
+ bool isRequest();
+ short getCode();
+ Platform::String^ getPhrase();
+ rt_tmsrp_request_type_t getRequestType();
+#if COM_VISIBLE
+ rtMsrpByteRange^ getByteRange();
+#else
+ void getByteRange(Platform::IntPtr start, Platform::IntPtr end, Platform::IntPtr total);
+#endif
+ bool isLastChunck();
+ bool isFirstChunck();
+ bool isSuccessReport();
+ Platform::String^ getMsrpHeaderValue(Platform::String^ name);
+ Platform::String^ getMsrpHeaderParamValue(Platform::String^ name, Platform::String^ param);
+ unsigned getMsrpContentLength();
+#if COM_VISIBLE
+ Platform::String^ getMsrpContent(unsigned maxsize);
+#else
+ unsigned getMsrpContent(Platform::IntPtr output, unsigned maxsize);
+#endif
+
+ private:
+ MsrpMessage* m_pMsrpMessage;
+ };
+
+ public ref class rtMsrpEvent sealed
+ {
+ internal:
+ rtMsrpEvent(const struct tmsrp_event_s *event);
+ public:
+ virtual ~rtMsrpEvent();
+
+ rt_tmsrp_event_type_t getType();
+ rtMsrpSession^ getSipSession();
+ rtMsrpMessage^ getMessage();
+
+ private:
+ MsrpEvent* m_pMsrpEvent;
+ };
+
+ public interface class rtIMsrpCallback
+ {
+ virtual int OnEvent(rtMsrpEvent^ pEvent);
+ };
+ public ref class rtMsrpCallback sealed
+ {
+ internal:
+ rtMsrpCallback(rtIMsrpCallback^ pI);
+ const MsrpCallback* getWrappedCallback(){ return m_pCallback; }
+ public:
+ virtual ~rtMsrpCallback();
+
+ private:
+ MsrpCallback* m_pCallback;
+ rtIMsrpCallback^ m_pI;
+ };
+ }
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SMSEncoder.h b/bindings/winrt/doubango_rt/include/rt_SMSEncoder.h
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SMSEncoder.h
rename to bindings/winrt/doubango_rt/include/rt_SMSEncoder.h
index dc403219..9385aed9 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SMSEncoder.h
+++ b/bindings/winrt/doubango_rt/include/rt_SMSEncoder.h
@@ -1,18 +1,18 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
#pragma once
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipCallback.h b/bindings/winrt/doubango_rt/include/rt_SipCallback.h
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipCallback.h
rename to bindings/winrt/doubango_rt/include/rt_SipCallback.h
index a229fc46..1f0a9e01 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipCallback.h
+++ b/bindings/winrt/doubango_rt/include/rt_SipCallback.h
@@ -1,70 +1,70 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-class SipCallback;
-class SipCallbackProxy;
-
-namespace doubango_rt
-{
- namespace BackEnd
- {
- ref class rtDialogEvent;
- ref class rtStackEvent;
-
- ref class rtInviteEvent;
- ref class rtMessagingEvent;
- ref class rtInfoEvent;
- ref class rtOptionsEvent;
- ref class rtPublicationEvent;
- ref class rtRegistrationEvent;
- ref class rtSubscriptionEvent;
-
- public interface class rtISipCallback
- {
- virtual int OnDialogEvent(rtDialogEvent^ e);
- virtual int OnStackEvent(rtStackEvent^ e);
-
- virtual int OnInviteEvent(rtInviteEvent^ e);
- virtual int OnMessagingEvent(rtMessagingEvent^ e);
- virtual int OnInfoEvent(rtInfoEvent^ e);
- virtual int OnOptionsEvent(rtOptionsEvent^ e);
- virtual int OnPublicationEvent(rtPublicationEvent^ e);
- virtual int OnRegistrationEvent(rtRegistrationEvent^ e);
- virtual int OnSubscriptionEvent(rtSubscriptionEvent^ e);
- };
-
- public ref class rtSipCallback sealed
- {
- internal:
- rtSipCallback(rtISipCallback^ pI);
- public:
- virtual ~rtSipCallback();
- friend class SipCallbackProxy;
-
- internal:
- const SipCallback* getWrappedCallback();
-
- private:
- rtISipCallback^ m_pI;
- SipCallbackProxy* m_pCallback;
- };
- }
-}
-
-
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+class SipCallback;
+class SipCallbackProxy;
+
+namespace doubango_rt
+{
+ namespace BackEnd
+ {
+ ref class rtDialogEvent;
+ ref class rtStackEvent;
+
+ ref class rtInviteEvent;
+ ref class rtMessagingEvent;
+ ref class rtInfoEvent;
+ ref class rtOptionsEvent;
+ ref class rtPublicationEvent;
+ ref class rtRegistrationEvent;
+ ref class rtSubscriptionEvent;
+
+ public interface class rtISipCallback
+ {
+ virtual int OnDialogEvent(rtDialogEvent^ e);
+ virtual int OnStackEvent(rtStackEvent^ e);
+
+ virtual int OnInviteEvent(rtInviteEvent^ e);
+ virtual int OnMessagingEvent(rtMessagingEvent^ e);
+ virtual int OnInfoEvent(rtInfoEvent^ e);
+ virtual int OnOptionsEvent(rtOptionsEvent^ e);
+ virtual int OnPublicationEvent(rtPublicationEvent^ e);
+ virtual int OnRegistrationEvent(rtRegistrationEvent^ e);
+ virtual int OnSubscriptionEvent(rtSubscriptionEvent^ e);
+ };
+
+ public ref class rtSipCallback sealed
+ {
+ internal:
+ rtSipCallback(rtISipCallback^ pI);
+ public:
+ virtual ~rtSipCallback();
+ friend class SipCallbackProxy;
+
+ internal:
+ const SipCallback* getWrappedCallback();
+
+ private:
+ rtISipCallback^ m_pI;
+ SipCallbackProxy* m_pCallback;
+ };
+ }
+}
+
+
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipEvent.h b/bindings/winrt/doubango_rt/include/rt_SipEvent.h
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipEvent.h
rename to bindings/winrt/doubango_rt/include/rt_SipEvent.h
index 5777c7d1..e615bde8 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipEvent.h
+++ b/bindings/winrt/doubango_rt/include/rt_SipEvent.h
@@ -1,244 +1,244 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-#include "rt_Config.h"
-#include "rt_Enums.h"
-
-struct tsip_event_s;
-
-class SipEvent;
-class DialogEvent;
-class StackEvent;
-class InviteEvent;
-class MessagingEvent;
-class InfoEvent;
-class OptionsEvent;
-class PublicationEvent;
-class RegistrationEvent;
-class SubscriptionEvent;
-
-
-#define rtISipEvent_Declare() \
- virtual short getCode(); \
- virtual Platform::String^ getPhrase(); \
- virtual rtISipSession^ getBaseSession(); \
- virtual rtSipMessage^ getSipMessage(); \
-
-#define rtISipEvent_Implement(cls) \
-short cls##::getCode(){ \
- return m_pEvent->getCode(); \
-} \
-Platform::String^ cls##::getPhrase(){ \
- return rtString::toString(m_pEvent->getPhrase()); \
-} \
-rtISipSession^ cls##::getBaseSession(){ \
- return ref new rtSipSession(const_cast(m_pEvent->getStack()), const_cast(m_pEvent->getWrappedEvent()->ss)); \
-} \
-rtSipMessage^ cls##::getSipMessage(){ \
- return ref new rtSipMessage(const_cast(const_cast(m_pEvent->getSipMessage())->getWrappedSipMessage())); \
-} \
-
-
-namespace doubango_rt
-{
- namespace BackEnd
- {
- interface class rtISipSession;
- ref class rtSipMessage;
- ref class rtInviteSession;
- ref class rtMsrpSession;
- ref class rtCallSession;
- ref class rtMessagingSession;
- ref class rtInfoSession;
- ref class rtOptionsSession;
- ref class rtPublicationSession;
- ref class rtRegistrationSession;
- ref class rtSubscriptionSession;
-
-
- /* ======================== rtISipEvent ========================*/
- public interface class rtISipEvent
- {
- short getCode();
- Platform::String^ getPhrase();
- rtISipSession^ getBaseSession();
- rtSipMessage^ getSipMessage();
- };
-
-
- /* ======================== rtDialogEvent ========================*/
- public ref class rtDialogEvent sealed : rtISipEvent
- {
- internal:
- rtDialogEvent(const struct tsip_event_s *e);
-
- public:
- virtual ~rtDialogEvent();
- rtISipEvent_Declare();
-
- private:
- DialogEvent* m_pEvent;
- };
-
- /* ======================== rtStackEvent ========================*/
- public ref class rtStackEvent sealed : rtISipEvent
- {
- internal:
- rtStackEvent(const struct tsip_event_s *e);
-
- public:
- virtual ~rtStackEvent();
- rtISipEvent_Declare();
-
- private:
- StackEvent* m_pEvent;
- };
-
-
- /* ======================== rtInviteEvent ========================*/
- public ref class rtInviteEvent sealed : rtISipEvent
- {
- internal:
- rtInviteEvent(const struct tsip_event_s *e);
-
- public:
- virtual ~rtInviteEvent();
- rtISipEvent_Declare();
-
- rt_tsip_invite_event_type_t getType();
- rt_twrap_media_type_t getMediaType();
- rtInviteSession^ getSession();
- rtCallSession^ takeCallSessionOwnership();
- rtMsrpSession^ takeMsrpSessionOwnership();
-
- private:
- InviteEvent* m_pEvent;
- };
-
- /* ======================== rtMessagingEvent ========================*/
- public ref class rtMessagingEvent sealed : rtISipEvent
- {
- internal:
- rtMessagingEvent(const struct tsip_event_s *e);
-
- public:
- virtual ~rtMessagingEvent();
- rtISipEvent_Declare();
-
- rt_tsip_message_event_type_t getType();
- rtMessagingSession^ getSession();
- rtMessagingSession^ takeSessionOwnership();
-
- private:
- MessagingEvent* m_pEvent;
- };
-
-
- /* ======================== rtInfoEvent ========================*/
- public ref class rtInfoEvent sealed : rtISipEvent
- {
- internal:
- rtInfoEvent(const struct tsip_event_s *e);
-
- public:
- virtual ~rtInfoEvent();
- rtISipEvent_Declare();
-
- rt_tsip_info_event_type_t getType();
- rtInfoSession^ getSession();
- rtInfoSession^ takeSessionOwnership();
-
- private:
- InfoEvent* m_pEvent;
- };
-
-
- /* ======================== rtOptionsEvent ========================*/
- public ref class rtOptionsEvent sealed : rtISipEvent
- {
- internal:
- rtOptionsEvent(const struct tsip_event_s *e);
-
- public:
- virtual ~rtOptionsEvent();
- rtISipEvent_Declare();
-
- rt_tsip_options_event_type_t getType();
- rtOptionsSession^ getSession();
- rtOptionsSession^ takeSessionOwnership();
-
- private:
- OptionsEvent* m_pEvent;
- };
-
- /* ======================== rtPublicationEvent ========================*/
- public ref class rtPublicationEvent sealed : rtISipEvent
- {
- internal:
- rtPublicationEvent(const struct tsip_event_s *e);
-
- public:
- virtual ~rtPublicationEvent();
- rtISipEvent_Declare();
-
- rt_tsip_publish_event_type_t getType();
- rtPublicationSession^ getSession();
- rtPublicationSession^ takeSessionOwnership();
-
- private:
- PublicationEvent* m_pEvent;
- };
-
- /* ======================== rtRegistrationEvent ========================*/
- public ref class rtRegistrationEvent sealed : rtISipEvent
- {
- internal:
- rtRegistrationEvent(const struct tsip_event_s *e);
-
- public:
- virtual ~rtRegistrationEvent();
- rtISipEvent_Declare();
-
- rt_tsip_register_event_type_t getType();
- rtRegistrationSession^ getSession();
- rtRegistrationSession^ takeSessionOwnership();
-
- private:
- RegistrationEvent* m_pEvent;
- };
-
- /* ======================== rtSubscriptionEvent ========================*/
- public ref class rtSubscriptionEvent sealed : rtISipEvent
- {
- internal:
- rtSubscriptionEvent(const struct tsip_event_s *e);
-
- public:
- virtual ~rtSubscriptionEvent();
- rtISipEvent_Declare();
-
- rt_tsip_subscribe_event_type_t getType();
- rtSubscriptionSession^ getSession();
- rtSubscriptionSession^ takeSessionOwnership();
-
- private:
- SubscriptionEvent* m_pEvent;
- };
- }
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+#include "rt_Config.h"
+#include "rt_Enums.h"
+
+struct tsip_event_s;
+
+class SipEvent;
+class DialogEvent;
+class StackEvent;
+class InviteEvent;
+class MessagingEvent;
+class InfoEvent;
+class OptionsEvent;
+class PublicationEvent;
+class RegistrationEvent;
+class SubscriptionEvent;
+
+
+#define rtISipEvent_Declare() \
+ virtual short getCode(); \
+ virtual Platform::String^ getPhrase(); \
+ virtual rtISipSession^ getBaseSession(); \
+ virtual rtSipMessage^ getSipMessage(); \
+
+#define rtISipEvent_Implement(cls) \
+short cls##::getCode(){ \
+ return m_pEvent->getCode(); \
+} \
+Platform::String^ cls##::getPhrase(){ \
+ return rtString::toString(m_pEvent->getPhrase()); \
+} \
+rtISipSession^ cls##::getBaseSession(){ \
+ return ref new rtSipSession(const_cast(m_pEvent->getStack()), const_cast(m_pEvent->getWrappedEvent()->ss)); \
+} \
+rtSipMessage^ cls##::getSipMessage(){ \
+ return ref new rtSipMessage(const_cast(const_cast(m_pEvent->getSipMessage())->getWrappedSipMessage())); \
+} \
+
+
+namespace doubango_rt
+{
+ namespace BackEnd
+ {
+ interface class rtISipSession;
+ ref class rtSipMessage;
+ ref class rtInviteSession;
+ ref class rtMsrpSession;
+ ref class rtCallSession;
+ ref class rtMessagingSession;
+ ref class rtInfoSession;
+ ref class rtOptionsSession;
+ ref class rtPublicationSession;
+ ref class rtRegistrationSession;
+ ref class rtSubscriptionSession;
+
+
+ /* ======================== rtISipEvent ========================*/
+ public interface class rtISipEvent
+ {
+ short getCode();
+ Platform::String^ getPhrase();
+ rtISipSession^ getBaseSession();
+ rtSipMessage^ getSipMessage();
+ };
+
+
+ /* ======================== rtDialogEvent ========================*/
+ public ref class rtDialogEvent sealed : rtISipEvent
+ {
+ internal:
+ rtDialogEvent(const struct tsip_event_s *e);
+
+ public:
+ virtual ~rtDialogEvent();
+ rtISipEvent_Declare();
+
+ private:
+ DialogEvent* m_pEvent;
+ };
+
+ /* ======================== rtStackEvent ========================*/
+ public ref class rtStackEvent sealed : rtISipEvent
+ {
+ internal:
+ rtStackEvent(const struct tsip_event_s *e);
+
+ public:
+ virtual ~rtStackEvent();
+ rtISipEvent_Declare();
+
+ private:
+ StackEvent* m_pEvent;
+ };
+
+
+ /* ======================== rtInviteEvent ========================*/
+ public ref class rtInviteEvent sealed : rtISipEvent
+ {
+ internal:
+ rtInviteEvent(const struct tsip_event_s *e);
+
+ public:
+ virtual ~rtInviteEvent();
+ rtISipEvent_Declare();
+
+ rt_tsip_invite_event_type_t getType();
+ rt_twrap_media_type_t getMediaType();
+ rtInviteSession^ getSession();
+ rtCallSession^ takeCallSessionOwnership();
+ rtMsrpSession^ takeMsrpSessionOwnership();
+
+ private:
+ InviteEvent* m_pEvent;
+ };
+
+ /* ======================== rtMessagingEvent ========================*/
+ public ref class rtMessagingEvent sealed : rtISipEvent
+ {
+ internal:
+ rtMessagingEvent(const struct tsip_event_s *e);
+
+ public:
+ virtual ~rtMessagingEvent();
+ rtISipEvent_Declare();
+
+ rt_tsip_message_event_type_t getType();
+ rtMessagingSession^ getSession();
+ rtMessagingSession^ takeSessionOwnership();
+
+ private:
+ MessagingEvent* m_pEvent;
+ };
+
+
+ /* ======================== rtInfoEvent ========================*/
+ public ref class rtInfoEvent sealed : rtISipEvent
+ {
+ internal:
+ rtInfoEvent(const struct tsip_event_s *e);
+
+ public:
+ virtual ~rtInfoEvent();
+ rtISipEvent_Declare();
+
+ rt_tsip_info_event_type_t getType();
+ rtInfoSession^ getSession();
+ rtInfoSession^ takeSessionOwnership();
+
+ private:
+ InfoEvent* m_pEvent;
+ };
+
+
+ /* ======================== rtOptionsEvent ========================*/
+ public ref class rtOptionsEvent sealed : rtISipEvent
+ {
+ internal:
+ rtOptionsEvent(const struct tsip_event_s *e);
+
+ public:
+ virtual ~rtOptionsEvent();
+ rtISipEvent_Declare();
+
+ rt_tsip_options_event_type_t getType();
+ rtOptionsSession^ getSession();
+ rtOptionsSession^ takeSessionOwnership();
+
+ private:
+ OptionsEvent* m_pEvent;
+ };
+
+ /* ======================== rtPublicationEvent ========================*/
+ public ref class rtPublicationEvent sealed : rtISipEvent
+ {
+ internal:
+ rtPublicationEvent(const struct tsip_event_s *e);
+
+ public:
+ virtual ~rtPublicationEvent();
+ rtISipEvent_Declare();
+
+ rt_tsip_publish_event_type_t getType();
+ rtPublicationSession^ getSession();
+ rtPublicationSession^ takeSessionOwnership();
+
+ private:
+ PublicationEvent* m_pEvent;
+ };
+
+ /* ======================== rtRegistrationEvent ========================*/
+ public ref class rtRegistrationEvent sealed : rtISipEvent
+ {
+ internal:
+ rtRegistrationEvent(const struct tsip_event_s *e);
+
+ public:
+ virtual ~rtRegistrationEvent();
+ rtISipEvent_Declare();
+
+ rt_tsip_register_event_type_t getType();
+ rtRegistrationSession^ getSession();
+ rtRegistrationSession^ takeSessionOwnership();
+
+ private:
+ RegistrationEvent* m_pEvent;
+ };
+
+ /* ======================== rtSubscriptionEvent ========================*/
+ public ref class rtSubscriptionEvent sealed : rtISipEvent
+ {
+ internal:
+ rtSubscriptionEvent(const struct tsip_event_s *e);
+
+ public:
+ virtual ~rtSubscriptionEvent();
+ rtISipEvent_Declare();
+
+ rt_tsip_subscribe_event_type_t getType();
+ rtSubscriptionSession^ getSession();
+ rtSubscriptionSession^ takeSessionOwnership();
+
+ private:
+ SubscriptionEvent* m_pEvent;
+ };
+ }
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipMessage.h b/bindings/winrt/doubango_rt/include/rt_SipMessage.h
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipMessage.h
rename to bindings/winrt/doubango_rt/include/rt_SipMessage.h
index 4eaadbdc..a61c1c3a 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipMessage.h
+++ b/bindings/winrt/doubango_rt/include/rt_SipMessage.h
@@ -1,78 +1,78 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-#include "rt_Enums.h"
-
-class SdpMessage;
-class SipMessage;
-
-struct tsdp_message_s;
-struct tsip_message_s;
-
-namespace doubango_rt
-{
- namespace BackEnd
- {
- public ref class rtSdpMessage sealed
- {
- internal:
- rtSdpMessage();
- rtSdpMessage(struct tsdp_message_s *message);
- public:
- virtual ~rtSdpMessage();
-
- public:
- Platform::String^ getSdpHeaderValue(Platform::String^ media, Platform::String^ name, unsigned index);
- Platform::String^ getSdpHeaderValue(Platform::String^ media, Platform::String^ name);
- Platform::String^ getSdpHeaderAValue(Platform::String^ media, Platform::String^ attributeName);
-
- private:
- SdpMessage* m_pSdpMessage;
- };
-
- public ref class rtSipMessage sealed
- {
- internal:
- rtSipMessage();
- rtSipMessage(struct tsip_message_s* message);
- public:
- virtual ~rtSipMessage();
-
- public:
- bool isResponse();
- rt_tsip_request_type_t getRequestType();
- short getResponseCode();
- Platform::String^ getResponsePhrase();
- Platform::String^ getSipHeaderValue(Platform::String^ name, unsigned index);
- Platform::String^ getSipHeaderValue(Platform::String^ name);
- Platform::String^ getSipHeaderParamValue(Platform::String^ name, Platform::String^ param, unsigned index);
- Platform::String^ getSipHeaderParamValue(Platform::String^ name, Platform::String^ param);
- unsigned getSipContentLength();
-#if COM_VISIBLE
- Platform::String^ getSipContent();
-#else
- unsigned getSipContent(Platform::IntPtr output, unsigned maxsize);
-#endif
- rtSdpMessage^ getSdpMessage();
-
- private:
- SipMessage* m_pSipMessage;
- };
- }
-}
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+#include "rt_Enums.h"
+
+class SdpMessage;
+class SipMessage;
+
+struct tsdp_message_s;
+struct tsip_message_s;
+
+namespace doubango_rt
+{
+ namespace BackEnd
+ {
+ public ref class rtSdpMessage sealed
+ {
+ internal:
+ rtSdpMessage();
+ rtSdpMessage(struct tsdp_message_s *message);
+ public:
+ virtual ~rtSdpMessage();
+
+ public:
+ Platform::String^ getSdpHeaderValue(Platform::String^ media, Platform::String^ name, unsigned index);
+ Platform::String^ getSdpHeaderValue(Platform::String^ media, Platform::String^ name);
+ Platform::String^ getSdpHeaderAValue(Platform::String^ media, Platform::String^ attributeName);
+
+ private:
+ SdpMessage* m_pSdpMessage;
+ };
+
+ public ref class rtSipMessage sealed
+ {
+ internal:
+ rtSipMessage();
+ rtSipMessage(struct tsip_message_s* message);
+ public:
+ virtual ~rtSipMessage();
+
+ public:
+ bool isResponse();
+ rt_tsip_request_type_t getRequestType();
+ short getResponseCode();
+ Platform::String^ getResponsePhrase();
+ Platform::String^ getSipHeaderValue(Platform::String^ name, unsigned index);
+ Platform::String^ getSipHeaderValue(Platform::String^ name);
+ Platform::String^ getSipHeaderParamValue(Platform::String^ name, Platform::String^ param, unsigned index);
+ Platform::String^ getSipHeaderParamValue(Platform::String^ name, Platform::String^ param);
+ unsigned getSipContentLength();
+#if COM_VISIBLE
+ Platform::String^ getSipContent();
+#else
+ unsigned getSipContent(Platform::IntPtr output, unsigned maxsize);
+#endif
+ rtSdpMessage^ getSdpMessage();
+
+ private:
+ SipMessage* m_pSipMessage;
+ };
+ }
+}
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipSession.h b/bindings/winrt/doubango_rt/include/rt_SipSession.h
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipSession.h
rename to bindings/winrt/doubango_rt/include/rt_SipSession.h
index 2857ddc5..bf52ba54 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipSession.h
+++ b/bindings/winrt/doubango_rt/include/rt_SipSession.h
@@ -1,510 +1,510 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-#include "rt_Config.h"
-#include "rt_SipStack.h"
-#include "rt_SipUri.h"
-#include "rt_String.h"
-#include "rt_ActionConfig.h"
-#include "rt_MediaSessionMgr.h"
-
-#include "tinysip.h"
-
-class SipSession;
-class InviteSession;
-class CallSession;
-class MsrpSession;
-class MessagingSession;
-class InfoSession;
-class OptionsSession;
-class PublicationSession;
-class RegistrationSession;
-class SubscriptionSession;
-class SipStack;
-
-class T140CallbackData;
-class T140Callback;
-
-// error C4585: 'doubango_rt::rtSipSession' : A WinRT 'public ref class' must either be sealed or derive from an existing unsealed class
-#define rtISession_Declare() \
- virtual unsigned getId(); \
- virtual bool haveOwnership(); \
- virtual bool addHeader(Platform::String^ name, Platform::String^ value); \
- virtual bool removeHeader(Platform::String^ name); \
- [Windows::Foundation::Metadata::DefaultOverload] \
- virtual bool addCaps(Platform::String^ name, Platform::String^ value); \
- OVERRIDE_FUNC(virtual bool addCaps(Platform::String^ name);) \
- virtual bool removeCaps(Platform::String^ name); \
- virtual bool setExpires(unsigned expires); \
- OVERRIDE_FUNC(virtual bool setFromUri(Platform::String^ fromUriString);) \
- [Windows::Foundation::Metadata::DefaultOverload] \
- virtual bool setFromUri(rtSipUri^ fromUri); \
- OVERRIDE_FUNC(virtual bool setToUri(Platform::String^ toUriString);) \
- [Windows::Foundation::Metadata::DefaultOverload] \
- virtual bool setToUri(rtSipUri^ toUri); \
- virtual bool setSilentHangup(bool silent); \
- virtual bool addSigCompCompartment(Platform::String^ compId); \
- virtual bool removeSigCompCompartment(); \
-
-#define rtISession_Implement(cls) \
- unsigned cls##::getId(){ \
- return m_pSipSession->getId(); \
-} \
- bool cls##::haveOwnership(){ \
- return m_pSipSession->haveOwnership(); \
-} \
- bool cls##::addHeader(Platform::String^ name, Platform::String^ value){ \
- return m_pSipSession->addHeader(rtString::toUtf8(name).data(), rtString::toUtf8(value).data()); \
-} \
- bool cls##::removeHeader(Platform::String^ name){ \
- return m_pSipSession->removeHeader(rtString::toUtf8(name).data()); \
-} \
- bool cls##::addCaps(Platform::String^ name, Platform::String^ value){ \
- return m_pSipSession->addCaps(rtString::toUtf8(name).data(), rtString::toUtf8(value).data()); \
-} \
-OVERRIDE_FUNC(bool cls##::addCaps(Platform::String^ name){ \
- return addCaps(name, nullptr); \
-}) \
- bool cls##::removeCaps(Platform::String^ name){ \
- return m_pSipSession->removeCaps(rtString::toUtf8(name).data()); \
-} \
- bool cls##::setExpires(unsigned expires){ \
- return m_pSipSession->setExpires(expires); \
-} \
-OVERRIDE_FUNC(bool cls##::setFromUri(Platform::String^ fromUriString){ \
- return m_pSipSession->setFromUri(rtString::toUtf8(fromUriString).data()); \
-}) \
- bool cls##::setFromUri(rtSipUri^ fromUri){ \
- return m_pSipSession->setFromUri(fromUri->getWrappedUri()); \
-} \
-OVERRIDE_FUNC(bool cls##::setToUri(Platform::String^ toUriString){ \
- return m_pSipSession->setToUri(rtString::toUtf8(toUriString).data()); \
-}) \
- bool cls##::setToUri(rtSipUri^ toUri){ \
- return m_pSipSession->setToUri(toUri->getWrappedUri()); \
-} \
- bool cls##::setSilentHangup(bool silent){ \
- return m_pSipSession->setSilentHangup(silent); \
-} \
- bool cls##::addSigCompCompartment(Platform::String^ compId){ \
- return m_pSipSession->addSigCompCompartment(rtString::toUtf8(compId).data()); \
-} \
- bool cls##::removeSigCompCompartment(){ \
- return m_pSipSession->removeSigCompCompartment(); \
-}\
-
-
-#define rtIInviteSession_Declare() \
- [Windows::Foundation::Metadata::DefaultOverload] \
- virtual bool accept(rtActionConfig^ config); \
- OVERRIDE_FUNC(virtual bool accept();) \
- [Windows::Foundation::Metadata::DefaultOverload] \
- virtual bool hangup(rtActionConfig^ config); \
- OVERRIDE_FUNC(virtual bool hangup();) \
- [Windows::Foundation::Metadata::DefaultOverload] \
- virtual bool reject(rtActionConfig^ config); \
- OVERRIDE_FUNC(virtual bool reject();) \
- [Windows::Foundation::Metadata::DefaultOverload] \
- virtual bool sendInfo(VISIBLE_VOID_PTR payload, unsigned len, rtActionConfig^ config); \
- OVERRIDE_FUNC(virtual bool sendInfo(VISIBLE_VOID_PTR payload, unsigned len);) \
- virtual rtMediaSessionMgr^ getMediaMgr(); \
-
-#define rtIInviteSession_Implement(cls) \
-bool cls##::accept(rtActionConfig^ config){ \
- return m_pSipSession->accept(config ? config->getWrappedActionConfig() : tsk_null); \
-} \
-OVERRIDE_FUNC(bool cls##::accept(){ \
- return accept(nullptr); \
-}) \
-bool cls##::hangup(rtActionConfig^ config){ \
- return m_pSipSession->hangup(config ? config->getWrappedActionConfig() : tsk_null); \
-} \
-OVERRIDE_FUNC(bool cls##::hangup(){ \
- return hangup(nullptr); \
-}) \
-bool cls##::reject(rtActionConfig^ config){ \
- return m_pSipSession->reject(config ? config->getWrappedActionConfig() : tsk_null); \
-} \
-OVERRIDE_FUNC(bool cls##::reject(){ \
- return reject(nullptr); \
-}) \
-bool cls##::sendInfo(VISIBLE_VOID_PTR payload, unsigned len, rtActionConfig^ config){ \
- return m_pSipSession->sendInfo(VISIBLE_VOID_PTR_2_VOID_PTR(payload), len, config ? config->getWrappedActionConfig() : tsk_null); \
-} \
-OVERRIDE_FUNC(bool cls##::sendInfo(VISIBLE_VOID_PTR payload, unsigned len){ \
- return sendInfo(payload, len, nullptr); \
-}) \
-rtMediaSessionMgr^ cls##::getMediaMgr(){ \
- if(m_pSipSession->getMediaMgr()){ \
- return ref new rtMediaSessionMgr(const_cast(m_pSipSession->getMediaMgr()->getWrappedMgr())); \
- } \
- return nullptr; \
-} \
-
-namespace doubango_rt
-{
- namespace BackEnd
- {
- ref class rtMsrpCallback;
- interface class rtIMsrpCallback;
-
-
- /* ======================== rtT140CallbackData ========================*/
- public ref class rtT140CallbackData sealed
- {
- internal:
- rtT140CallbackData(enum tmedia_t140_data_type_e data_type, const void* data_ptr, unsigned data_size);
- public:
- virtual ~rtT140CallbackData();
-
- private:
- T140CallbackData* m_pData;
- };
-
- /* ======================== rtT140Callback ========================*/
- public interface class rtIT140Callback
- {
- virtual int ondata(rtT140CallbackData^ pData);
- };
- public ref class rtT140Callback sealed
- {
- internal:
- rtT140Callback();
- const T140Callback* getWrappedCallback(){ return m_pCallback; }
-
- public:
- rtT140Callback(rtIT140Callback^ pI)
- {
- m_pI = pI;
- }
- virtual ~rtT140Callback();
-
- protected:
- virtual int ondata(rtT140CallbackData^ pData){
- if(m_pI)
- {
- return m_pI->ondata(pData);
- }
- return 0;
- }
-
- private:
- T140Callback* m_pCallback;
- rtIT140Callback^ m_pI;
- };
-
-
- /* ======================== rtISipSession ========================*/
- public interface class rtISipSession
- {
- rtISession_Declare();
- };
-
-
- /* ======================== rtIInviteSession ========================*/
- public interface class rtIInviteSession : rtISipSession
- {
- rtIInviteSession_Declare();
- };
-
- /* ======================== rtSipSession ========================*/
- public ref class rtSipSession sealed: rtISipSession
- {
- public:
- rtSipSession(rtSipStack^ pStack);
- virtual ~rtSipSession();
- internal:
- rtSipSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
- SipSession* getWrappedSession(){ return m_pSipSession; }
-
- public:
- rtISession_Declare();
-
- private:
- SipSession* m_pSipSession;
- };
-
- /* ======================== rtInviteSession ========================*/
- public ref class rtInviteSession sealed: rtIInviteSession
- {
- public:
- rtInviteSession(rtSipStack^ pStack);
- virtual ~rtInviteSession();
- internal:
- rtInviteSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
- InviteSession* getWrappedSession(){ return m_pSipSession; }
-
- public:
- rtISession_Declare();
- rtIInviteSession_Declare();
-
- private:
- InviteSession* m_pSipSession;
- };
-
- /* ======================== CallSession ========================*/
- public ref class rtCallSession sealed : rtIInviteSession
- {
- public:
- rtCallSession(rtSipStack^ pStack);
- virtual ~rtCallSession();
- internal:
- rtCallSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
- CallSession* getWrappedSession(){ return m_pSipSession; }
-
- public:
- rtISession_Declare();
- rtIInviteSession_Declare();
-
- [Windows::Foundation::Metadata::DefaultOverload]
- bool call(Platform::String^ remoteUriString, rt_twrap_media_type_t media, rtActionConfig^ config);
- [Windows::Foundation::Metadata::DefaultOverload]
- bool call(Platform::String^ remoteUriString, rt_twrap_media_type_t media);
- bool call(rtSipUri^ remoteUri, rt_twrap_media_type_t media, rtActionConfig^ config);
- bool call(rtSipUri^ remoteUri, rt_twrap_media_type_t media);
-
- bool setSessionTimer(unsigned timeout, Platform::String^ refresher);
- bool set100rel(bool enabled);
- bool setRtcp(bool enabled);
- bool setRtcpMux(bool enabled);
- bool setICE(bool enabled);
- bool setQoS(rt_tmedia_qos_stype_t type, rt_tmedia_qos_strength_t strength);
- bool setVideoFps(int32_t fps);
- bool setVideoBandwidthUploadMax(int32_t max);
- bool setVideoBandwidthDownloadMax(int32_t max);
- bool setVideoPrefSize(rt_tmedia_pref_video_size_t pref_video_size);
- bool hold(rtActionConfig^ config);
- bool hold();
- bool resume(rtActionConfig^ config);
- bool resume();
- bool transfer(Platform::String^ referToUriString, rtActionConfig^ config);
- bool transfer(Platform::String^ referToUriString);
- bool acceptTransfer(rtActionConfig^ config);
- bool acceptTransfer();
- bool rejectTransfer(rtActionConfig^ config);
- bool rejectTransfer();
- bool sendDTMF(int number);
- unsigned getSessionTransferId();
-#if COM_VISIBLE
- bool sendT140Data(rt_tmedia_t140_data_type_t data_type, Platform::String^ data);
-#else
- bool sendT140Data(rt_tmedia_t140_data_type_t data_type, Platform::IntPtr data_ptr, unsigned data_size);
-#endif
- bool sendT140Data(rt_tmedia_t140_data_type_t data_type);
- bool setT140Callback(rtT140Callback^ pT140Callback);
-
- private:
- CallSession* m_pSipSession;
- };
-
-
- /* ======================== rtMsrpSession ========================*/
- public ref class rtMsrpSession sealed : rtIInviteSession
- {
- public:
- rtMsrpSession(rtSipStack^ pStack, rtIMsrpCallback^ pCallback);
- virtual ~rtMsrpSession();
-
- internal:
- rtMsrpSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
- MsrpSession* getWrappedSession(){ return m_pSipSession; }
-
- public:
- rtISession_Declare();
- rtIInviteSession_Declare();
-
- bool setCallback(rtIMsrpCallback^ pCallback);
- [Windows::Foundation::Metadata::DefaultOverload]
- bool callMsrp(Platform::String^ remoteUriString, rtActionConfig^ config);
- [Windows::Foundation::Metadata::DefaultOverload]
- bool callMsrp(Platform::String^ remoteUriString);
- bool callMsrp(rtSipUri^ remoteUri, rtActionConfig^ config);
- bool callMsrp(rtSipUri^ remoteUri);
-#if COM_VISIBLE
- bool sendMessage(Platform::String^ payload, rtActionConfig^ config);
- bool sendMessage(Platform::String^ payload);
-#else
- bool sendMessage(Platform::IntPtr payload, unsigned len, rtActionConfig^ config);
- bool sendMessage(Platform::IntPtr payload, unsigned len);
-#endif
-
- private:
- MsrpSession* m_pSipSession;
- rtMsrpCallback^ m_pCallback;
- };
-
- /* ======================== rtMessagingSession ========================*/
- public ref class rtMessagingSession sealed : rtISipSession
- {
- internal:
- rtMessagingSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
- public:
- rtMessagingSession(rtSipStack^ pStack);
- virtual ~rtMessagingSession();
-
- rtISession_Declare();
-
-#if COM_VISIBLE
- bool send(Platform::String^ payload, rtActionConfig^ config);
- bool send(Platform::String^ payload);
-#else
- [Windows::Foundation::Metadata::DefaultOverload]
- bool send(Platform::IntPtr payload, unsigned len, rtActionConfig^ config);
- bool send(Platform::IntPtr payload, unsigned len);
-#endif
- [Windows::Foundation::Metadata::DefaultOverload]
- bool accept(rtActionConfig^ config);
- bool accept();
- [Windows::Foundation::Metadata::DefaultOverload]
- bool reject(rtActionConfig^ config);
- bool reject();
-
- private:
- MessagingSession* m_pSipSession;
- };
-
-
- /* ======================== rtInfoSession ========================*/
- public ref class rtInfoSession sealed : rtISipSession
- {
- internal:
- rtInfoSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
- public:
- rtInfoSession(rtSipStack^ pStack);
- virtual ~rtInfoSession();
-
- rtISession_Declare();
-
-#if COM_VISIBLE
- bool send(Platform::String^ payload, rtActionConfig^ config);
- bool send(Platform::String^ payload);
-#else
- [Windows::Foundation::Metadata::DefaultOverload]
- bool send(Platform::IntPtr payload, unsigned len, rtActionConfig^ config);
- bool send(Platform::IntPtr payload, unsigned len);
-#endif
- [Windows::Foundation::Metadata::DefaultOverload]
- bool accept(rtActionConfig^ config);
- bool accept();
- [Windows::Foundation::Metadata::DefaultOverload]
- bool reject(rtActionConfig^ config);
- bool reject();
-
- private:
- InfoSession* m_pSipSession;
- };
-
-
- /* ======================== rtOptionsSession ========================*/
- public ref class rtOptionsSession sealed : rtISipSession
- {
- internal:
- rtOptionsSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
- public:
- rtOptionsSession(rtSipStack^ pStack);
- virtual ~rtOptionsSession();
-
- rtISession_Declare();
-
- [Windows::Foundation::Metadata::DefaultOverload]
- bool send(rtActionConfig^ config);
- bool send();
- [Windows::Foundation::Metadata::DefaultOverload]
- bool accept(rtActionConfig^ config);
- bool accept();
- [Windows::Foundation::Metadata::DefaultOverload]
- bool reject(rtActionConfig^ config);
- bool reject();
-
- private:
- OptionsSession* m_pSipSession;
- };
-
-
- /* ======================== rtPublicationSession ========================*/
- public ref class rtPublicationSession sealed : rtISipSession
- {
- internal:
- rtPublicationSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
- public:
- rtPublicationSession(rtSipStack^ pStack);
- virtual ~rtPublicationSession();
-
- rtISession_Declare();
-
-#if COM_VISIBLE
- bool publish(Platform::String^ payload, rtActionConfig^ config);
- bool publish(Platform::String^ payload);
-#else
- [Windows::Foundation::Metadata::DefaultOverload]
- bool publish(Platform::IntPtr payload, unsigned len, rtActionConfig^ config);
- bool publish(Platform::IntPtr payload, unsigned len);
-#endif
- [Windows::Foundation::Metadata::DefaultOverload]
- bool unPublish(rtActionConfig^ config);
- bool unPublish();
-
- private:
- PublicationSession* m_pSipSession;
- };
-
-
- /* ======================== rtRegistrationSession ========================*/
- public ref class rtRegistrationSession sealed : rtISipSession
- {
- internal:
- rtRegistrationSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
- public:
- rtRegistrationSession(rtSipStack^ pStack);
- virtual ~rtRegistrationSession();
-
- rtISession_Declare();
-
- bool register_(rtActionConfig^ config);
- bool register_();
- bool unRegister(rtActionConfig^ config);
- bool unRegister();
- bool accept(rtActionConfig^ config);
- bool accept();
- bool reject(rtActionConfig^ config);
- bool reject();
-
- private:
- RegistrationSession* m_pSipSession;
- };
-
- /* ======================== rtSubscriptionSession ========================*/
- public ref class rtSubscriptionSession sealed : rtISipSession
- {
- internal:
- rtSubscriptionSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
- public:
- rtSubscriptionSession(rtSipStack^ pStack);
- virtual ~rtSubscriptionSession();
-
- rtISession_Declare();
-
- bool subscribe();
- bool unSubscribe();
-
- private:
- SubscriptionSession* m_pSipSession;
- };
- }
-}
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+#include "rt_Config.h"
+#include "rt_SipStack.h"
+#include "rt_SipUri.h"
+#include "rt_String.h"
+#include "rt_ActionConfig.h"
+#include "rt_MediaSessionMgr.h"
+
+#include "tinysip.h"
+
+class SipSession;
+class InviteSession;
+class CallSession;
+class MsrpSession;
+class MessagingSession;
+class InfoSession;
+class OptionsSession;
+class PublicationSession;
+class RegistrationSession;
+class SubscriptionSession;
+class SipStack;
+
+class T140CallbackData;
+class T140Callback;
+
+// error C4585: 'doubango_rt::rtSipSession' : A WinRT 'public ref class' must either be sealed or derive from an existing unsealed class
+#define rtISession_Declare() \
+ virtual unsigned getId(); \
+ virtual bool haveOwnership(); \
+ virtual bool addHeader(Platform::String^ name, Platform::String^ value); \
+ virtual bool removeHeader(Platform::String^ name); \
+ [Windows::Foundation::Metadata::DefaultOverload] \
+ virtual bool addCaps(Platform::String^ name, Platform::String^ value); \
+ OVERRIDE_FUNC(virtual bool addCaps(Platform::String^ name);) \
+ virtual bool removeCaps(Platform::String^ name); \
+ virtual bool setExpires(unsigned expires); \
+ OVERRIDE_FUNC(virtual bool setFromUri(Platform::String^ fromUriString);) \
+ [Windows::Foundation::Metadata::DefaultOverload] \
+ virtual bool setFromUri(rtSipUri^ fromUri); \
+ OVERRIDE_FUNC(virtual bool setToUri(Platform::String^ toUriString);) \
+ [Windows::Foundation::Metadata::DefaultOverload] \
+ virtual bool setToUri(rtSipUri^ toUri); \
+ virtual bool setSilentHangup(bool silent); \
+ virtual bool addSigCompCompartment(Platform::String^ compId); \
+ virtual bool removeSigCompCompartment(); \
+
+#define rtISession_Implement(cls) \
+ unsigned cls##::getId(){ \
+ return m_pSipSession->getId(); \
+} \
+ bool cls##::haveOwnership(){ \
+ return m_pSipSession->haveOwnership(); \
+} \
+ bool cls##::addHeader(Platform::String^ name, Platform::String^ value){ \
+ return m_pSipSession->addHeader(rtString::toUtf8(name).data(), rtString::toUtf8(value).data()); \
+} \
+ bool cls##::removeHeader(Platform::String^ name){ \
+ return m_pSipSession->removeHeader(rtString::toUtf8(name).data()); \
+} \
+ bool cls##::addCaps(Platform::String^ name, Platform::String^ value){ \
+ return m_pSipSession->addCaps(rtString::toUtf8(name).data(), rtString::toUtf8(value).data()); \
+} \
+OVERRIDE_FUNC(bool cls##::addCaps(Platform::String^ name){ \
+ return addCaps(name, nullptr); \
+}) \
+ bool cls##::removeCaps(Platform::String^ name){ \
+ return m_pSipSession->removeCaps(rtString::toUtf8(name).data()); \
+} \
+ bool cls##::setExpires(unsigned expires){ \
+ return m_pSipSession->setExpires(expires); \
+} \
+OVERRIDE_FUNC(bool cls##::setFromUri(Platform::String^ fromUriString){ \
+ return m_pSipSession->setFromUri(rtString::toUtf8(fromUriString).data()); \
+}) \
+ bool cls##::setFromUri(rtSipUri^ fromUri){ \
+ return m_pSipSession->setFromUri(fromUri->getWrappedUri()); \
+} \
+OVERRIDE_FUNC(bool cls##::setToUri(Platform::String^ toUriString){ \
+ return m_pSipSession->setToUri(rtString::toUtf8(toUriString).data()); \
+}) \
+ bool cls##::setToUri(rtSipUri^ toUri){ \
+ return m_pSipSession->setToUri(toUri->getWrappedUri()); \
+} \
+ bool cls##::setSilentHangup(bool silent){ \
+ return m_pSipSession->setSilentHangup(silent); \
+} \
+ bool cls##::addSigCompCompartment(Platform::String^ compId){ \
+ return m_pSipSession->addSigCompCompartment(rtString::toUtf8(compId).data()); \
+} \
+ bool cls##::removeSigCompCompartment(){ \
+ return m_pSipSession->removeSigCompCompartment(); \
+}\
+
+
+#define rtIInviteSession_Declare() \
+ [Windows::Foundation::Metadata::DefaultOverload] \
+ virtual bool accept(rtActionConfig^ config); \
+ OVERRIDE_FUNC(virtual bool accept();) \
+ [Windows::Foundation::Metadata::DefaultOverload] \
+ virtual bool hangup(rtActionConfig^ config); \
+ OVERRIDE_FUNC(virtual bool hangup();) \
+ [Windows::Foundation::Metadata::DefaultOverload] \
+ virtual bool reject(rtActionConfig^ config); \
+ OVERRIDE_FUNC(virtual bool reject();) \
+ [Windows::Foundation::Metadata::DefaultOverload] \
+ virtual bool sendInfo(VISIBLE_VOID_PTR payload, unsigned len, rtActionConfig^ config); \
+ OVERRIDE_FUNC(virtual bool sendInfo(VISIBLE_VOID_PTR payload, unsigned len);) \
+ virtual rtMediaSessionMgr^ getMediaMgr(); \
+
+#define rtIInviteSession_Implement(cls) \
+bool cls##::accept(rtActionConfig^ config){ \
+ return m_pSipSession->accept(config ? config->getWrappedActionConfig() : tsk_null); \
+} \
+OVERRIDE_FUNC(bool cls##::accept(){ \
+ return accept(nullptr); \
+}) \
+bool cls##::hangup(rtActionConfig^ config){ \
+ return m_pSipSession->hangup(config ? config->getWrappedActionConfig() : tsk_null); \
+} \
+OVERRIDE_FUNC(bool cls##::hangup(){ \
+ return hangup(nullptr); \
+}) \
+bool cls##::reject(rtActionConfig^ config){ \
+ return m_pSipSession->reject(config ? config->getWrappedActionConfig() : tsk_null); \
+} \
+OVERRIDE_FUNC(bool cls##::reject(){ \
+ return reject(nullptr); \
+}) \
+bool cls##::sendInfo(VISIBLE_VOID_PTR payload, unsigned len, rtActionConfig^ config){ \
+ return m_pSipSession->sendInfo(VISIBLE_VOID_PTR_2_VOID_PTR(payload), len, config ? config->getWrappedActionConfig() : tsk_null); \
+} \
+OVERRIDE_FUNC(bool cls##::sendInfo(VISIBLE_VOID_PTR payload, unsigned len){ \
+ return sendInfo(payload, len, nullptr); \
+}) \
+rtMediaSessionMgr^ cls##::getMediaMgr(){ \
+ if(m_pSipSession->getMediaMgr()){ \
+ return ref new rtMediaSessionMgr(const_cast(m_pSipSession->getMediaMgr()->getWrappedMgr())); \
+ } \
+ return nullptr; \
+} \
+
+namespace doubango_rt
+{
+ namespace BackEnd
+ {
+ ref class rtMsrpCallback;
+ interface class rtIMsrpCallback;
+
+
+ /* ======================== rtT140CallbackData ========================*/
+ public ref class rtT140CallbackData sealed
+ {
+ internal:
+ rtT140CallbackData(enum tmedia_t140_data_type_e data_type, const void* data_ptr, unsigned data_size);
+ public:
+ virtual ~rtT140CallbackData();
+
+ private:
+ T140CallbackData* m_pData;
+ };
+
+ /* ======================== rtT140Callback ========================*/
+ public interface class rtIT140Callback
+ {
+ virtual int ondata(rtT140CallbackData^ pData);
+ };
+ public ref class rtT140Callback sealed
+ {
+ internal:
+ rtT140Callback();
+ const T140Callback* getWrappedCallback(){ return m_pCallback; }
+
+ public:
+ rtT140Callback(rtIT140Callback^ pI)
+ {
+ m_pI = pI;
+ }
+ virtual ~rtT140Callback();
+
+ protected:
+ virtual int ondata(rtT140CallbackData^ pData){
+ if(m_pI)
+ {
+ return m_pI->ondata(pData);
+ }
+ return 0;
+ }
+
+ private:
+ T140Callback* m_pCallback;
+ rtIT140Callback^ m_pI;
+ };
+
+
+ /* ======================== rtISipSession ========================*/
+ public interface class rtISipSession
+ {
+ rtISession_Declare();
+ };
+
+
+ /* ======================== rtIInviteSession ========================*/
+ public interface class rtIInviteSession : rtISipSession
+ {
+ rtIInviteSession_Declare();
+ };
+
+ /* ======================== rtSipSession ========================*/
+ public ref class rtSipSession sealed: rtISipSession
+ {
+ public:
+ rtSipSession(rtSipStack^ pStack);
+ virtual ~rtSipSession();
+ internal:
+ rtSipSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ SipSession* getWrappedSession(){ return m_pSipSession; }
+
+ public:
+ rtISession_Declare();
+
+ private:
+ SipSession* m_pSipSession;
+ };
+
+ /* ======================== rtInviteSession ========================*/
+ public ref class rtInviteSession sealed: rtIInviteSession
+ {
+ public:
+ rtInviteSession(rtSipStack^ pStack);
+ virtual ~rtInviteSession();
+ internal:
+ rtInviteSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ InviteSession* getWrappedSession(){ return m_pSipSession; }
+
+ public:
+ rtISession_Declare();
+ rtIInviteSession_Declare();
+
+ private:
+ InviteSession* m_pSipSession;
+ };
+
+ /* ======================== CallSession ========================*/
+ public ref class rtCallSession sealed : rtIInviteSession
+ {
+ public:
+ rtCallSession(rtSipStack^ pStack);
+ virtual ~rtCallSession();
+ internal:
+ rtCallSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ CallSession* getWrappedSession(){ return m_pSipSession; }
+
+ public:
+ rtISession_Declare();
+ rtIInviteSession_Declare();
+
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool call(Platform::String^ remoteUriString, rt_twrap_media_type_t media, rtActionConfig^ config);
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool call(Platform::String^ remoteUriString, rt_twrap_media_type_t media);
+ bool call(rtSipUri^ remoteUri, rt_twrap_media_type_t media, rtActionConfig^ config);
+ bool call(rtSipUri^ remoteUri, rt_twrap_media_type_t media);
+
+ bool setSessionTimer(unsigned timeout, Platform::String^ refresher);
+ bool set100rel(bool enabled);
+ bool setRtcp(bool enabled);
+ bool setRtcpMux(bool enabled);
+ bool setICE(bool enabled);
+ bool setQoS(rt_tmedia_qos_stype_t type, rt_tmedia_qos_strength_t strength);
+ bool setVideoFps(int32_t fps);
+ bool setVideoBandwidthUploadMax(int32_t max);
+ bool setVideoBandwidthDownloadMax(int32_t max);
+ bool setVideoPrefSize(rt_tmedia_pref_video_size_t pref_video_size);
+ bool hold(rtActionConfig^ config);
+ bool hold();
+ bool resume(rtActionConfig^ config);
+ bool resume();
+ bool transfer(Platform::String^ referToUriString, rtActionConfig^ config);
+ bool transfer(Platform::String^ referToUriString);
+ bool acceptTransfer(rtActionConfig^ config);
+ bool acceptTransfer();
+ bool rejectTransfer(rtActionConfig^ config);
+ bool rejectTransfer();
+ bool sendDTMF(int number);
+ unsigned getSessionTransferId();
+#if COM_VISIBLE
+ bool sendT140Data(rt_tmedia_t140_data_type_t data_type, Platform::String^ data);
+#else
+ bool sendT140Data(rt_tmedia_t140_data_type_t data_type, Platform::IntPtr data_ptr, unsigned data_size);
+#endif
+ bool sendT140Data(rt_tmedia_t140_data_type_t data_type);
+ bool setT140Callback(rtT140Callback^ pT140Callback);
+
+ private:
+ CallSession* m_pSipSession;
+ };
+
+
+ /* ======================== rtMsrpSession ========================*/
+ public ref class rtMsrpSession sealed : rtIInviteSession
+ {
+ public:
+ rtMsrpSession(rtSipStack^ pStack, rtIMsrpCallback^ pCallback);
+ virtual ~rtMsrpSession();
+
+ internal:
+ rtMsrpSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ MsrpSession* getWrappedSession(){ return m_pSipSession; }
+
+ public:
+ rtISession_Declare();
+ rtIInviteSession_Declare();
+
+ bool setCallback(rtIMsrpCallback^ pCallback);
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool callMsrp(Platform::String^ remoteUriString, rtActionConfig^ config);
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool callMsrp(Platform::String^ remoteUriString);
+ bool callMsrp(rtSipUri^ remoteUri, rtActionConfig^ config);
+ bool callMsrp(rtSipUri^ remoteUri);
+#if COM_VISIBLE
+ bool sendMessage(Platform::String^ payload, rtActionConfig^ config);
+ bool sendMessage(Platform::String^ payload);
+#else
+ bool sendMessage(Platform::IntPtr payload, unsigned len, rtActionConfig^ config);
+ bool sendMessage(Platform::IntPtr payload, unsigned len);
+#endif
+
+ private:
+ MsrpSession* m_pSipSession;
+ rtMsrpCallback^ m_pCallback;
+ };
+
+ /* ======================== rtMessagingSession ========================*/
+ public ref class rtMessagingSession sealed : rtISipSession
+ {
+ internal:
+ rtMessagingSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ public:
+ rtMessagingSession(rtSipStack^ pStack);
+ virtual ~rtMessagingSession();
+
+ rtISession_Declare();
+
+#if COM_VISIBLE
+ bool send(Platform::String^ payload, rtActionConfig^ config);
+ bool send(Platform::String^ payload);
+#else
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool send(Platform::IntPtr payload, unsigned len, rtActionConfig^ config);
+ bool send(Platform::IntPtr payload, unsigned len);
+#endif
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool accept(rtActionConfig^ config);
+ bool accept();
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool reject(rtActionConfig^ config);
+ bool reject();
+
+ private:
+ MessagingSession* m_pSipSession;
+ };
+
+
+ /* ======================== rtInfoSession ========================*/
+ public ref class rtInfoSession sealed : rtISipSession
+ {
+ internal:
+ rtInfoSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ public:
+ rtInfoSession(rtSipStack^ pStack);
+ virtual ~rtInfoSession();
+
+ rtISession_Declare();
+
+#if COM_VISIBLE
+ bool send(Platform::String^ payload, rtActionConfig^ config);
+ bool send(Platform::String^ payload);
+#else
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool send(Platform::IntPtr payload, unsigned len, rtActionConfig^ config);
+ bool send(Platform::IntPtr payload, unsigned len);
+#endif
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool accept(rtActionConfig^ config);
+ bool accept();
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool reject(rtActionConfig^ config);
+ bool reject();
+
+ private:
+ InfoSession* m_pSipSession;
+ };
+
+
+ /* ======================== rtOptionsSession ========================*/
+ public ref class rtOptionsSession sealed : rtISipSession
+ {
+ internal:
+ rtOptionsSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ public:
+ rtOptionsSession(rtSipStack^ pStack);
+ virtual ~rtOptionsSession();
+
+ rtISession_Declare();
+
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool send(rtActionConfig^ config);
+ bool send();
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool accept(rtActionConfig^ config);
+ bool accept();
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool reject(rtActionConfig^ config);
+ bool reject();
+
+ private:
+ OptionsSession* m_pSipSession;
+ };
+
+
+ /* ======================== rtPublicationSession ========================*/
+ public ref class rtPublicationSession sealed : rtISipSession
+ {
+ internal:
+ rtPublicationSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ public:
+ rtPublicationSession(rtSipStack^ pStack);
+ virtual ~rtPublicationSession();
+
+ rtISession_Declare();
+
+#if COM_VISIBLE
+ bool publish(Platform::String^ payload, rtActionConfig^ config);
+ bool publish(Platform::String^ payload);
+#else
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool publish(Platform::IntPtr payload, unsigned len, rtActionConfig^ config);
+ bool publish(Platform::IntPtr payload, unsigned len);
+#endif
+ [Windows::Foundation::Metadata::DefaultOverload]
+ bool unPublish(rtActionConfig^ config);
+ bool unPublish();
+
+ private:
+ PublicationSession* m_pSipSession;
+ };
+
+
+ /* ======================== rtRegistrationSession ========================*/
+ public ref class rtRegistrationSession sealed : rtISipSession
+ {
+ internal:
+ rtRegistrationSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ public:
+ rtRegistrationSession(rtSipStack^ pStack);
+ virtual ~rtRegistrationSession();
+
+ rtISession_Declare();
+
+ bool register_(rtActionConfig^ config);
+ bool register_();
+ bool unRegister(rtActionConfig^ config);
+ bool unRegister();
+ bool accept(rtActionConfig^ config);
+ bool accept();
+ bool reject(rtActionConfig^ config);
+ bool reject();
+
+ private:
+ RegistrationSession* m_pSipSession;
+ };
+
+ /* ======================== rtSubscriptionSession ========================*/
+ public ref class rtSubscriptionSession sealed : rtISipSession
+ {
+ internal:
+ rtSubscriptionSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ public:
+ rtSubscriptionSession(rtSipStack^ pStack);
+ virtual ~rtSubscriptionSession();
+
+ rtISession_Declare();
+
+ bool subscribe();
+ bool unSubscribe();
+
+ private:
+ SubscriptionSession* m_pSipSession;
+ };
+ }
+}
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipStack.h b/bindings/winrt/doubango_rt/include/rt_SipStack.h
similarity index 97%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipStack.h
rename to bindings/winrt/doubango_rt/include/rt_SipStack.h
index 43a9e0af..b55c5ae8 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipStack.h
+++ b/bindings/winrt/doubango_rt/include/rt_SipStack.h
@@ -1,120 +1,120 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-#include
-
-class SipStack;
-
-namespace doubango_rt
-{
- namespace BackEnd
- {
- ref class rtSipCallback;
- interface class rtISipCallback;
- ref class rtDDebugCallback;
- interface class rtIDDebugCallback;
-
- enum class rt_tdav_codec_id_t;
-
- public ref class rtDnsResult sealed
- {
- internal:
- rtDnsResult(uint16 port, Platform::String^ address):_port(port), _address(address){}
- public:
- property uint16 Port{ uint16 get() { return _port; }; }
- property Platform::String^ Address{ Platform::String^ get() { return _address; }; }
- private:
- uint16 _port;
- Platform::String^ _address;
- };
-
- public ref class rtSipStack sealed
- {
- public:
- virtual ~rtSipStack();
-
- internal:
- rtSipStack(rtISipCallback^ callback, Platform::String^ realmUri, Platform::String^ impiString, Platform::String^ impuUri);
- const SipStack* getWrappedStack() { return m_pSipStack; }
-
- public:
- bool start();
- bool setDebugCallback(rtIDDebugCallback^ pCallback);
- bool setDisplayName(Platform::String^ display_name);
- bool setRealm(Platform::String^ realm_uri);
- bool setIMPI(Platform::String^ impi);
- bool setIMPU(Platform::String^ impu_uri);
- bool setPassword(Platform::String^ password);
- bool setAMF(Platform::String^ amf);
- bool setOperatorId(Platform::String^ opid);
- bool setProxyCSCF(Platform::String^ fqdn, unsigned short port, Platform::String^ transport, Platform::String^ ipversion);
- bool setLocalIP(Platform::String^ ip, Platform::String^ transport);
- bool setLocalIP(Platform::String^ ip);
- bool setLocalPort(unsigned short port, Platform::String^ transport);
- bool setLocalPort(unsigned short port);
- bool setEarlyIMS(bool enabled);
- bool addHeader(Platform::String^ name, Platform::String^ value);
- bool removeHeader(Platform::String^ name);
- bool addDnsServer(Platform::String^ ip);
- bool setDnsDiscovery(bool enabled);
- bool setAoR(Platform::String^ ip, int port);
- bool setSigCompParams(unsigned dms, unsigned sms, unsigned cpb, bool enablePresDict);
- bool addSigCompCompartment(Platform::String^ compId);
- bool removeSigCompCompartment(Platform::String^ compId);
-
- bool setSTUNServer(Platform::String^ ip, unsigned short port);
- bool setSTUNCred(Platform::String^ login, Platform::String^ password);
-
- bool setTLSSecAgree(bool enabled);
- bool setSSLCertificates(Platform::String^ privKey, Platform::String^ pubKey, Platform::String^ caKey, bool verify);
- bool setSSLCertificates(Platform::String^ privKey, Platform::String^ pubKey, Platform::String^ caKey);
- bool setIPSecSecAgree(bool enabled);
- bool setIPSecParameters(Platform::String^ algo, Platform::String^ ealgo, Platform::String^ mode, Platform::String^ proto);
-
- Platform::String^ dnsENUM(Platform::String^ service, Platform::String^ e164num, Platform::String^ domain);
-#if COM_VISIBLE
- rtDnsResult^ dnsNaptrSrv(Platform::String^ domain, Platform::String^ service);
- rtDnsResult^ dnsSrv(Platform::String^ service);
- Platform::String^ getLocalIP(Platform::String^ protocol);
- uint16 getLocalPort(Platform::String^ protocol);
-#else
- Platform::String^ dnsNaptrSrv(Platform::String^ domain, Platform::String^ service, Platform::IntPtr port);
- Platform::String^ dnsSrv(Platform::String^ service, Platform::IntPtr port);
- Platform::String^ getLocalIPnPort(Platform::String^ protocol, Platform::IntPtr port);
-#endif
-
- Platform::String^ getPreferredIdentity();
-
- bool isValid();
- bool stop();
-
- static bool initialize();
- static bool deInitialize();
- static void setCodecs(enum class rt_tdav_codec_id_t codecs);
- static bool setCodecPriority(enum class rt_tdav_codec_id_t codec_id, int priority);
- static bool isCodecSupported(enum class rt_tdav_codec_id_t codec_id);
-
- private:
- SipStack* m_pSipStack;
- rtSipCallback^ m_pSipCallback;
- rtDDebugCallback^ m_pDebugCallback;
- std::recursive_mutex mLock;
- };
- }
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+#include
+
+class SipStack;
+
+namespace doubango_rt
+{
+ namespace BackEnd
+ {
+ ref class rtSipCallback;
+ interface class rtISipCallback;
+ ref class rtDDebugCallback;
+ interface class rtIDDebugCallback;
+
+ enum class rt_tdav_codec_id_t;
+
+ public ref class rtDnsResult sealed
+ {
+ internal:
+ rtDnsResult(uint16 port, Platform::String^ address):_port(port), _address(address){}
+ public:
+ property uint16 Port{ uint16 get() { return _port; }; }
+ property Platform::String^ Address{ Platform::String^ get() { return _address; }; }
+ private:
+ uint16 _port;
+ Platform::String^ _address;
+ };
+
+ public ref class rtSipStack sealed
+ {
+ public:
+ virtual ~rtSipStack();
+
+ internal:
+ rtSipStack(rtISipCallback^ callback, Platform::String^ realmUri, Platform::String^ impiString, Platform::String^ impuUri);
+ const SipStack* getWrappedStack() { return m_pSipStack; }
+
+ public:
+ bool start();
+ bool setDebugCallback(rtIDDebugCallback^ pCallback);
+ bool setDisplayName(Platform::String^ display_name);
+ bool setRealm(Platform::String^ realm_uri);
+ bool setIMPI(Platform::String^ impi);
+ bool setIMPU(Platform::String^ impu_uri);
+ bool setPassword(Platform::String^ password);
+ bool setAMF(Platform::String^ amf);
+ bool setOperatorId(Platform::String^ opid);
+ bool setProxyCSCF(Platform::String^ fqdn, unsigned short port, Platform::String^ transport, Platform::String^ ipversion);
+ bool setLocalIP(Platform::String^ ip, Platform::String^ transport);
+ bool setLocalIP(Platform::String^ ip);
+ bool setLocalPort(unsigned short port, Platform::String^ transport);
+ bool setLocalPort(unsigned short port);
+ bool setEarlyIMS(bool enabled);
+ bool addHeader(Platform::String^ name, Platform::String^ value);
+ bool removeHeader(Platform::String^ name);
+ bool addDnsServer(Platform::String^ ip);
+ bool setDnsDiscovery(bool enabled);
+ bool setAoR(Platform::String^ ip, int port);
+ bool setSigCompParams(unsigned dms, unsigned sms, unsigned cpb, bool enablePresDict);
+ bool addSigCompCompartment(Platform::String^ compId);
+ bool removeSigCompCompartment(Platform::String^ compId);
+
+ bool setSTUNServer(Platform::String^ ip, unsigned short port);
+ bool setSTUNCred(Platform::String^ login, Platform::String^ password);
+
+ bool setTLSSecAgree(bool enabled);
+ bool setSSLCertificates(Platform::String^ privKey, Platform::String^ pubKey, Platform::String^ caKey, bool verify);
+ bool setSSLCertificates(Platform::String^ privKey, Platform::String^ pubKey, Platform::String^ caKey);
+ bool setIPSecSecAgree(bool enabled);
+ bool setIPSecParameters(Platform::String^ algo, Platform::String^ ealgo, Platform::String^ mode, Platform::String^ proto);
+
+ Platform::String^ dnsENUM(Platform::String^ service, Platform::String^ e164num, Platform::String^ domain);
+#if COM_VISIBLE
+ rtDnsResult^ dnsNaptrSrv(Platform::String^ domain, Platform::String^ service);
+ rtDnsResult^ dnsSrv(Platform::String^ service);
+ Platform::String^ getLocalIP(Platform::String^ protocol);
+ uint16 getLocalPort(Platform::String^ protocol);
+#else
+ Platform::String^ dnsNaptrSrv(Platform::String^ domain, Platform::String^ service, Platform::IntPtr port);
+ Platform::String^ dnsSrv(Platform::String^ service, Platform::IntPtr port);
+ Platform::String^ getLocalIPnPort(Platform::String^ protocol, Platform::IntPtr port);
+#endif
+
+ Platform::String^ getPreferredIdentity();
+
+ bool isValid();
+ bool stop();
+
+ static bool initialize();
+ static bool deInitialize();
+ static void setCodecs(enum class rt_tdav_codec_id_t codecs);
+ static bool setCodecPriority(enum class rt_tdav_codec_id_t codec_id, int priority);
+ static bool isCodecSupported(enum class rt_tdav_codec_id_t codec_id);
+
+ private:
+ SipStack* m_pSipStack;
+ rtSipCallback^ m_pSipCallback;
+ rtDDebugCallback^ m_pDebugCallback;
+ std::recursive_mutex mLock;
+ };
+ }
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipUri.h b/bindings/winrt/doubango_rt/include/rt_SipUri.h
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipUri.h
rename to bindings/winrt/doubango_rt/include/rt_SipUri.h
index ac0e5151..3917f877 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_SipUri.h
+++ b/bindings/winrt/doubango_rt/include/rt_SipUri.h
@@ -1,60 +1,60 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-#include "rt_Config.h"
-
-class SipUri;
-
-namespace doubango_rt
-{
- namespace BackEnd
- {
- public ref class rtSipUri sealed
- {
- public:
- virtual ~rtSipUri();
- rtSipUri(Platform::String^ uriString, Platform::String^ displayName);
- rtSipUri(Platform::String^ uriString);
-
-
- public:
- static bool isValid(Platform::String^ uri);
-
-#if COM_VISIBLE
- bool isValid_();
-#else
- bool isValid();
-#endif
- Platform::String^ getScheme();
- Platform::String^ getHost();
- unsigned short getPort();
- Platform::String^ getUserName();
- Platform::String^ getPassword();
- Platform::String^ getDisplayName();
- Platform::String^ getParamValue(Platform::String^ name);
- void setDisplayName(Platform::String^ displayName);
-
- internal:
- const SipUri* getWrappedUri(){ return m_pSipUri; }
-
- private:
- SipUri* m_pSipUri;
- };
- }
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+#include "rt_Config.h"
+
+class SipUri;
+
+namespace doubango_rt
+{
+ namespace BackEnd
+ {
+ public ref class rtSipUri sealed
+ {
+ public:
+ virtual ~rtSipUri();
+ rtSipUri(Platform::String^ uriString, Platform::String^ displayName);
+ rtSipUri(Platform::String^ uriString);
+
+
+ public:
+ static bool isValid(Platform::String^ uri);
+
+#if COM_VISIBLE
+ bool isValid_();
+#else
+ bool isValid();
+#endif
+ Platform::String^ getScheme();
+ Platform::String^ getHost();
+ unsigned short getPort();
+ Platform::String^ getUserName();
+ Platform::String^ getPassword();
+ Platform::String^ getDisplayName();
+ Platform::String^ getParamValue(Platform::String^ name);
+ void setDisplayName(Platform::String^ displayName);
+
+ internal:
+ const SipUri* getWrappedUri(){ return m_pSipUri; }
+
+ private:
+ SipUri* m_pSipUri;
+ };
+ }
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_String.h b/bindings/winrt/doubango_rt/include/rt_String.h
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_String.h
rename to bindings/winrt/doubango_rt/include/rt_String.h
index 2ffeacb7..5562b5d2 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_String.h
+++ b/bindings/winrt/doubango_rt/include/rt_String.h
@@ -1,33 +1,33 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#pragma once
-
-#include
-
-namespace doubango_rt
-{
- namespace BackEnd
- {
- ref class rtString sealed
- {
- internal:
- static std::vector toUtf8(Platform::String^ str);
- static Platform::String^ toString(char const* str);
- };
- }
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#pragma once
+
+#include
+
+namespace doubango_rt
+{
+ namespace BackEnd
+ {
+ ref class rtString sealed
+ {
+ internal:
+ static std::vector toUtf8(Platform::String^ str);
+ static Platform::String^ toString(char const* str);
+ };
+ }
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_Xcap.h b/bindings/winrt/doubango_rt/include/rt_Xcap.h
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_Xcap.h
rename to bindings/winrt/doubango_rt/include/rt_Xcap.h
index dc403219..9385aed9 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/include/rt_Xcap.h
+++ b/bindings/winrt/doubango_rt/include/rt_Xcap.h
@@ -1,18 +1,18 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
#pragma once
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_ActionConfig.cxx b/bindings/winrt/doubango_rt/src/rt_ActionConfig.cxx
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_ActionConfig.cxx
rename to bindings/winrt/doubango_rt/src/rt_ActionConfig.cxx
index 58bc4e42..02f713ed 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_ActionConfig.cxx
+++ b/bindings/winrt/doubango_rt/src/rt_ActionConfig.cxx
@@ -1,76 +1,76 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#include "rt_ActionConfig.h"
-#include "rt_String.h"
-
-#include "ActionConfig.h"
-
-using namespace doubango_rt::BackEnd;
-using namespace Platform;
-using namespace std;
-
-rtActionConfig::rtActionConfig()
-{
- m_pActionConfig = new ActionConfig();
-}
-
-rtActionConfig::~rtActionConfig()
-{
- rtSafeDelete(m_pActionConfig);
-}
-
-bool rtActionConfig::addHeader(String^ name, String^ value)
-{
- return m_pActionConfig->addHeader(rtString::toUtf8(name).data(), rtString::toUtf8(value).data());
-}
-
-bool rtActionConfig::setActiveMedia(rt_twrap_media_type_t type)
-{
- return m_pActionConfig->setActiveMedia((twrap_media_type_t)type);
-}
-
-#if COM_VISIBLE
-bool rtActionConfig::addPayload(Platform::String^ payload)
-{
- static std::vector _payload = rtString::toUtf8(payload);
- return m_pActionConfig->addPayload(_payload.data(), _payload.size());
-}
-#else
-bool rtActionConfig::addPayload(IntPtr payload, unsigned len)
-{
- return m_pActionConfig->addPayload((const void*)payload, len);
-}
-#endif /* COM_VISIBLE */
-
-rtActionConfig^ rtActionConfig::setResponseLine(short code, String^ phrase)
-{
- m_pActionConfig->setResponseLine(code, rtString::toUtf8(phrase).data());
- return this;
-}
-
-rtActionConfig^ rtActionConfig::setMediaString(rt_twrap_media_type_t type, String^ key, String^ value)
-{
- m_pActionConfig->setMediaString((twrap_media_type_t)type, rtString::toUtf8(key).data(), rtString::toUtf8(value).data());
- return this;
-}
-
-rtActionConfig^ rtActionConfig::setMediaInt(rt_twrap_media_type_t type, String^ key, int value)
-{
- m_pActionConfig->setMediaInt((twrap_media_type_t)type, rtString::toUtf8(key).data(), value);
- return this;
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#include "rt_ActionConfig.h"
+#include "rt_String.h"
+
+#include "ActionConfig.h"
+
+using namespace doubango_rt::BackEnd;
+using namespace Platform;
+using namespace std;
+
+rtActionConfig::rtActionConfig()
+{
+ m_pActionConfig = new ActionConfig();
+}
+
+rtActionConfig::~rtActionConfig()
+{
+ rtSafeDelete(m_pActionConfig);
+}
+
+bool rtActionConfig::addHeader(String^ name, String^ value)
+{
+ return m_pActionConfig->addHeader(rtString::toUtf8(name).data(), rtString::toUtf8(value).data());
+}
+
+bool rtActionConfig::setActiveMedia(rt_twrap_media_type_t type)
+{
+ return m_pActionConfig->setActiveMedia((twrap_media_type_t)type);
+}
+
+#if COM_VISIBLE
+bool rtActionConfig::addPayload(Platform::String^ payload)
+{
+ static std::vector _payload = rtString::toUtf8(payload);
+ return m_pActionConfig->addPayload(_payload.data(), _payload.size());
+}
+#else
+bool rtActionConfig::addPayload(IntPtr payload, unsigned len)
+{
+ return m_pActionConfig->addPayload((const void*)payload, len);
+}
+#endif /* COM_VISIBLE */
+
+rtActionConfig^ rtActionConfig::setResponseLine(short code, String^ phrase)
+{
+ m_pActionConfig->setResponseLine(code, rtString::toUtf8(phrase).data());
+ return this;
+}
+
+rtActionConfig^ rtActionConfig::setMediaString(rt_twrap_media_type_t type, String^ key, String^ value)
+{
+ m_pActionConfig->setMediaString((twrap_media_type_t)type, rtString::toUtf8(key).data(), rtString::toUtf8(value).data());
+ return this;
+}
+
+rtActionConfig^ rtActionConfig::setMediaInt(rt_twrap_media_type_t type, String^ key, int value)
+{
+ m_pActionConfig->setMediaInt((twrap_media_type_t)type, rtString::toUtf8(key).data(), value);
+ return this;
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_DDebug.cxx b/bindings/winrt/doubango_rt/src/rt_DDebug.cxx
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_DDebug.cxx
rename to bindings/winrt/doubango_rt/src/rt_DDebug.cxx
index 0d8eca0b..a03300c3 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_DDebug.cxx
+++ b/bindings/winrt/doubango_rt/src/rt_DDebug.cxx
@@ -1,78 +1,78 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#include "rt_DDebug.h"
-#include "rt_String.h"
-
-#include "DDebug.h"
-
-using namespace doubango_rt::BackEnd;
-using namespace Platform;
-using namespace std;
-
-class DDebugCallbackProxy : public DDebugCallback
-{
-public:
- DDebugCallbackProxy(rtDDebugCallback^ pCallback)
- {
- m_pCallback = pCallback;
- }
-
- ~DDebugCallbackProxy()
- {
-
- }
-
- virtual int OnDebugInfo(const char* message)
- {
- return m_pCallback->m_pI->OnDebugInfo(rtString::toString(message));
- }
-
- virtual int OnDebugWarn(const char* message)
- {
- return m_pCallback->m_pI->OnDebugWarn(rtString::toString(message));
- }
-
- virtual int OnDebugError(const char* message)
- {
- return m_pCallback->m_pI->OnDebugError(rtString::toString(message));
- }
-
- virtual int OnDebugFatal(const char* message)
- {
- return m_pCallback->m_pI->OnDebugFatal(rtString::toString(message));
- }
-
-private:
- rtDDebugCallback^ m_pCallback;
-};
-
-rtDDebugCallback::rtDDebugCallback(rtIDDebugCallback^ pI)
-{
- m_pI = pI;
- m_pCallback = new DDebugCallbackProxy(this);
-}
-
-rtDDebugCallback::~rtDDebugCallback()
-{
- rtSafeDelete(m_pCallback);
-}
-
-const DDebugCallback* rtDDebugCallback::getWrappedCallback()
-{
- return dynamic_cast(m_pCallback);
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#include "rt_DDebug.h"
+#include "rt_String.h"
+
+#include "DDebug.h"
+
+using namespace doubango_rt::BackEnd;
+using namespace Platform;
+using namespace std;
+
+class DDebugCallbackProxy : public DDebugCallback
+{
+public:
+ DDebugCallbackProxy(rtDDebugCallback^ pCallback)
+ {
+ m_pCallback = pCallback;
+ }
+
+ ~DDebugCallbackProxy()
+ {
+
+ }
+
+ virtual int OnDebugInfo(const char* message)
+ {
+ return m_pCallback->m_pI->OnDebugInfo(rtString::toString(message));
+ }
+
+ virtual int OnDebugWarn(const char* message)
+ {
+ return m_pCallback->m_pI->OnDebugWarn(rtString::toString(message));
+ }
+
+ virtual int OnDebugError(const char* message)
+ {
+ return m_pCallback->m_pI->OnDebugError(rtString::toString(message));
+ }
+
+ virtual int OnDebugFatal(const char* message)
+ {
+ return m_pCallback->m_pI->OnDebugFatal(rtString::toString(message));
+ }
+
+private:
+ rtDDebugCallback^ m_pCallback;
+};
+
+rtDDebugCallback::rtDDebugCallback(rtIDDebugCallback^ pI)
+{
+ m_pI = pI;
+ m_pCallback = new DDebugCallbackProxy(this);
+}
+
+rtDDebugCallback::~rtDDebugCallback()
+{
+ rtSafeDelete(m_pCallback);
+}
+
+const DDebugCallback* rtDDebugCallback::getWrappedCallback()
+{
+ return dynamic_cast(m_pCallback);
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_Enums.cxx b/bindings/winrt/doubango_rt/src/rt_Enums.cxx
similarity index 94%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_Enums.cxx
rename to bindings/winrt/doubango_rt/src/rt_Enums.cxx
index f6dfd615..fa2645cc 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_Enums.cxx
+++ b/bindings/winrt/doubango_rt/src/rt_Enums.cxx
@@ -1,17 +1,17 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
*/#include "rt_enums.h"
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_MediaContent.cxx b/bindings/winrt/doubango_rt/src/rt_MediaContent.cxx
similarity index 97%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_MediaContent.cxx
rename to bindings/winrt/doubango_rt/src/rt_MediaContent.cxx
index 5e285713..623cb1f6 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_MediaContent.cxx
+++ b/bindings/winrt/doubango_rt/src/rt_MediaContent.cxx
@@ -1,17 +1,17 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
*/
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_MediaSessionMgr.cxx b/bindings/winrt/doubango_rt/src/rt_MediaSessionMgr.cxx
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_MediaSessionMgr.cxx
rename to bindings/winrt/doubango_rt/src/rt_MediaSessionMgr.cxx
index 7201295c..7d2c6f09 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_MediaSessionMgr.cxx
+++ b/bindings/winrt/doubango_rt/src/rt_MediaSessionMgr.cxx
@@ -1,374 +1,374 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#include "rt_MediaSessionMgr.h"
-#include "rt_Enums.h"
-#include "rt_String.h"
-
-#include "MediaSessionMgr.h"
-
-using namespace doubango_rt::BackEnd;
-using namespace Platform;
-using namespace std;
-
-rtCodec::rtCodec(struct tmedia_codec_s* pCodec)
-{
- m_pCodec = new Codec(pCodec);
-}
-
-rtCodec::~rtCodec()
-{
- rtSafeDelete(m_pCodec);
-}
-
-enum class rt_twrap_media_type_t rtCodec::getMediaType()
-{
- return (rt_twrap_media_type_t)m_pCodec->getMediaType();
-}
-
-Platform::String^ rtCodec::getName()
-{
- return rtString::toString(m_pCodec->getName());
-}
-
-Platform::String^ rtCodec::getDescription()
-{
- return rtString::toString(m_pCodec->getDescription());
-}
-
-Platform::String^ rtCodec::getNegFormat()
-{
- return rtString::toString(m_pCodec->getNegFormat());
-}
-
-int rtCodec::getAudioSamplingRate()
-{
- return m_pCodec->getAudioSamplingRate();
-}
-
-int rtCodec::getAudioChannels()
-{
- return m_pCodec->getAudioChannels();
-}
-
-int rtCodec::getAudioPTime()
-{
- return m_pCodec->getAudioPTime();
-}
-
-
-rtMediaSessionMgr::rtMediaSessionMgr(struct tmedia_session_mgr_s* pWrappedMgr)
-{
- m_pMediaSessionMgr = new MediaSessionMgr(pWrappedMgr);
-}
-
-rtMediaSessionMgr::~rtMediaSessionMgr()
-{
- rtSafeDelete(m_pMediaSessionMgr);
-}
-
-bool rtMediaSessionMgr::sessionSetInt32(rt_twrap_media_type_t media, Platform::String^ key, int32 value)
-{
- return m_pMediaSessionMgr->sessionSetInt32((twrap_media_type_t)media, rtString::toUtf8(key).data(), value);
-}
-
-int32 rtMediaSessionMgr::sessionGetInt32(rt_twrap_media_type_t media, Platform::String^ key)
-{
- return m_pMediaSessionMgr->sessionGetInt32((twrap_media_type_t)media, rtString::toUtf8(key).data());
-}
-
-bool rtMediaSessionMgr::consumerSetInt32(rt_twrap_media_type_t media, Platform::String^ key, int32 value)
-{
- return m_pMediaSessionMgr->consumerSetInt32((twrap_media_type_t)media, rtString::toUtf8(key).data(), value);
-}
-
-bool rtMediaSessionMgr::consumerSetInt64(rt_twrap_media_type_t media, Platform::String^ key, int64 value)
-{
- return m_pMediaSessionMgr->consumerSetInt64((twrap_media_type_t)media, rtString::toUtf8(key).data(), value);
-}
-
-bool rtMediaSessionMgr::producerSetInt32(rt_twrap_media_type_t media, Platform::String^ key, int32 value)
-{
- return m_pMediaSessionMgr->producerSetInt32((twrap_media_type_t)media, rtString::toUtf8(key).data(), value);
-}
-
-bool rtMediaSessionMgr::producerSetInt64(rt_twrap_media_type_t media, Platform::String^ key, int64 value)
-{
- return m_pMediaSessionMgr->producerSetInt64((twrap_media_type_t)media, rtString::toUtf8(key).data(), value);
-}
-
-rtCodec^ rtMediaSessionMgr::producerGetCodec(rt_twrap_media_type_t media)
-{
- Codec* c = m_pMediaSessionMgr->producerGetCodec((twrap_media_type_t)media);
- if(c)
- {
- rtCodec^ codec = ref new rtCodec(const_cast(c->getWrappedCodec()));
- rtSafeDelete(c);
- return codec;
- }
- return nullptr;
-}
-
-unsigned int rtMediaSessionMgr::registerAudioPluginFromFile(Platform::String^ path)
-{
- return MediaSessionMgr::registerAudioPluginFromFile(rtString::toUtf8(path).data());
-}
-
-uint64 rtMediaSessionMgr::getSessionId(rt_twrap_media_type_t media)
-{
- return m_pMediaSessionMgr->getSessionId((twrap_media_type_t)media);
-}
-
-bool rtMediaSessionMgr::defaultsSetProfile(rt_tmedia_profile_t profile)
-{
- return MediaSessionMgr::defaultsSetProfile((tmedia_profile_t) profile);
-}
-
-rt_tmedia_profile_t rtMediaSessionMgr::defaultsGetProfile()
-{
- return (rt_tmedia_profile_t)MediaSessionMgr::defaultsGetProfile();
-}
-
-bool rtMediaSessionMgr::defaultsSetPrefVideoSize(enum class rt_tmedia_pref_video_size_t pref_video_size)
-{
- return MediaSessionMgr::defaultsSetPrefVideoSize((tmedia_pref_video_size_t) pref_video_size);
-}
-
-bool rtMediaSessionMgr::defaultsSetJbMargin(uint32 jb_margin_ms)
-{
- return MediaSessionMgr::defaultsSetJbMargin(jb_margin_ms);
-}
-
-bool rtMediaSessionMgr::defaultsSetJbMaxLateRate(uint32 jb_late_rate_percent)
-{
- return MediaSessionMgr::defaultsSetJbMaxLateRate(jb_late_rate_percent);
-}
-
-bool rtMediaSessionMgr::defaultsSetEchoTail(uint32 echo_tail)
-{
- return MediaSessionMgr::defaultsSetEchoTail(echo_tail);
-}
-
-uint32 rtMediaSessionMgr::defaultsGetEchoTail()
-{
- return MediaSessionMgr::defaultsGetEchoTail();
-}
-
-bool rtMediaSessionMgr::defaultsSetEchoSkew(uint32 echo_skew)
-{
- return MediaSessionMgr::defaultsSetEchoSkew(echo_skew);
-}
-
-bool rtMediaSessionMgr::defaultsSetEchoSuppEnabled(bool echo_supp_enabled)
-{
- return MediaSessionMgr::defaultsSetEchoSuppEnabled(echo_supp_enabled);
-}
-
-bool rtMediaSessionMgr::defaultsGetEchoSuppEnabled()
-{
- return MediaSessionMgr::defaultsGetEchoSuppEnabled();
-}
-
-bool rtMediaSessionMgr::defaultsSetAgcEnabled(bool agc_enabled)
-{
- return MediaSessionMgr::defaultsSetAgcEnabled(agc_enabled);
-}
-
-bool rtMediaSessionMgr::defaultsGetAgcEnabled()
-{
- return MediaSessionMgr::defaultsGetAgcEnabled();
-}
-
-bool rtMediaSessionMgr::defaultsSetAgcLevel(float agc_level)
-{
- return MediaSessionMgr::defaultsSetAgcLevel(agc_level);
-}
-
-float rtMediaSessionMgr::defaultsGetAgcLevel()
-{
- return MediaSessionMgr::defaultsGetAgcLevel();
-}
-
-bool rtMediaSessionMgr::defaultsSetVadEnabled(bool vad_enabled)
-{
- return MediaSessionMgr::defaultsSetVadEnabled(vad_enabled);
-}
-
-bool rtMediaSessionMgr::defaultsGetGetVadEnabled()
-{
- return MediaSessionMgr::defaultsGetGetVadEnabled();
-}
-
-bool rtMediaSessionMgr::defaultsSetNoiseSuppEnabled(bool noise_supp_enabled)
-{
- return MediaSessionMgr::defaultsSetNoiseSuppEnabled(noise_supp_enabled);
-}
-
-bool rtMediaSessionMgr::defaultsGetNoiseSuppEnabled()
-{
- return MediaSessionMgr::defaultsGetNoiseSuppEnabled();
-}
-
-bool rtMediaSessionMgr::defaultsSetNoiseSuppLevel(int32 noise_supp_level)
-{
- return MediaSessionMgr::defaultsSetNoiseSuppLevel(noise_supp_level);
-}
-
-int32 rtMediaSessionMgr::defaultsGetNoiseSuppLevel()
-{
- return MediaSessionMgr::defaultsGetNoiseSuppLevel();
-}
-
-bool rtMediaSessionMgr::defaultsSet100relEnabled(bool _100rel_enabled)
-{
- return MediaSessionMgr::defaultsSet100relEnabled(_100rel_enabled);
-}
-
-bool rtMediaSessionMgr::defaultsGet100relEnabled()
-{
- return MediaSessionMgr::defaultsGet100relEnabled();
-}
-
-bool rtMediaSessionMgr::defaultsSetScreenSize(int32 sx, int32 sy)
-{
- return MediaSessionMgr::defaultsSetScreenSize(sx, sy);
-}
-
-bool rtMediaSessionMgr::defaultsSetAudioGain(int32 producer_gain, int32 consumer_gain)
-{
- return MediaSessionMgr::defaultsSetAudioGain(producer_gain, consumer_gain);
-}
-
-bool rtMediaSessionMgr::defaultsSetRtpPortRange(uint16 range_start, uint16 range_stop)
-{
- return MediaSessionMgr::defaultsSetRtpPortRange(range_start, range_stop);
-}
-
-bool rtMediaSessionMgr::defaultsSetRtpSymetricEnabled(bool enabled)
-{
- return MediaSessionMgr::defaultsSetRtpSymetricEnabled(enabled);
-}
-
-bool rtMediaSessionMgr::defaultsSetMediaType(enum class rt_twrap_media_type_t media_type)
-{
- return MediaSessionMgr::defaultsSetMediaType((twrap_media_type_t) media_type);
-}
-
-bool rtMediaSessionMgr::defaultsSetVolume(int32 volume)
-{
- return MediaSessionMgr::defaultsSetVolume(volume);
-}
-
-int32 rtMediaSessionMgr::defaultsGetVolume()
-{
- return MediaSessionMgr::defaultsGetVolume();
-}
-
-bool rtMediaSessionMgr::defaultsSetInviteSessionTimers(int32 timeout, Platform::String^ refresher)
-{
- return MediaSessionMgr::defaultsSetInviteSessionTimers(timeout, rtString::toUtf8(refresher).data());
-}
-
-bool rtMediaSessionMgr::defaultsSetSRtpMode(enum class rt_tmedia_srtp_mode_t mode)
-{
- return MediaSessionMgr::defaultsSetSRtpMode((tmedia_srtp_mode_t) mode);
-}
-
-enum class rt_tmedia_srtp_mode_t rtMediaSessionMgr::defaultsGetSRtpMode()
-{
- return (rt_tmedia_srtp_mode_t)MediaSessionMgr::defaultsGetSRtpMode();
-}
-
-bool rtMediaSessionMgr::defaultsSetSRtpType(enum class rt_tmedia_srtp_type_t srtp_type)
-{
- return MediaSessionMgr::defaultsSetSRtpType((tmedia_srtp_type_t) srtp_type);
-}
-
-enum class rt_tmedia_srtp_type_t rtMediaSessionMgr::defaultsGetSRtpType()
-{
- return (rt_tmedia_srtp_type_t)MediaSessionMgr::defaultsGetSRtpType();
-}
-
-bool rtMediaSessionMgr::defaultsSetRtcpEnabled(bool enabled)
-{
- return MediaSessionMgr::defaultsSetRtcpEnabled(enabled);
-}
-
-bool rtMediaSessionMgr::defaultsGetRtcpEnabled()
-{
- return MediaSessionMgr::defaultsGetRtcpEnabled();
-}
-
-bool rtMediaSessionMgr::defaultsSetRtcpMuxEnabled(bool enabled)
-{
- return MediaSessionMgr::defaultsSetRtcpMuxEnabled(enabled);
-}
-
-bool rtMediaSessionMgr::defaultsGetRtcpMuxEnabled()
-{
- return MediaSessionMgr::defaultsGetRtcpMuxEnabled();
-}
-
-bool rtMediaSessionMgr::defaultsSetIceEnabled(bool ice_enabled)
-{
- return MediaSessionMgr::defaultsSetIceEnabled(ice_enabled);
-}
-
-bool rtMediaSessionMgr::defaultsSetByPassEncoding(bool enabled)
-{
- return MediaSessionMgr::defaultsSetByPassEncoding(enabled);
-}
-
-bool rtMediaSessionMgr::defaultsGetByPassEncoding()
-{
- return MediaSessionMgr::defaultsGetByPassEncoding();
-}
-
-bool rtMediaSessionMgr::defaultsSetByPassDecoding(bool enabled)
-{
- return MediaSessionMgr::defaultsSetByPassDecoding(enabled);
-}
-
-bool rtMediaSessionMgr::defaultsGetByPassDecoding()
-{
- return MediaSessionMgr::defaultsGetByPassDecoding();
-}
-
-bool rtMediaSessionMgr::defaultsSetVideoJbEnabled(bool enabled)
-{
- return MediaSessionMgr::defaultsSetVideoJbEnabled(enabled);
-}
-
-bool rtMediaSessionMgr::defaultsGetVideoJbEnabled()
-{
- return MediaSessionMgr::defaultsGetVideoJbEnabled();
-}
-
-bool rtMediaSessionMgr::defaultsSetRtpBuffSize(unsigned buffSize)
-{
- return MediaSessionMgr::defaultsSetRtpBuffSize(buffSize);
-}
-
-unsigned rtMediaSessionMgr::defaultsGetRtpBuffSize()
-{
- return MediaSessionMgr::defaultsGetRtpBuffSize();
-}
-
-bool rtMediaSessionMgr::defaultsSetAvpfTail(unsigned tail_min, unsigned tail_max)
-{
- return MediaSessionMgr::defaultsSetAvpfTail(tail_min, tail_max);
-}
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#include "rt_MediaSessionMgr.h"
+#include "rt_Enums.h"
+#include "rt_String.h"
+
+#include "MediaSessionMgr.h"
+
+using namespace doubango_rt::BackEnd;
+using namespace Platform;
+using namespace std;
+
+rtCodec::rtCodec(struct tmedia_codec_s* pCodec)
+{
+ m_pCodec = new Codec(pCodec);
+}
+
+rtCodec::~rtCodec()
+{
+ rtSafeDelete(m_pCodec);
+}
+
+enum class rt_twrap_media_type_t rtCodec::getMediaType()
+{
+ return (rt_twrap_media_type_t)m_pCodec->getMediaType();
+}
+
+Platform::String^ rtCodec::getName()
+{
+ return rtString::toString(m_pCodec->getName());
+}
+
+Platform::String^ rtCodec::getDescription()
+{
+ return rtString::toString(m_pCodec->getDescription());
+}
+
+Platform::String^ rtCodec::getNegFormat()
+{
+ return rtString::toString(m_pCodec->getNegFormat());
+}
+
+int rtCodec::getAudioSamplingRate()
+{
+ return m_pCodec->getAudioSamplingRate();
+}
+
+int rtCodec::getAudioChannels()
+{
+ return m_pCodec->getAudioChannels();
+}
+
+int rtCodec::getAudioPTime()
+{
+ return m_pCodec->getAudioPTime();
+}
+
+
+rtMediaSessionMgr::rtMediaSessionMgr(struct tmedia_session_mgr_s* pWrappedMgr)
+{
+ m_pMediaSessionMgr = new MediaSessionMgr(pWrappedMgr);
+}
+
+rtMediaSessionMgr::~rtMediaSessionMgr()
+{
+ rtSafeDelete(m_pMediaSessionMgr);
+}
+
+bool rtMediaSessionMgr::sessionSetInt32(rt_twrap_media_type_t media, Platform::String^ key, int32 value)
+{
+ return m_pMediaSessionMgr->sessionSetInt32((twrap_media_type_t)media, rtString::toUtf8(key).data(), value);
+}
+
+int32 rtMediaSessionMgr::sessionGetInt32(rt_twrap_media_type_t media, Platform::String^ key)
+{
+ return m_pMediaSessionMgr->sessionGetInt32((twrap_media_type_t)media, rtString::toUtf8(key).data());
+}
+
+bool rtMediaSessionMgr::consumerSetInt32(rt_twrap_media_type_t media, Platform::String^ key, int32 value)
+{
+ return m_pMediaSessionMgr->consumerSetInt32((twrap_media_type_t)media, rtString::toUtf8(key).data(), value);
+}
+
+bool rtMediaSessionMgr::consumerSetInt64(rt_twrap_media_type_t media, Platform::String^ key, int64 value)
+{
+ return m_pMediaSessionMgr->consumerSetInt64((twrap_media_type_t)media, rtString::toUtf8(key).data(), value);
+}
+
+bool rtMediaSessionMgr::producerSetInt32(rt_twrap_media_type_t media, Platform::String^ key, int32 value)
+{
+ return m_pMediaSessionMgr->producerSetInt32((twrap_media_type_t)media, rtString::toUtf8(key).data(), value);
+}
+
+bool rtMediaSessionMgr::producerSetInt64(rt_twrap_media_type_t media, Platform::String^ key, int64 value)
+{
+ return m_pMediaSessionMgr->producerSetInt64((twrap_media_type_t)media, rtString::toUtf8(key).data(), value);
+}
+
+rtCodec^ rtMediaSessionMgr::producerGetCodec(rt_twrap_media_type_t media)
+{
+ Codec* c = m_pMediaSessionMgr->producerGetCodec((twrap_media_type_t)media);
+ if(c)
+ {
+ rtCodec^ codec = ref new rtCodec(const_cast(c->getWrappedCodec()));
+ rtSafeDelete(c);
+ return codec;
+ }
+ return nullptr;
+}
+
+unsigned int rtMediaSessionMgr::registerAudioPluginFromFile(Platform::String^ path)
+{
+ return MediaSessionMgr::registerAudioPluginFromFile(rtString::toUtf8(path).data());
+}
+
+uint64 rtMediaSessionMgr::getSessionId(rt_twrap_media_type_t media)
+{
+ return m_pMediaSessionMgr->getSessionId((twrap_media_type_t)media);
+}
+
+bool rtMediaSessionMgr::defaultsSetProfile(rt_tmedia_profile_t profile)
+{
+ return MediaSessionMgr::defaultsSetProfile((tmedia_profile_t) profile);
+}
+
+rt_tmedia_profile_t rtMediaSessionMgr::defaultsGetProfile()
+{
+ return (rt_tmedia_profile_t)MediaSessionMgr::defaultsGetProfile();
+}
+
+bool rtMediaSessionMgr::defaultsSetPrefVideoSize(enum class rt_tmedia_pref_video_size_t pref_video_size)
+{
+ return MediaSessionMgr::defaultsSetPrefVideoSize((tmedia_pref_video_size_t) pref_video_size);
+}
+
+bool rtMediaSessionMgr::defaultsSetJbMargin(uint32 jb_margin_ms)
+{
+ return MediaSessionMgr::defaultsSetJbMargin(jb_margin_ms);
+}
+
+bool rtMediaSessionMgr::defaultsSetJbMaxLateRate(uint32 jb_late_rate_percent)
+{
+ return MediaSessionMgr::defaultsSetJbMaxLateRate(jb_late_rate_percent);
+}
+
+bool rtMediaSessionMgr::defaultsSetEchoTail(uint32 echo_tail)
+{
+ return MediaSessionMgr::defaultsSetEchoTail(echo_tail);
+}
+
+uint32 rtMediaSessionMgr::defaultsGetEchoTail()
+{
+ return MediaSessionMgr::defaultsGetEchoTail();
+}
+
+bool rtMediaSessionMgr::defaultsSetEchoSkew(uint32 echo_skew)
+{
+ return MediaSessionMgr::defaultsSetEchoSkew(echo_skew);
+}
+
+bool rtMediaSessionMgr::defaultsSetEchoSuppEnabled(bool echo_supp_enabled)
+{
+ return MediaSessionMgr::defaultsSetEchoSuppEnabled(echo_supp_enabled);
+}
+
+bool rtMediaSessionMgr::defaultsGetEchoSuppEnabled()
+{
+ return MediaSessionMgr::defaultsGetEchoSuppEnabled();
+}
+
+bool rtMediaSessionMgr::defaultsSetAgcEnabled(bool agc_enabled)
+{
+ return MediaSessionMgr::defaultsSetAgcEnabled(agc_enabled);
+}
+
+bool rtMediaSessionMgr::defaultsGetAgcEnabled()
+{
+ return MediaSessionMgr::defaultsGetAgcEnabled();
+}
+
+bool rtMediaSessionMgr::defaultsSetAgcLevel(float agc_level)
+{
+ return MediaSessionMgr::defaultsSetAgcLevel(agc_level);
+}
+
+float rtMediaSessionMgr::defaultsGetAgcLevel()
+{
+ return MediaSessionMgr::defaultsGetAgcLevel();
+}
+
+bool rtMediaSessionMgr::defaultsSetVadEnabled(bool vad_enabled)
+{
+ return MediaSessionMgr::defaultsSetVadEnabled(vad_enabled);
+}
+
+bool rtMediaSessionMgr::defaultsGetGetVadEnabled()
+{
+ return MediaSessionMgr::defaultsGetGetVadEnabled();
+}
+
+bool rtMediaSessionMgr::defaultsSetNoiseSuppEnabled(bool noise_supp_enabled)
+{
+ return MediaSessionMgr::defaultsSetNoiseSuppEnabled(noise_supp_enabled);
+}
+
+bool rtMediaSessionMgr::defaultsGetNoiseSuppEnabled()
+{
+ return MediaSessionMgr::defaultsGetNoiseSuppEnabled();
+}
+
+bool rtMediaSessionMgr::defaultsSetNoiseSuppLevel(int32 noise_supp_level)
+{
+ return MediaSessionMgr::defaultsSetNoiseSuppLevel(noise_supp_level);
+}
+
+int32 rtMediaSessionMgr::defaultsGetNoiseSuppLevel()
+{
+ return MediaSessionMgr::defaultsGetNoiseSuppLevel();
+}
+
+bool rtMediaSessionMgr::defaultsSet100relEnabled(bool _100rel_enabled)
+{
+ return MediaSessionMgr::defaultsSet100relEnabled(_100rel_enabled);
+}
+
+bool rtMediaSessionMgr::defaultsGet100relEnabled()
+{
+ return MediaSessionMgr::defaultsGet100relEnabled();
+}
+
+bool rtMediaSessionMgr::defaultsSetScreenSize(int32 sx, int32 sy)
+{
+ return MediaSessionMgr::defaultsSetScreenSize(sx, sy);
+}
+
+bool rtMediaSessionMgr::defaultsSetAudioGain(int32 producer_gain, int32 consumer_gain)
+{
+ return MediaSessionMgr::defaultsSetAudioGain(producer_gain, consumer_gain);
+}
+
+bool rtMediaSessionMgr::defaultsSetRtpPortRange(uint16 range_start, uint16 range_stop)
+{
+ return MediaSessionMgr::defaultsSetRtpPortRange(range_start, range_stop);
+}
+
+bool rtMediaSessionMgr::defaultsSetRtpSymetricEnabled(bool enabled)
+{
+ return MediaSessionMgr::defaultsSetRtpSymetricEnabled(enabled);
+}
+
+bool rtMediaSessionMgr::defaultsSetMediaType(enum class rt_twrap_media_type_t media_type)
+{
+ return MediaSessionMgr::defaultsSetMediaType((twrap_media_type_t) media_type);
+}
+
+bool rtMediaSessionMgr::defaultsSetVolume(int32 volume)
+{
+ return MediaSessionMgr::defaultsSetVolume(volume);
+}
+
+int32 rtMediaSessionMgr::defaultsGetVolume()
+{
+ return MediaSessionMgr::defaultsGetVolume();
+}
+
+bool rtMediaSessionMgr::defaultsSetInviteSessionTimers(int32 timeout, Platform::String^ refresher)
+{
+ return MediaSessionMgr::defaultsSetInviteSessionTimers(timeout, rtString::toUtf8(refresher).data());
+}
+
+bool rtMediaSessionMgr::defaultsSetSRtpMode(enum class rt_tmedia_srtp_mode_t mode)
+{
+ return MediaSessionMgr::defaultsSetSRtpMode((tmedia_srtp_mode_t) mode);
+}
+
+enum class rt_tmedia_srtp_mode_t rtMediaSessionMgr::defaultsGetSRtpMode()
+{
+ return (rt_tmedia_srtp_mode_t)MediaSessionMgr::defaultsGetSRtpMode();
+}
+
+bool rtMediaSessionMgr::defaultsSetSRtpType(enum class rt_tmedia_srtp_type_t srtp_type)
+{
+ return MediaSessionMgr::defaultsSetSRtpType((tmedia_srtp_type_t) srtp_type);
+}
+
+enum class rt_tmedia_srtp_type_t rtMediaSessionMgr::defaultsGetSRtpType()
+{
+ return (rt_tmedia_srtp_type_t)MediaSessionMgr::defaultsGetSRtpType();
+}
+
+bool rtMediaSessionMgr::defaultsSetRtcpEnabled(bool enabled)
+{
+ return MediaSessionMgr::defaultsSetRtcpEnabled(enabled);
+}
+
+bool rtMediaSessionMgr::defaultsGetRtcpEnabled()
+{
+ return MediaSessionMgr::defaultsGetRtcpEnabled();
+}
+
+bool rtMediaSessionMgr::defaultsSetRtcpMuxEnabled(bool enabled)
+{
+ return MediaSessionMgr::defaultsSetRtcpMuxEnabled(enabled);
+}
+
+bool rtMediaSessionMgr::defaultsGetRtcpMuxEnabled()
+{
+ return MediaSessionMgr::defaultsGetRtcpMuxEnabled();
+}
+
+bool rtMediaSessionMgr::defaultsSetIceEnabled(bool ice_enabled)
+{
+ return MediaSessionMgr::defaultsSetIceEnabled(ice_enabled);
+}
+
+bool rtMediaSessionMgr::defaultsSetByPassEncoding(bool enabled)
+{
+ return MediaSessionMgr::defaultsSetByPassEncoding(enabled);
+}
+
+bool rtMediaSessionMgr::defaultsGetByPassEncoding()
+{
+ return MediaSessionMgr::defaultsGetByPassEncoding();
+}
+
+bool rtMediaSessionMgr::defaultsSetByPassDecoding(bool enabled)
+{
+ return MediaSessionMgr::defaultsSetByPassDecoding(enabled);
+}
+
+bool rtMediaSessionMgr::defaultsGetByPassDecoding()
+{
+ return MediaSessionMgr::defaultsGetByPassDecoding();
+}
+
+bool rtMediaSessionMgr::defaultsSetVideoJbEnabled(bool enabled)
+{
+ return MediaSessionMgr::defaultsSetVideoJbEnabled(enabled);
+}
+
+bool rtMediaSessionMgr::defaultsGetVideoJbEnabled()
+{
+ return MediaSessionMgr::defaultsGetVideoJbEnabled();
+}
+
+bool rtMediaSessionMgr::defaultsSetRtpBuffSize(unsigned buffSize)
+{
+ return MediaSessionMgr::defaultsSetRtpBuffSize(buffSize);
+}
+
+unsigned rtMediaSessionMgr::defaultsGetRtpBuffSize()
+{
+ return MediaSessionMgr::defaultsGetRtpBuffSize();
+}
+
+bool rtMediaSessionMgr::defaultsSetAvpfTail(unsigned tail_min, unsigned tail_max)
+{
+ return MediaSessionMgr::defaultsSetAvpfTail(tail_min, tail_max);
+}
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_Msrp.cxx b/bindings/winrt/doubango_rt/src/rt_Msrp.cxx
similarity index 95%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_Msrp.cxx
rename to bindings/winrt/doubango_rt/src/rt_Msrp.cxx
index 42652f5e..1d09f06a 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_Msrp.cxx
+++ b/bindings/winrt/doubango_rt/src/rt_Msrp.cxx
@@ -1,194 +1,194 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#include "rt_Msrp.h"
-#include "rt_String.h"
-#include "rt_SipSession.h"
-
-#include "SipSession.h"
-#include "Msrp.h"
-
-#include
-
-using namespace doubango_rt::BackEnd;
-using namespace Platform;
-using namespace std;
-
-
-//
-// rtMsrpMessage
-//
-
-rtMsrpMessage::rtMsrpMessage(struct tmsrp_message_s *message)
-{
- m_pMsrpMessage= new MsrpMessage(message);
-}
-
-rtMsrpMessage::~rtMsrpMessage()
-{
- rtSafeDelete(m_pMsrpMessage);
-}
-
-bool rtMsrpMessage::isRequest()
-{
- return m_pMsrpMessage->isRequest();
-}
-
-short rtMsrpMessage::getCode()
-{
- return m_pMsrpMessage->getCode();
-}
-
-String^ rtMsrpMessage::getPhrase()
-{
- return rtString::toString(m_pMsrpMessage->getPhrase());
-}
-
-rt_tmsrp_request_type_t rtMsrpMessage::getRequestType()
-{
- return (rt_tmsrp_request_type_t)m_pMsrpMessage->getRequestType();
-}
-
-#if COM_VISIBLE
-rtMsrpByteRange^ rtMsrpMessage::getByteRange()
-{
- int64_t _start = -1, _end = -1, _total = -1;
- m_pMsrpMessage->getByteRange(&_start, &_end, &_total);
- return ref new rtMsrpByteRange(_start, _end, _total);
-}
-#else
-void rtMsrpMessage::getByteRange(IntPtr start, IntPtr end, IntPtr total)
-{
- int64_t _start = -1, _end = -1, _total = -1;
- m_pMsrpMessage->getByteRange(&_start, &_end, &_total);
- // IntPtr is 32bit or 64bit -> 32 to be sure not memory errors will raise
- *((int32_t*)(void*)start) = (int32_t)_start;
- *((int32_t*)(void*)end) = (int32_t)_end;
- *((int32_t*)(void*)total) = (int32_t)_total;
-}
-#endif /* COM_VISIBLE */
-
-bool rtMsrpMessage::isLastChunck()
-{
- return m_pMsrpMessage->isLastChunck();
-}
-
-bool rtMsrpMessage::isFirstChunck()
-{
- return m_pMsrpMessage->isFirstChunck();
-}
-
-bool rtMsrpMessage::isSuccessReport()
-{
- return m_pMsrpMessage->isSuccessReport();
-}
-
-String^ rtMsrpMessage::getMsrpHeaderValue(String^ name)
-{
- return rtString::toString(m_pMsrpMessage->getMsrpHeaderValue(rtString::toUtf8(name).data()));
-}
-
-String^ rtMsrpMessage::getMsrpHeaderParamValue(String^ name, String^ param)
-{
- return rtString::toString(m_pMsrpMessage->getMsrpHeaderParamValue(rtString::toUtf8(name).data(), rtString::toUtf8(param).data()));
-}
-
-unsigned rtMsrpMessage::getMsrpContentLength()
-{
- return m_pMsrpMessage->getMsrpContentLength();
-}
-
-#if COM_VISIBLE
-String^ rtMsrpMessage::getMsrpContent(unsigned maxsize)
-{
- if(maxsize)
- {
- void* _s = calloc(maxsize + 1, 1);
- if(_s)
- {
- unsigned len = m_pMsrpMessage->getMsrpContent(_s, maxsize);
- String^ s = rtString::toString((const char*)_s);
- free(_s);
- return s;
- }
- }
- return nullptr;
-}
-#else
-unsigned rtMsrpMessage::getMsrpContent(IntPtr output, unsigned maxsize)
-{
- return m_pMsrpMessage->getMsrpContent((void*)output, maxsize);
-}
-#endif /* COM_VISIBLE */
-
-
-//
-// rtMsrpEvent
-//
-
-rtMsrpEvent::rtMsrpEvent(const struct tmsrp_event_s *event)
-{
- m_pMsrpEvent = new MsrpEvent(event);
-}
-
-rtMsrpEvent::~rtMsrpEvent()
-{
- rtSafeDelete(m_pMsrpEvent);
-}
-
-rt_tmsrp_event_type_t rtMsrpEvent::getType()
-{
- return (rt_tmsrp_event_type_t)m_pMsrpEvent->getType();
-}
-
-rtMsrpSession^ rtMsrpEvent::getSipSession()
-{
- if(m_pMsrpEvent->getSipSession())
- {
- assert(0); // FIXME: Not implemented
- return nullptr;
- // return ref new rtMsrpSession(m_pMsrpEvent->getSipSession()->getWrappedSession());
- }
- return nullptr;
-}
-
-rtMsrpMessage^ rtMsrpEvent::getMessage()
-{
- if(m_pMsrpEvent->getMessage())
- {
- return ref new rtMsrpMessage(const_cast(const_cast(m_pMsrpEvent->getMessage())->getWrappedMsrpMessage()));
- }
- return nullptr;
-}
-
-//
-// rtMsrpCallback
-//
-
-rtMsrpCallback::rtMsrpCallback(rtIMsrpCallback^ pI)
-{
- m_pI = pI;
- m_pCallback = new MsrpCallback();
-}
-
-rtMsrpCallback::~rtMsrpCallback()
-{
- rtSafeDelete(m_pCallback);
-}
-
-
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#include "rt_Msrp.h"
+#include "rt_String.h"
+#include "rt_SipSession.h"
+
+#include "SipSession.h"
+#include "Msrp.h"
+
+#include
+
+using namespace doubango_rt::BackEnd;
+using namespace Platform;
+using namespace std;
+
+
+//
+// rtMsrpMessage
+//
+
+rtMsrpMessage::rtMsrpMessage(struct tmsrp_message_s *message)
+{
+ m_pMsrpMessage= new MsrpMessage(message);
+}
+
+rtMsrpMessage::~rtMsrpMessage()
+{
+ rtSafeDelete(m_pMsrpMessage);
+}
+
+bool rtMsrpMessage::isRequest()
+{
+ return m_pMsrpMessage->isRequest();
+}
+
+short rtMsrpMessage::getCode()
+{
+ return m_pMsrpMessage->getCode();
+}
+
+String^ rtMsrpMessage::getPhrase()
+{
+ return rtString::toString(m_pMsrpMessage->getPhrase());
+}
+
+rt_tmsrp_request_type_t rtMsrpMessage::getRequestType()
+{
+ return (rt_tmsrp_request_type_t)m_pMsrpMessage->getRequestType();
+}
+
+#if COM_VISIBLE
+rtMsrpByteRange^ rtMsrpMessage::getByteRange()
+{
+ int64_t _start = -1, _end = -1, _total = -1;
+ m_pMsrpMessage->getByteRange(&_start, &_end, &_total);
+ return ref new rtMsrpByteRange(_start, _end, _total);
+}
+#else
+void rtMsrpMessage::getByteRange(IntPtr start, IntPtr end, IntPtr total)
+{
+ int64_t _start = -1, _end = -1, _total = -1;
+ m_pMsrpMessage->getByteRange(&_start, &_end, &_total);
+ // IntPtr is 32bit or 64bit -> 32 to be sure not memory errors will raise
+ *((int32_t*)(void*)start) = (int32_t)_start;
+ *((int32_t*)(void*)end) = (int32_t)_end;
+ *((int32_t*)(void*)total) = (int32_t)_total;
+}
+#endif /* COM_VISIBLE */
+
+bool rtMsrpMessage::isLastChunck()
+{
+ return m_pMsrpMessage->isLastChunck();
+}
+
+bool rtMsrpMessage::isFirstChunck()
+{
+ return m_pMsrpMessage->isFirstChunck();
+}
+
+bool rtMsrpMessage::isSuccessReport()
+{
+ return m_pMsrpMessage->isSuccessReport();
+}
+
+String^ rtMsrpMessage::getMsrpHeaderValue(String^ name)
+{
+ return rtString::toString(m_pMsrpMessage->getMsrpHeaderValue(rtString::toUtf8(name).data()));
+}
+
+String^ rtMsrpMessage::getMsrpHeaderParamValue(String^ name, String^ param)
+{
+ return rtString::toString(m_pMsrpMessage->getMsrpHeaderParamValue(rtString::toUtf8(name).data(), rtString::toUtf8(param).data()));
+}
+
+unsigned rtMsrpMessage::getMsrpContentLength()
+{
+ return m_pMsrpMessage->getMsrpContentLength();
+}
+
+#if COM_VISIBLE
+String^ rtMsrpMessage::getMsrpContent(unsigned maxsize)
+{
+ if(maxsize)
+ {
+ void* _s = calloc(maxsize + 1, 1);
+ if(_s)
+ {
+ unsigned len = m_pMsrpMessage->getMsrpContent(_s, maxsize);
+ String^ s = rtString::toString((const char*)_s);
+ free(_s);
+ return s;
+ }
+ }
+ return nullptr;
+}
+#else
+unsigned rtMsrpMessage::getMsrpContent(IntPtr output, unsigned maxsize)
+{
+ return m_pMsrpMessage->getMsrpContent((void*)output, maxsize);
+}
+#endif /* COM_VISIBLE */
+
+
+//
+// rtMsrpEvent
+//
+
+rtMsrpEvent::rtMsrpEvent(const struct tmsrp_event_s *event)
+{
+ m_pMsrpEvent = new MsrpEvent(event);
+}
+
+rtMsrpEvent::~rtMsrpEvent()
+{
+ rtSafeDelete(m_pMsrpEvent);
+}
+
+rt_tmsrp_event_type_t rtMsrpEvent::getType()
+{
+ return (rt_tmsrp_event_type_t)m_pMsrpEvent->getType();
+}
+
+rtMsrpSession^ rtMsrpEvent::getSipSession()
+{
+ if(m_pMsrpEvent->getSipSession())
+ {
+ assert(0); // FIXME: Not implemented
+ return nullptr;
+ // return ref new rtMsrpSession(m_pMsrpEvent->getSipSession()->getWrappedSession());
+ }
+ return nullptr;
+}
+
+rtMsrpMessage^ rtMsrpEvent::getMessage()
+{
+ if(m_pMsrpEvent->getMessage())
+ {
+ return ref new rtMsrpMessage(const_cast(const_cast(m_pMsrpEvent->getMessage())->getWrappedMsrpMessage()));
+ }
+ return nullptr;
+}
+
+//
+// rtMsrpCallback
+//
+
+rtMsrpCallback::rtMsrpCallback(rtIMsrpCallback^ pI)
+{
+ m_pI = pI;
+ m_pCallback = new MsrpCallback();
+}
+
+rtMsrpCallback::~rtMsrpCallback()
+{
+ rtSafeDelete(m_pCallback);
+}
+
+
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SMSEncoder.cxx b/bindings/winrt/doubango_rt/src/rt_SMSEncoder.cxx
similarity index 97%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SMSEncoder.cxx
rename to bindings/winrt/doubango_rt/src/rt_SMSEncoder.cxx
index 5e285713..623cb1f6 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SMSEncoder.cxx
+++ b/bindings/winrt/doubango_rt/src/rt_SMSEncoder.cxx
@@ -1,17 +1,17 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
*/
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipCallback.cxx b/bindings/winrt/doubango_rt/src/rt_SipCallback.cxx
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipCallback.cxx
rename to bindings/winrt/doubango_rt/src/rt_SipCallback.cxx
index 89b4f8e0..68c62997 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipCallback.cxx
+++ b/bindings/winrt/doubango_rt/src/rt_SipCallback.cxx
@@ -1,135 +1,135 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#include "rt_SipCallback.h"
-#include "rt_SipEvent.h"
-
-#include "SipEvent.h"
-#include "SipCallback.h"
-
-using namespace doubango_rt::BackEnd;
-using namespace Platform;
-using namespace std;
-
-class SipCallbackProxy : public SipCallback
-{
-public:
- SipCallbackProxy(rtSipCallback^ rtCallback)
- {
- m_pCallback = rtCallback;
- }
-
- virtual int OnDialogEvent(const DialogEvent* e) override
- {
- if(e && m_pCallback && m_pCallback->m_pI)
- {
- return m_pCallback->m_pI->OnDialogEvent(ref new rtDialogEvent(const_cast(const_cast(e)->getWrappedEvent())));
- }
- return 0;
- }
-
- virtual int OnStackEvent(const StackEvent* e) override
- {
- if(e && m_pCallback && m_pCallback->m_pI)
- {
- return m_pCallback->m_pI->OnStackEvent(ref new rtStackEvent(const_cast(const_cast(e)->getWrappedEvent())));
- }
- return 0;
- }
-
- virtual int OnInviteEvent(const InviteEvent* e) override
- {
- if(e && m_pCallback && m_pCallback->m_pI)
- {
- return m_pCallback->m_pI->OnInviteEvent(ref new rtInviteEvent(const_cast(const_cast(e)->getWrappedEvent())));
- }
- return 0;
- }
-
- virtual int OnMessagingEvent(const MessagingEvent* e) override
- {
- if(e && m_pCallback && m_pCallback->m_pI)
- {
- return m_pCallback->m_pI->OnMessagingEvent(ref new rtMessagingEvent(const_cast(const_cast(e)->getWrappedEvent())));
- }
- return 0;
- }
-
- virtual int OnInfoEvent(const InfoEvent* e) override
- {
- if(m_pCallback && m_pCallback->m_pI)
- {
- return m_pCallback->m_pI->OnInfoEvent(ref new rtInfoEvent(const_cast(const_cast(e)->getWrappedEvent())));
- }
- return 0;
- }
-
- virtual int OnOptionsEvent(const OptionsEvent* e) override
- {
- if(e && m_pCallback && m_pCallback->m_pI)
- {
- return m_pCallback->m_pI->OnOptionsEvent(ref new rtOptionsEvent(const_cast(const_cast(e)->getWrappedEvent())));
- }
- return 0;
- }
-
- virtual int OnPublicationEvent(const PublicationEvent* e) override
- {
- if(e && m_pCallback && m_pCallback->m_pI)
- {
- return m_pCallback->m_pI->OnPublicationEvent(ref new rtPublicationEvent(const_cast(const_cast(e)->getWrappedEvent())));
- }
- return 0;
- }
-
- virtual int OnRegistrationEvent(const RegistrationEvent* e) override
- {
- if(m_pCallback && m_pCallback->m_pI)
- {
- return m_pCallback->m_pI->OnRegistrationEvent(ref new rtRegistrationEvent(const_cast(const_cast(e)->getWrappedEvent())));
- }
- return 0;
- }
-
- virtual int OnSubscriptionEvent(const SubscriptionEvent* e) override
- {
- if(e && m_pCallback && m_pCallback->m_pI)
- {
- return m_pCallback->m_pI->OnSubscriptionEvent(ref new rtSubscriptionEvent(const_cast(const_cast(e)->getWrappedEvent())));
- }
- return 0;
- }
-
-private:
- rtSipCallback^ m_pCallback;
-};
-
-rtSipCallback::rtSipCallback(rtISipCallback^ pI)
-{
- m_pI = pI;
- m_pCallback = new SipCallbackProxy(this);
-}
-
-rtSipCallback::~rtSipCallback()
-{
- rtSafeDelete(m_pCallback);
-}
-
-const SipCallback* rtSipCallback::getWrappedCallback()
-{
- return dynamic_cast(m_pCallback);
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#include "rt_SipCallback.h"
+#include "rt_SipEvent.h"
+
+#include "SipEvent.h"
+#include "SipCallback.h"
+
+using namespace doubango_rt::BackEnd;
+using namespace Platform;
+using namespace std;
+
+class SipCallbackProxy : public SipCallback
+{
+public:
+ SipCallbackProxy(rtSipCallback^ rtCallback)
+ {
+ m_pCallback = rtCallback;
+ }
+
+ virtual int OnDialogEvent(const DialogEvent* e) override
+ {
+ if(e && m_pCallback && m_pCallback->m_pI)
+ {
+ return m_pCallback->m_pI->OnDialogEvent(ref new rtDialogEvent(const_cast(const_cast(e)->getWrappedEvent())));
+ }
+ return 0;
+ }
+
+ virtual int OnStackEvent(const StackEvent* e) override
+ {
+ if(e && m_pCallback && m_pCallback->m_pI)
+ {
+ return m_pCallback->m_pI->OnStackEvent(ref new rtStackEvent(const_cast(const_cast(e)->getWrappedEvent())));
+ }
+ return 0;
+ }
+
+ virtual int OnInviteEvent(const InviteEvent* e) override
+ {
+ if(e && m_pCallback && m_pCallback->m_pI)
+ {
+ return m_pCallback->m_pI->OnInviteEvent(ref new rtInviteEvent(const_cast(const_cast(e)->getWrappedEvent())));
+ }
+ return 0;
+ }
+
+ virtual int OnMessagingEvent(const MessagingEvent* e) override
+ {
+ if(e && m_pCallback && m_pCallback->m_pI)
+ {
+ return m_pCallback->m_pI->OnMessagingEvent(ref new rtMessagingEvent(const_cast(const_cast(e)->getWrappedEvent())));
+ }
+ return 0;
+ }
+
+ virtual int OnInfoEvent(const InfoEvent* e) override
+ {
+ if(m_pCallback && m_pCallback->m_pI)
+ {
+ return m_pCallback->m_pI->OnInfoEvent(ref new rtInfoEvent(const_cast(const_cast(e)->getWrappedEvent())));
+ }
+ return 0;
+ }
+
+ virtual int OnOptionsEvent(const OptionsEvent* e) override
+ {
+ if(e && m_pCallback && m_pCallback->m_pI)
+ {
+ return m_pCallback->m_pI->OnOptionsEvent(ref new rtOptionsEvent(const_cast(const_cast(e)->getWrappedEvent())));
+ }
+ return 0;
+ }
+
+ virtual int OnPublicationEvent(const PublicationEvent* e) override
+ {
+ if(e && m_pCallback && m_pCallback->m_pI)
+ {
+ return m_pCallback->m_pI->OnPublicationEvent(ref new rtPublicationEvent(const_cast(const_cast(e)->getWrappedEvent())));
+ }
+ return 0;
+ }
+
+ virtual int OnRegistrationEvent(const RegistrationEvent* e) override
+ {
+ if(m_pCallback && m_pCallback->m_pI)
+ {
+ return m_pCallback->m_pI->OnRegistrationEvent(ref new rtRegistrationEvent(const_cast(const_cast(e)->getWrappedEvent())));
+ }
+ return 0;
+ }
+
+ virtual int OnSubscriptionEvent(const SubscriptionEvent* e) override
+ {
+ if(e && m_pCallback && m_pCallback->m_pI)
+ {
+ return m_pCallback->m_pI->OnSubscriptionEvent(ref new rtSubscriptionEvent(const_cast(const_cast(e)->getWrappedEvent())));
+ }
+ return 0;
+ }
+
+private:
+ rtSipCallback^ m_pCallback;
+};
+
+rtSipCallback::rtSipCallback(rtISipCallback^ pI)
+{
+ m_pI = pI;
+ m_pCallback = new SipCallbackProxy(this);
+}
+
+rtSipCallback::~rtSipCallback()
+{
+ rtSafeDelete(m_pCallback);
+}
+
+const SipCallback* rtSipCallback::getWrappedCallback()
+{
+ return dynamic_cast(m_pCallback);
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipEvent.cxx b/bindings/winrt/doubango_rt/src/rt_SipEvent.cxx
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipEvent.cxx
rename to bindings/winrt/doubango_rt/src/rt_SipEvent.cxx
index 8851d4f9..1bd414e5 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipEvent.cxx
+++ b/bindings/winrt/doubango_rt/src/rt_SipEvent.cxx
@@ -1,239 +1,239 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#include "rt_SipEvent.h"
-#include "rt_String.h"
-#include "rt_SipMessage.h"
-#include "rt_SipSession.h"
-
-#include "tinysip/tsip_event.h"
-
-#include "SipMessage.h"
-#include "SipSession.h"
-#include "SipEvent.h"
-
-using namespace doubango_rt::BackEnd;
-using namespace Platform;
-using namespace std;
-
-#define rt_getSession_Implement(cls) \
-rt##cls##Session^ rt##cls##Event::getSession(){ \
- const cls##Session* s = m_pEvent->getSession(); \
- if(s){ \
- return ref new rt##cls##Session(const_cast(const_cast<##cls##Session*>(s)->getStack()), const_cast(const_cast<##cls##Session*>(s)->getWrappedSession())); \
- } \
- return nullptr; \
-} \
-
-#define rt_takeOwnership_Implement(cls, name, session) \
-rt##name##Session^ rt##cls##Event::take##session##Ownership(){ \
- name##Session* s = m_pEvent->take##session##Ownership(); \
- if(s){ \
- rt##name##Session^ _s = ref new rt##name##Session(const_cast(s->getStack()), const_cast(s->getWrappedSession())); \
- rtSafeDelete(s); \
- return _s; \
- } \
- return nullptr; \
-} \
-
-/* ======================== rtDialogEvent ========================*/
-rtISipEvent_Implement(rtDialogEvent);
-
-rtDialogEvent::rtDialogEvent(const struct tsip_event_s *e)
-{
- m_pEvent = new DialogEvent(e);
-}
-
-rtDialogEvent::~rtDialogEvent()
-{
- rtSafeDelete(m_pEvent);
-}
-
-
-/* ======================== rtStackEvent ========================*/
-rtISipEvent_Implement(rtStackEvent);
-
-rtStackEvent::rtStackEvent(const struct tsip_event_s *e)
-{
- m_pEvent = new StackEvent(e);
-}
-
-rtStackEvent::~rtStackEvent()
-{
- rtSafeDelete(m_pEvent);
-}
-
-
- /* ======================== rtInviteEvent ========================*/
-rtISipEvent_Implement(rtInviteEvent);
-
-rtInviteEvent::rtInviteEvent(const struct tsip_event_s *e)
-{
- m_pEvent = new InviteEvent(e);
-}
-
-rtInviteEvent::~rtInviteEvent()
-{
- rtSafeDelete(m_pEvent);
-}
-
-rt_tsip_invite_event_type_t rtInviteEvent::getType()
-{
- return (rt_tsip_invite_event_type_t)m_pEvent->getType();
-}
-
-rt_twrap_media_type_t rtInviteEvent::getMediaType()
-{
- return (rt_twrap_media_type_t)m_pEvent->getMediaType();
-}
-
-rt_getSession_Implement(Invite);
-rt_takeOwnership_Implement(Invite, Call, CallSession);
-rt_takeOwnership_Implement(Invite, Msrp, MsrpSession);
-
-/* ======================== rtMessagingEvent ========================*/
-rtISipEvent_Implement(rtMessagingEvent);
-
-rtMessagingEvent::rtMessagingEvent(const struct tsip_event_s *e)
-{
- m_pEvent = new MessagingEvent(e);
-}
-
-
-rtMessagingEvent::~rtMessagingEvent()
-{
- rtSafeDelete(m_pEvent);
-}
-
-rt_tsip_message_event_type_t rtMessagingEvent::getType()
-{
- return (rt_tsip_message_event_type_t)m_pEvent->getType();
-}
-
-rt_getSession_Implement(Messaging);
-rt_takeOwnership_Implement(Messaging, Messaging, Session);
-
-
-/* ======================== rtInfoEvent ========================*/
-rtISipEvent_Implement(rtInfoEvent);
-
-rtInfoEvent::rtInfoEvent(const struct tsip_event_s *e)
-{
- m_pEvent = new InfoEvent(e);
-}
-
-rtInfoEvent::~rtInfoEvent()
-{
- rtSafeDelete(m_pEvent);
-}
-
-rt_tsip_info_event_type_t rtInfoEvent::getType()
-{
- return (rt_tsip_info_event_type_t)m_pEvent->getType();
-}
-
-rt_getSession_Implement(Info);
-rt_takeOwnership_Implement(Info, Info, Session);
-
-
-/* ======================== rtOptionsEvent ========================*/
-rtISipEvent_Implement(rtOptionsEvent);
-
-rtOptionsEvent::rtOptionsEvent(const struct tsip_event_s *e)
-{
- m_pEvent = new OptionsEvent(e);
-}
-
-rtOptionsEvent::~rtOptionsEvent()
-{
- rtSafeDelete(m_pEvent);
-}
-
-rt_tsip_options_event_type_t rtOptionsEvent::getType()
-{
- return (rt_tsip_options_event_type_t)m_pEvent->getType();
-}
-
-rt_getSession_Implement(Options);
-rt_takeOwnership_Implement(Options, Options, Session);
-
-
-/* ======================== rtPublicationEvent ========================*/
-rtISipEvent_Implement(rtPublicationEvent);
-
-rtPublicationEvent::rtPublicationEvent(const struct tsip_event_s *e)
-{
- m_pEvent = new PublicationEvent(e);
-}
-
-rtPublicationEvent::~rtPublicationEvent()
-{
- rtSafeDelete(m_pEvent);
-}
-
-rt_tsip_publish_event_type_t rtPublicationEvent::getType()
-{
- return (rt_tsip_publish_event_type_t)m_pEvent->getType();
-}
-
-rt_getSession_Implement(Publication);
-rt_takeOwnership_Implement(Publication, Publication, Session);
-
-
-
-/* ======================== rtRegistrationEvent ========================*/
-rtISipEvent_Implement(rtRegistrationEvent);
-
-rtRegistrationEvent::rtRegistrationEvent(const struct tsip_event_s *e)
-{
- m_pEvent = new RegistrationEvent(e);
-}
-
-rtRegistrationEvent::~rtRegistrationEvent()
-{
- rtSafeDelete(m_pEvent);
-}
-
-rt_tsip_register_event_type_t rtRegistrationEvent::getType()
-{
- return (rt_tsip_register_event_type_t)m_pEvent->getType();
-}
-
-rt_getSession_Implement(Registration);
-rt_takeOwnership_Implement(Registration, Registration, Session);
-
-
-/* ======================== rtSubscriptionEvent ========================*/
-rtISipEvent_Implement(rtSubscriptionEvent);
-
-rtSubscriptionEvent::rtSubscriptionEvent(const struct tsip_event_s *e)
-{
- m_pEvent = new SubscriptionEvent(e);
-}
-
-rtSubscriptionEvent::~rtSubscriptionEvent()
-{
- rtSafeDelete(m_pEvent);
-}
-
-rt_tsip_subscribe_event_type_t rtSubscriptionEvent::getType()
-{
- return (rt_tsip_subscribe_event_type_t)m_pEvent->getType();
-}
-
-rt_getSession_Implement(Subscription);
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#include "rt_SipEvent.h"
+#include "rt_String.h"
+#include "rt_SipMessage.h"
+#include "rt_SipSession.h"
+
+#include "tinysip/tsip_event.h"
+
+#include "SipMessage.h"
+#include "SipSession.h"
+#include "SipEvent.h"
+
+using namespace doubango_rt::BackEnd;
+using namespace Platform;
+using namespace std;
+
+#define rt_getSession_Implement(cls) \
+rt##cls##Session^ rt##cls##Event::getSession(){ \
+ const cls##Session* s = m_pEvent->getSession(); \
+ if(s){ \
+ return ref new rt##cls##Session(const_cast(const_cast<##cls##Session*>(s)->getStack()), const_cast(const_cast<##cls##Session*>(s)->getWrappedSession())); \
+ } \
+ return nullptr; \
+} \
+
+#define rt_takeOwnership_Implement(cls, name, session) \
+rt##name##Session^ rt##cls##Event::take##session##Ownership(){ \
+ name##Session* s = m_pEvent->take##session##Ownership(); \
+ if(s){ \
+ rt##name##Session^ _s = ref new rt##name##Session(const_cast(s->getStack()), const_cast(s->getWrappedSession())); \
+ rtSafeDelete(s); \
+ return _s; \
+ } \
+ return nullptr; \
+} \
+
+/* ======================== rtDialogEvent ========================*/
+rtISipEvent_Implement(rtDialogEvent);
+
+rtDialogEvent::rtDialogEvent(const struct tsip_event_s *e)
+{
+ m_pEvent = new DialogEvent(e);
+}
+
+rtDialogEvent::~rtDialogEvent()
+{
+ rtSafeDelete(m_pEvent);
+}
+
+
+/* ======================== rtStackEvent ========================*/
+rtISipEvent_Implement(rtStackEvent);
+
+rtStackEvent::rtStackEvent(const struct tsip_event_s *e)
+{
+ m_pEvent = new StackEvent(e);
+}
+
+rtStackEvent::~rtStackEvent()
+{
+ rtSafeDelete(m_pEvent);
+}
+
+
+ /* ======================== rtInviteEvent ========================*/
+rtISipEvent_Implement(rtInviteEvent);
+
+rtInviteEvent::rtInviteEvent(const struct tsip_event_s *e)
+{
+ m_pEvent = new InviteEvent(e);
+}
+
+rtInviteEvent::~rtInviteEvent()
+{
+ rtSafeDelete(m_pEvent);
+}
+
+rt_tsip_invite_event_type_t rtInviteEvent::getType()
+{
+ return (rt_tsip_invite_event_type_t)m_pEvent->getType();
+}
+
+rt_twrap_media_type_t rtInviteEvent::getMediaType()
+{
+ return (rt_twrap_media_type_t)m_pEvent->getMediaType();
+}
+
+rt_getSession_Implement(Invite);
+rt_takeOwnership_Implement(Invite, Call, CallSession);
+rt_takeOwnership_Implement(Invite, Msrp, MsrpSession);
+
+/* ======================== rtMessagingEvent ========================*/
+rtISipEvent_Implement(rtMessagingEvent);
+
+rtMessagingEvent::rtMessagingEvent(const struct tsip_event_s *e)
+{
+ m_pEvent = new MessagingEvent(e);
+}
+
+
+rtMessagingEvent::~rtMessagingEvent()
+{
+ rtSafeDelete(m_pEvent);
+}
+
+rt_tsip_message_event_type_t rtMessagingEvent::getType()
+{
+ return (rt_tsip_message_event_type_t)m_pEvent->getType();
+}
+
+rt_getSession_Implement(Messaging);
+rt_takeOwnership_Implement(Messaging, Messaging, Session);
+
+
+/* ======================== rtInfoEvent ========================*/
+rtISipEvent_Implement(rtInfoEvent);
+
+rtInfoEvent::rtInfoEvent(const struct tsip_event_s *e)
+{
+ m_pEvent = new InfoEvent(e);
+}
+
+rtInfoEvent::~rtInfoEvent()
+{
+ rtSafeDelete(m_pEvent);
+}
+
+rt_tsip_info_event_type_t rtInfoEvent::getType()
+{
+ return (rt_tsip_info_event_type_t)m_pEvent->getType();
+}
+
+rt_getSession_Implement(Info);
+rt_takeOwnership_Implement(Info, Info, Session);
+
+
+/* ======================== rtOptionsEvent ========================*/
+rtISipEvent_Implement(rtOptionsEvent);
+
+rtOptionsEvent::rtOptionsEvent(const struct tsip_event_s *e)
+{
+ m_pEvent = new OptionsEvent(e);
+}
+
+rtOptionsEvent::~rtOptionsEvent()
+{
+ rtSafeDelete(m_pEvent);
+}
+
+rt_tsip_options_event_type_t rtOptionsEvent::getType()
+{
+ return (rt_tsip_options_event_type_t)m_pEvent->getType();
+}
+
+rt_getSession_Implement(Options);
+rt_takeOwnership_Implement(Options, Options, Session);
+
+
+/* ======================== rtPublicationEvent ========================*/
+rtISipEvent_Implement(rtPublicationEvent);
+
+rtPublicationEvent::rtPublicationEvent(const struct tsip_event_s *e)
+{
+ m_pEvent = new PublicationEvent(e);
+}
+
+rtPublicationEvent::~rtPublicationEvent()
+{
+ rtSafeDelete(m_pEvent);
+}
+
+rt_tsip_publish_event_type_t rtPublicationEvent::getType()
+{
+ return (rt_tsip_publish_event_type_t)m_pEvent->getType();
+}
+
+rt_getSession_Implement(Publication);
+rt_takeOwnership_Implement(Publication, Publication, Session);
+
+
+
+/* ======================== rtRegistrationEvent ========================*/
+rtISipEvent_Implement(rtRegistrationEvent);
+
+rtRegistrationEvent::rtRegistrationEvent(const struct tsip_event_s *e)
+{
+ m_pEvent = new RegistrationEvent(e);
+}
+
+rtRegistrationEvent::~rtRegistrationEvent()
+{
+ rtSafeDelete(m_pEvent);
+}
+
+rt_tsip_register_event_type_t rtRegistrationEvent::getType()
+{
+ return (rt_tsip_register_event_type_t)m_pEvent->getType();
+}
+
+rt_getSession_Implement(Registration);
+rt_takeOwnership_Implement(Registration, Registration, Session);
+
+
+/* ======================== rtSubscriptionEvent ========================*/
+rtISipEvent_Implement(rtSubscriptionEvent);
+
+rtSubscriptionEvent::rtSubscriptionEvent(const struct tsip_event_s *e)
+{
+ m_pEvent = new SubscriptionEvent(e);
+}
+
+rtSubscriptionEvent::~rtSubscriptionEvent()
+{
+ rtSafeDelete(m_pEvent);
+}
+
+rt_tsip_subscribe_event_type_t rtSubscriptionEvent::getType()
+{
+ return (rt_tsip_subscribe_event_type_t)m_pEvent->getType();
+}
+
+rt_getSession_Implement(Subscription);
rt_takeOwnership_Implement(Subscription, Subscription, Session);
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipMessage.cxx b/bindings/winrt/doubango_rt/src/rt_SipMessage.cxx
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipMessage.cxx
rename to bindings/winrt/doubango_rt/src/rt_SipMessage.cxx
index 2af3976e..55e05d92 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipMessage.cxx
+++ b/bindings/winrt/doubango_rt/src/rt_SipMessage.cxx
@@ -1,171 +1,171 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#include "rt_SipMessage.h"
-#include "rt_String.h"
-
-#include "SipMessage.h"
-
-using namespace doubango_rt::BackEnd;
-using namespace Platform;
-using namespace std;
-
-//
-// rtSdpMessage
-//
-
-rtSdpMessage::rtSdpMessage()
- :m_pSdpMessage(NULL)
-{
-}
-
-rtSdpMessage::rtSdpMessage(struct tsdp_message_s *message)
-{
- m_pSdpMessage = new SdpMessage(message);
-}
-
-rtSdpMessage::~rtSdpMessage()
-{
- rtSafeDelete(m_pSdpMessage);
-}
-
-String^ rtSdpMessage::getSdpHeaderValue(String^ media, String^ name, unsigned index)
-{
- if(m_pSdpMessage)
- {
- char * _str = m_pSdpMessage->getSdpHeaderValue
- (rtString::toUtf8(media).data(),
- rtString::toUtf8(media).data()[0],
- index);
- String^ str = rtString::toString(_str);
- TSK_FREE(str);
- return str;
- }
- return nullptr;
-}
-
-String^ rtSdpMessage::getSdpHeaderValue(String^ media, String^ name)
-{
- return getSdpHeaderValue(media, name, 0);
-}
-
-String^ rtSdpMessage::getSdpHeaderAValue(String^ media, String^ attributeName)
-{
- if(m_pSdpMessage)
- {
- char * _str = m_pSdpMessage->getSdpHeaderAValue
- (rtString::toUtf8(media).data(),
- rtString::toUtf8(attributeName).data());
- String^ str = rtString::toString(_str);
- TSK_FREE(str);
- return str;
- }
- return nullptr;
-}
-
-//
-// rtSipMessage
-//
-
-rtSipMessage::rtSipMessage()
- :m_pSipMessage(NULL)
-{
-}
-
-rtSipMessage::rtSipMessage(struct tsip_message_s* message)
-{
- m_pSipMessage = new SipMessage(message);
-}
-
-rtSipMessage::~rtSipMessage()
-{
- rtSafeDelete(m_pSipMessage);
-}
-
-bool rtSipMessage::isResponse()
-{
- return m_pSipMessage ? m_pSipMessage->isResponse() : false;
-}
-
-rt_tsip_request_type_t rtSipMessage::getRequestType()
-{
- return (rt_tsip_request_type_t)(m_pSipMessage ? m_pSipMessage->getRequestType() : 0);
-}
-
-short rtSipMessage::getResponseCode()
-{
- return m_pSipMessage ? m_pSipMessage->getResponseCode() : 0;
-}
-
-String^ rtSipMessage::getResponsePhrase()
-{
- return m_pSipMessage ? rtString::toString(m_pSipMessage->getResponsePhrase()) : nullptr;
-}
-
-String^ rtSipMessage::getSipHeaderValue(String^ name, unsigned index)
-{
- return m_pSipMessage ? rtString::toString(m_pSipMessage->getSipHeaderValue(rtString::toUtf8(name).data(), index)) : nullptr;
-}
-
-String^ rtSipMessage::getSipHeaderValue(String^ name)
-{
- return getSipHeaderValue(name, 0);
-}
-
-String^ rtSipMessage::getSipHeaderParamValue(String^ name, String^ param, unsigned index)
-{
- return m_pSipMessage ? rtString::toString(m_pSipMessage->getSipHeaderParamValue(rtString::toUtf8(name).data(), rtString::toUtf8(param).data(), index)) : nullptr;
-}
-
-String^ rtSipMessage::getSipHeaderParamValue(String^ name, String^ param)
-{
- return getSipHeaderParamValue(name, param, 0);
-}
-
-unsigned rtSipMessage::getSipContentLength()
-{
- return m_pSipMessage ? m_pSipMessage->getSipContentLength() : 0;
-}
-
-#if COM_VISIBLE
-String^ rtSipMessage::getSipContent()
-{
- unsigned len = getSipContentLength();
- if(len > 0)
- {
- void* data_ptr = calloc(len, 1);
- if(data_ptr)
- {
- m_pSipMessage->getSipContent(data_ptr, len);
- String^ s = rtString::toString((const char*)data_ptr);
- free(data_ptr);
- return s;
- }
- }
- return nullptr;
-}
-#else
-unsigned rtSipMessage::getSipContent(IntPtr output, unsigned maxsize)
-{
- return m_pSipMessage ? m_pSipMessage->getSipContent((void*)output, maxsize) : 0;
-}
-#endif
-
-rtSdpMessage^ rtSipMessage::getSdpMessage()
-{
- return m_pSipMessage ? ref new rtSdpMessage(const_cast(const_cast(m_pSipMessage->getSdpMessage())->getWrappedSdpMessage())) : nullptr;
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#include "rt_SipMessage.h"
+#include "rt_String.h"
+
+#include "SipMessage.h"
+
+using namespace doubango_rt::BackEnd;
+using namespace Platform;
+using namespace std;
+
+//
+// rtSdpMessage
+//
+
+rtSdpMessage::rtSdpMessage()
+ :m_pSdpMessage(NULL)
+{
+}
+
+rtSdpMessage::rtSdpMessage(struct tsdp_message_s *message)
+{
+ m_pSdpMessage = new SdpMessage(message);
+}
+
+rtSdpMessage::~rtSdpMessage()
+{
+ rtSafeDelete(m_pSdpMessage);
+}
+
+String^ rtSdpMessage::getSdpHeaderValue(String^ media, String^ name, unsigned index)
+{
+ if(m_pSdpMessage)
+ {
+ char * _str = m_pSdpMessage->getSdpHeaderValue
+ (rtString::toUtf8(media).data(),
+ rtString::toUtf8(media).data()[0],
+ index);
+ String^ str = rtString::toString(_str);
+ TSK_FREE(str);
+ return str;
+ }
+ return nullptr;
+}
+
+String^ rtSdpMessage::getSdpHeaderValue(String^ media, String^ name)
+{
+ return getSdpHeaderValue(media, name, 0);
+}
+
+String^ rtSdpMessage::getSdpHeaderAValue(String^ media, String^ attributeName)
+{
+ if(m_pSdpMessage)
+ {
+ char * _str = m_pSdpMessage->getSdpHeaderAValue
+ (rtString::toUtf8(media).data(),
+ rtString::toUtf8(attributeName).data());
+ String^ str = rtString::toString(_str);
+ TSK_FREE(str);
+ return str;
+ }
+ return nullptr;
+}
+
+//
+// rtSipMessage
+//
+
+rtSipMessage::rtSipMessage()
+ :m_pSipMessage(NULL)
+{
+}
+
+rtSipMessage::rtSipMessage(struct tsip_message_s* message)
+{
+ m_pSipMessage = new SipMessage(message);
+}
+
+rtSipMessage::~rtSipMessage()
+{
+ rtSafeDelete(m_pSipMessage);
+}
+
+bool rtSipMessage::isResponse()
+{
+ return m_pSipMessage ? m_pSipMessage->isResponse() : false;
+}
+
+rt_tsip_request_type_t rtSipMessage::getRequestType()
+{
+ return (rt_tsip_request_type_t)(m_pSipMessage ? m_pSipMessage->getRequestType() : 0);
+}
+
+short rtSipMessage::getResponseCode()
+{
+ return m_pSipMessage ? m_pSipMessage->getResponseCode() : 0;
+}
+
+String^ rtSipMessage::getResponsePhrase()
+{
+ return m_pSipMessage ? rtString::toString(m_pSipMessage->getResponsePhrase()) : nullptr;
+}
+
+String^ rtSipMessage::getSipHeaderValue(String^ name, unsigned index)
+{
+ return m_pSipMessage ? rtString::toString(m_pSipMessage->getSipHeaderValue(rtString::toUtf8(name).data(), index)) : nullptr;
+}
+
+String^ rtSipMessage::getSipHeaderValue(String^ name)
+{
+ return getSipHeaderValue(name, 0);
+}
+
+String^ rtSipMessage::getSipHeaderParamValue(String^ name, String^ param, unsigned index)
+{
+ return m_pSipMessage ? rtString::toString(m_pSipMessage->getSipHeaderParamValue(rtString::toUtf8(name).data(), rtString::toUtf8(param).data(), index)) : nullptr;
+}
+
+String^ rtSipMessage::getSipHeaderParamValue(String^ name, String^ param)
+{
+ return getSipHeaderParamValue(name, param, 0);
+}
+
+unsigned rtSipMessage::getSipContentLength()
+{
+ return m_pSipMessage ? m_pSipMessage->getSipContentLength() : 0;
+}
+
+#if COM_VISIBLE
+String^ rtSipMessage::getSipContent()
+{
+ unsigned len = getSipContentLength();
+ if(len > 0)
+ {
+ void* data_ptr = calloc(len, 1);
+ if(data_ptr)
+ {
+ m_pSipMessage->getSipContent(data_ptr, len);
+ String^ s = rtString::toString((const char*)data_ptr);
+ free(data_ptr);
+ return s;
+ }
+ }
+ return nullptr;
+}
+#else
+unsigned rtSipMessage::getSipContent(IntPtr output, unsigned maxsize)
+{
+ return m_pSipMessage ? m_pSipMessage->getSipContent((void*)output, maxsize) : 0;
+}
+#endif
+
+rtSdpMessage^ rtSipMessage::getSdpMessage()
+{
+ return m_pSipMessage ? ref new rtSdpMessage(const_cast(const_cast(m_pSipMessage->getSdpMessage())->getWrappedSdpMessage())) : nullptr;
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipSession.cxx b/bindings/winrt/doubango_rt/src/rt_SipSession.cxx
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipSession.cxx
rename to bindings/winrt/doubango_rt/src/rt_SipSession.cxx
index 72e1757b..872a2e2d 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipSession.cxx
+++ b/bindings/winrt/doubango_rt/src/rt_SipSession.cxx
@@ -1,662 +1,662 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#include "rt_SipSession.h"
-#include "rt_String.h"
-#include "rt_SipStack.h"
-#include "rt_SipUri.h"
-#include "rt_Msrp.h"
-
-#include "SipSession.h"
-#include "MediaSessionMgr.h"
-
-using namespace doubango_rt::BackEnd;
-using namespace Platform;
-using namespace std;
-
-/* ======================== T140Callback ========================*/
-rtT140CallbackData::rtT140CallbackData(enum tmedia_t140_data_type_e data_type, const void* data_ptr, unsigned data_size)
-{
- m_pData = new T140CallbackData(data_type, data_ptr, data_size);
-}
-
-rtT140CallbackData::~rtT140CallbackData()
-{
- rtSafeDelete(m_pData);
-}
-
-/* ======================== rtT140Callback ========================*/
-
-rtT140Callback::rtT140Callback()
-{
- m_pCallback = new T140Callback();
-}
-
-rtT140Callback::~rtT140Callback()
-{
- rtSafeDelete(m_pCallback);
-}
-
-/* ======================== rtSipSession ========================*/
-rtISession_Implement(rtSipSession);
-
-rtSipSession::rtSipSession(rtSipStack^ pStack)
-{
- m_pSipSession = new SipSession(const_cast(pStack->getWrappedStack()));
-}
-
-rtSipSession::rtSipSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
-{
- m_pSipSession = new SipSession(pStack, pHandle);
-}
-
-rtSipSession::~rtSipSession()
-{
- rtSafeDelete(m_pSipSession);
-}
-
-
-/* ======================== rtInviteSession ========================*/
-rtISession_Implement(rtInviteSession);
-rtIInviteSession_Implement(rtInviteSession);
-
-rtInviteSession::rtInviteSession(rtSipStack^ pStack)
-{
- m_pSipSession = new InviteSession(const_cast(pStack->getWrappedStack()));
-}
-
-rtInviteSession::rtInviteSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
-{
- m_pSipSession = new InviteSession(pStack, pHandle);
-}
-
-rtInviteSession::~rtInviteSession()
-{
- rtSafeDelete(m_pSipSession);
-}
-
-
-/* ======================== rtCallSession ========================*/
-rtISession_Implement(rtCallSession);
-rtIInviteSession_Implement(rtCallSession);
-
-rtCallSession::rtCallSession(rtSipStack^ pStack)
-{
- m_pSipSession = new CallSession(const_cast(pStack->getWrappedStack()));
-}
-
-rtCallSession::rtCallSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
-{
- m_pSipSession = new CallSession(pStack, pHandle);
-}
-
-rtCallSession::~rtCallSession()
-{
- rtSafeDelete(m_pSipSession);
-}
-
-
-bool rtCallSession::call(String^ remoteUriString, rt_twrap_media_type_t media, rtActionConfig^ config)
-{
- return m_pSipSession->call(rtString::toUtf8(remoteUriString).data(), (twrap_media_type_t)media, config ? config->getWrappedActionConfig() : tsk_null);
-
-}
-
-bool rtCallSession::call(String^ remoteUriString, rt_twrap_media_type_t media)
-{
- return call(remoteUriString, media, nullptr);
-}
-
-bool rtCallSession::call(rtSipUri^ remoteUri, rt_twrap_media_type_t media, rtActionConfig^ config)
-{
- return m_pSipSession->call(remoteUri->getWrappedUri(), (twrap_media_type_t)media, config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtCallSession::call(rtSipUri^ remoteUri, rt_twrap_media_type_t media)
-{
- return call(remoteUri, media, nullptr);
-}
-
-bool rtCallSession::setSessionTimer(unsigned timeout, String^ refresher)
-{
- return m_pSipSession->setSessionTimer(timeout, rtString::toUtf8(refresher).data());
-}
-
-bool rtCallSession::set100rel(bool enabled)
-{
- return m_pSipSession->set100rel(enabled);
-}
-
-bool rtCallSession::setRtcp(bool enabled)
-{
- return m_pSipSession->setRtcp(enabled);
-}
-
-bool rtCallSession::setRtcpMux(bool enabled)
-{
- return m_pSipSession->setRtcpMux(enabled);
-}
-
-bool rtCallSession::setICE(bool enabled)
-{
- return m_pSipSession->setICE(enabled);
-}
-
-bool rtCallSession::setQoS(rt_tmedia_qos_stype_t type, rt_tmedia_qos_strength_t strength)
-{
- return m_pSipSession->setQoS((tmedia_qos_stype_t) type, (tmedia_qos_strength_t) strength);
-}
-
-bool rtCallSession::setVideoFps(int32_t fps)
-{
- return m_pSipSession->setVideoFps(fps);
-}
-
-bool rtCallSession::setVideoBandwidthUploadMax(int32_t max)
-{
- return m_pSipSession->setVideoBandwidthUploadMax(max);
-}
-
-bool rtCallSession::setVideoBandwidthDownloadMax(int32_t max)
-{
- return m_pSipSession->setVideoBandwidthDownloadMax(max);
-}
-
-bool rtCallSession::setVideoPrefSize(rt_tmedia_pref_video_size_t pref_video_size)
-{
- return m_pSipSession->setVideoPrefSize((tmedia_pref_video_size_t)pref_video_size);
-}
-
-bool rtCallSession::hold(rtActionConfig^ config)
-{
- return m_pSipSession->hold(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtCallSession::hold()
-{
- return hold(nullptr);
-}
-
-bool rtCallSession::resume(rtActionConfig^ config)
-{
- return m_pSipSession->resume(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtCallSession::resume()
-{
- return resume(nullptr);
-}
-
-bool rtCallSession::transfer(String^ referToUriString, rtActionConfig^ config)
-{
- return m_pSipSession->transfer(rtString::toUtf8(referToUriString).data(), config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtCallSession::transfer(String^ referToUriString)
-{
- return transfer(referToUriString, nullptr);
-}
-
-bool rtCallSession::acceptTransfer(rtActionConfig^ config)
-{
- return m_pSipSession->acceptTransfer(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtCallSession::acceptTransfer()
-{
- return acceptTransfer(nullptr);
-}
-
-bool rtCallSession::rejectTransfer(rtActionConfig^ config)
-{
- return m_pSipSession->rejectTransfer(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtCallSession::rejectTransfer()
-{
- return rejectTransfer(nullptr);
-}
-
-bool rtCallSession::sendDTMF(int number)
-{
- return m_pSipSession->sendDTMF(number);
-}
-
-unsigned rtCallSession::getSessionTransferId()
-{
- return m_pSipSession->getSessionTransferId();
-}
-
-#if COM_VISIBLE
-bool rtCallSession::sendT140Data(rt_tmedia_t140_data_type_t data_type, String^ data)
-{
- std::vector _data = rtString::toUtf8(data);
- return m_pSipSession->sendT140Data((tmedia_t140_data_type_t) data_type, (const void*)_data.data(), _data.size());
-}
-#else
-bool rtCallSession::sendT140Data(rt_tmedia_t140_data_type_t data_type, IntPtr data_ptr, unsigned data_size)
-{
- return m_pSipSession->sendT140Data((tmedia_t140_data_type_t) data_type, (const void*)data_ptr, data_size);
-}
-
-#endif
-
-bool rtCallSession::sendT140Data(rt_tmedia_t140_data_type_t data_type)
-{
- return sendT140Data(data_type, nullptr
-#if !COM_VISIBLE
- , 0
-#endif
- );
-}
-
-bool rtCallSession::setT140Callback(rtT140Callback^ pT140Callback)
-{
- return m_pSipSession->setT140Callback(const_cast(pT140Callback->getWrappedCallback()));
-}
-
-
-/* ======================== rtMsrpSession ========================*/
-rtISession_Implement(rtMsrpSession);
-rtIInviteSession_Implement(rtMsrpSession);
-
-rtMsrpSession::rtMsrpSession(rtSipStack^ pStack, rtIMsrpCallback^ pCallback)
-{
- m_pCallback = ref new rtMsrpCallback(pCallback);
- m_pSipSession = new MsrpSession(const_cast(pStack->getWrappedStack()), const_cast(m_pCallback->getWrappedCallback()));
-}
-
-rtMsrpSession::rtMsrpSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
-{
- m_pSipSession = new MsrpSession(pStack, pHandle);
-}
-
-rtMsrpSession::~rtMsrpSession()
-{
- rtSafeDelete(m_pSipSession);
- rtSafeDelete(m_pCallback);
-}
-
-bool rtMsrpSession::setCallback(rtIMsrpCallback^ pCallback)
-{
- rtSafeDelete(m_pCallback);
- if(!pCallback)
- {
- return m_pSipSession->setCallback(tsk_null);
- return true;
- }
- m_pCallback = ref new rtMsrpCallback(pCallback);
- return m_pSipSession->setCallback(const_cast(m_pCallback->getWrappedCallback()));
-}
-
-bool rtMsrpSession::callMsrp(Platform::String^ remoteUriString, rtActionConfig^ config)
-{
- return m_pSipSession->callMsrp(rtString::toUtf8(remoteUriString).data(), config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtMsrpSession::callMsrp(Platform::String^ remoteUriString)
-{
- return callMsrp(remoteUriString, nullptr);
-}
-
-bool rtMsrpSession::callMsrp(rtSipUri^ remoteUri, rtActionConfig^ config)
-{
- return m_pSipSession->callMsrp(remoteUri->getWrappedUri(), config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtMsrpSession::callMsrp(rtSipUri^ remoteUri)
-{
- return callMsrp(remoteUri, nullptr);
-}
-
-#if COM_VISIBLE
-bool rtMsrpSession::sendMessage(String^ payload, rtActionConfig^ config)
-{
- std::vector _payload = rtString::toUtf8(payload);
- return m_pSipSession->sendMessage((const void*)_payload.data(), _payload.size(), config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtMsrpSession::sendMessage(Platform::String^ payload)
-{
- return sendMessage(payload, nullptr);
-}
-
-#else
-bool rtMsrpSession::sendMessage(Platform::IntPtr payload, unsigned len, rtActionConfig^ config)
-{
- return m_pSipSession->sendMessage((const void*)payload, len, config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtMsrpSession::sendMessage(Platform::IntPtr payload, unsigned len)
-{
- return sendMessage(payload, len, nullptr);
-}
-#endif /* COM_VISIBLE */
-
-
-/* ======================== rtMessagingSession ========================*/
-rtISession_Implement(rtMessagingSession);
-
-rtMessagingSession::rtMessagingSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
-{
- m_pSipSession = new MessagingSession(pStack, pHandle);
-}
-
-rtMessagingSession::rtMessagingSession(rtSipStack^ pStack)
-{
- m_pSipSession = new MessagingSession(const_cast(pStack->getWrappedStack()));
-}
-
-rtMessagingSession::~rtMessagingSession()
-{
- rtSafeDelete(m_pSipSession);
-}
-
-#if COM_VISIBLE
-bool rtMessagingSession::send(String^ payload, rtActionConfig^ config)
-{
- std::vector_payload = rtString::toUtf8(payload);
- return m_pSipSession->send((const void*)_payload.data(), _payload.size(), config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtMessagingSession::send(Platform::String^ payload)
-{
- return send(payload, nullptr);
-}
-
-#else
-bool rtMessagingSession::send(IntPtr payload, unsigned len, rtActionConfig^ config)
-{
- return m_pSipSession->send((const void*)payload, len, config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtMessagingSession::send(IntPtr payload, unsigned len)
-{
- return send(payload, len, nullptr);
-}
-#endif
-
-bool rtMessagingSession::accept(rtActionConfig^ config)
-{
- return m_pSipSession->accept(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtMessagingSession::accept()
-{
- return accept(nullptr);
-}
-
-bool rtMessagingSession::reject(rtActionConfig^ config)
-{
- return m_pSipSession->reject(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtMessagingSession::reject()
-{
- return reject(nullptr);
-}
-
-/* ======================== rtInfoSession ========================*/
-rtISession_Implement(rtInfoSession);
-
-rtInfoSession::rtInfoSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
-{
- m_pSipSession = new InfoSession(pStack, pHandle);
-}
-
-rtInfoSession::rtInfoSession(rtSipStack^ pStack)
-{
- m_pSipSession = new InfoSession(const_cast(pStack->getWrappedStack()));
-}
-
-rtInfoSession::~rtInfoSession()
-{
- rtSafeDelete(m_pSipSession);
-}
-
-#if COM_VISIBLE
-bool rtInfoSession::send(Platform::String^ payload, rtActionConfig^ config)
-{
- std::vector_payload = rtString::toUtf8(payload);
- return m_pSipSession->send((const void*)_payload.data(), _payload.size(), config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtInfoSession::send(Platform::String^ payload)
-{
- return send(payload, nullptr);
-}
-#else
-bool rtInfoSession::send(IntPtr payload, unsigned len, rtActionConfig^ config)
-{
- return m_pSipSession->send((const void*)payload, len, config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtInfoSession::send(IntPtr payload, unsigned len)
-{
- return send(payload, len, nullptr);
-}
-#endif
-
-bool rtInfoSession::accept(rtActionConfig^ config)
-{
- return m_pSipSession->accept(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtInfoSession::accept()
-{
- return accept(nullptr);
-}
-
-bool rtInfoSession::reject(rtActionConfig^ config)
-{
- return m_pSipSession->reject(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtInfoSession::reject()
-{
- return reject(nullptr);
-}
-
-
-
-/* ======================== rtOptionsSession ========================*/
-rtISession_Implement(rtOptionsSession);
-
-rtOptionsSession::rtOptionsSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
-{
- m_pSipSession = new OptionsSession(pStack, pHandle);
-}
-
-rtOptionsSession::rtOptionsSession(rtSipStack^ pStack)
-{
- m_pSipSession = new OptionsSession(const_cast(pStack->getWrappedStack()));
-}
-
-rtOptionsSession::~rtOptionsSession()
-{
- rtSafeDelete(m_pSipSession);
-}
-
-bool rtOptionsSession::send(rtActionConfig^ config)
-{
- return m_pSipSession->send(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtOptionsSession::send()
-{
- return send(nullptr);
-}
-
-bool rtOptionsSession::accept(rtActionConfig^ config)
-{
- return m_pSipSession->accept(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtOptionsSession::accept()
-{
- return accept(nullptr);
-}
-
-bool rtOptionsSession::reject(rtActionConfig^ config)
-{
- return m_pSipSession->reject(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtOptionsSession::reject()
-{
- return reject(nullptr);
-}
-
-
-
-/* ======================== rtPublicationSession ========================*/
-rtISession_Implement(rtPublicationSession);
-
-rtPublicationSession::rtPublicationSession(rtSipStack^ pStack)
-{
- m_pSipSession = new PublicationSession(const_cast(pStack->getWrappedStack()));
-}
-
-rtPublicationSession::rtPublicationSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
-{
- m_pSipSession = new PublicationSession(pStack, pHandle);
-}
-
-rtPublicationSession::~rtPublicationSession()
-{
- rtSafeDelete(m_pSipSession);
-}
-
-#if COM_VISIBLE
-bool rtPublicationSession::publish(String^ payload, rtActionConfig^ config)
-{
- std::vector_payload = rtString::toUtf8(payload);
- return m_pSipSession->publish((const void*)_payload.data(), _payload.size(), config ? config->getWrappedActionConfig() : tsk_null);
-}
-bool rtPublicationSession::publish(Platform::String^ payload)
-{
- return publish(payload, nullptr);
-}
-#else
-bool rtPublicationSession::publish(Platform::IntPtr payload, unsigned len, rtActionConfig^ config)
-{
- return m_pSipSession->publish((const void*)payload, len, config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtPublicationSession::publish(Platform::IntPtr payload, unsigned len)
-{
- return publish(payload, len, nullptr);
-}
-#endif
-
-bool rtPublicationSession::unPublish(rtActionConfig^ config)
-{
- return m_pSipSession->unPublish(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtPublicationSession::unPublish()
-{
- return unPublish(nullptr);
-}
-
-
-/* ======================== rtRegistrationSession ========================*/
-rtISession_Implement(rtRegistrationSession);
-
-rtRegistrationSession::rtRegistrationSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
-{
- m_pSipSession = new RegistrationSession(pStack, pHandle);
-}
-
-rtRegistrationSession::rtRegistrationSession(rtSipStack^ pStack)
-{
- m_pSipSession = new RegistrationSession(const_cast(pStack->getWrappedStack()));
-}
-
-rtRegistrationSession::~rtRegistrationSession()
-{
- rtSafeDelete(m_pSipSession);
-}
-
-bool rtRegistrationSession::register_(rtActionConfig^ config)
-{
- return m_pSipSession->register_(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtRegistrationSession::register_()
-{
- return register_(nullptr);
-}
-
-bool rtRegistrationSession::unRegister(rtActionConfig^ config)
-{
- return m_pSipSession->unRegister(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtRegistrationSession::unRegister()
-{
- return unRegister(nullptr);
-}
-
-bool rtRegistrationSession::accept(rtActionConfig^ config)
-{
- return m_pSipSession->accept(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtRegistrationSession::accept()
-{
- return accept(nullptr);
-}
-
-bool rtRegistrationSession::reject(rtActionConfig^ config)
-{
- return m_pSipSession->reject(config ? config->getWrappedActionConfig() : tsk_null);
-}
-
-bool rtRegistrationSession::reject()
-{
- return reject(nullptr);
-}
-
-
-/* ======================== rtSubscriptionSession ========================*/
-rtISession_Implement(rtSubscriptionSession);
-
-rtSubscriptionSession::rtSubscriptionSession(rtSipStack^ pStack)
-{
- m_pSipSession = new SubscriptionSession(const_cast(pStack->getWrappedStack()));
-}
-
-rtSubscriptionSession::rtSubscriptionSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
-{
- m_pSipSession = new SubscriptionSession(pStack, pHandle);
-}
-
-rtSubscriptionSession::~rtSubscriptionSession()
-{
- rtSafeDelete(m_pSipSession);
-}
-
-bool rtSubscriptionSession::subscribe()
-{
- return m_pSipSession->subscribe();
-}
-
-bool rtSubscriptionSession::unSubscribe()
-{
- return m_pSipSession->unSubscribe();
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#include "rt_SipSession.h"
+#include "rt_String.h"
+#include "rt_SipStack.h"
+#include "rt_SipUri.h"
+#include "rt_Msrp.h"
+
+#include "SipSession.h"
+#include "MediaSessionMgr.h"
+
+using namespace doubango_rt::BackEnd;
+using namespace Platform;
+using namespace std;
+
+/* ======================== T140Callback ========================*/
+rtT140CallbackData::rtT140CallbackData(enum tmedia_t140_data_type_e data_type, const void* data_ptr, unsigned data_size)
+{
+ m_pData = new T140CallbackData(data_type, data_ptr, data_size);
+}
+
+rtT140CallbackData::~rtT140CallbackData()
+{
+ rtSafeDelete(m_pData);
+}
+
+/* ======================== rtT140Callback ========================*/
+
+rtT140Callback::rtT140Callback()
+{
+ m_pCallback = new T140Callback();
+}
+
+rtT140Callback::~rtT140Callback()
+{
+ rtSafeDelete(m_pCallback);
+}
+
+/* ======================== rtSipSession ========================*/
+rtISession_Implement(rtSipSession);
+
+rtSipSession::rtSipSession(rtSipStack^ pStack)
+{
+ m_pSipSession = new SipSession(const_cast(pStack->getWrappedStack()));
+}
+
+rtSipSession::rtSipSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
+{
+ m_pSipSession = new SipSession(pStack, pHandle);
+}
+
+rtSipSession::~rtSipSession()
+{
+ rtSafeDelete(m_pSipSession);
+}
+
+
+/* ======================== rtInviteSession ========================*/
+rtISession_Implement(rtInviteSession);
+rtIInviteSession_Implement(rtInviteSession);
+
+rtInviteSession::rtInviteSession(rtSipStack^ pStack)
+{
+ m_pSipSession = new InviteSession(const_cast(pStack->getWrappedStack()));
+}
+
+rtInviteSession::rtInviteSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
+{
+ m_pSipSession = new InviteSession(pStack, pHandle);
+}
+
+rtInviteSession::~rtInviteSession()
+{
+ rtSafeDelete(m_pSipSession);
+}
+
+
+/* ======================== rtCallSession ========================*/
+rtISession_Implement(rtCallSession);
+rtIInviteSession_Implement(rtCallSession);
+
+rtCallSession::rtCallSession(rtSipStack^ pStack)
+{
+ m_pSipSession = new CallSession(const_cast(pStack->getWrappedStack()));
+}
+
+rtCallSession::rtCallSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
+{
+ m_pSipSession = new CallSession(pStack, pHandle);
+}
+
+rtCallSession::~rtCallSession()
+{
+ rtSafeDelete(m_pSipSession);
+}
+
+
+bool rtCallSession::call(String^ remoteUriString, rt_twrap_media_type_t media, rtActionConfig^ config)
+{
+ return m_pSipSession->call(rtString::toUtf8(remoteUriString).data(), (twrap_media_type_t)media, config ? config->getWrappedActionConfig() : tsk_null);
+
+}
+
+bool rtCallSession::call(String^ remoteUriString, rt_twrap_media_type_t media)
+{
+ return call(remoteUriString, media, nullptr);
+}
+
+bool rtCallSession::call(rtSipUri^ remoteUri, rt_twrap_media_type_t media, rtActionConfig^ config)
+{
+ return m_pSipSession->call(remoteUri->getWrappedUri(), (twrap_media_type_t)media, config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtCallSession::call(rtSipUri^ remoteUri, rt_twrap_media_type_t media)
+{
+ return call(remoteUri, media, nullptr);
+}
+
+bool rtCallSession::setSessionTimer(unsigned timeout, String^ refresher)
+{
+ return m_pSipSession->setSessionTimer(timeout, rtString::toUtf8(refresher).data());
+}
+
+bool rtCallSession::set100rel(bool enabled)
+{
+ return m_pSipSession->set100rel(enabled);
+}
+
+bool rtCallSession::setRtcp(bool enabled)
+{
+ return m_pSipSession->setRtcp(enabled);
+}
+
+bool rtCallSession::setRtcpMux(bool enabled)
+{
+ return m_pSipSession->setRtcpMux(enabled);
+}
+
+bool rtCallSession::setICE(bool enabled)
+{
+ return m_pSipSession->setICE(enabled);
+}
+
+bool rtCallSession::setQoS(rt_tmedia_qos_stype_t type, rt_tmedia_qos_strength_t strength)
+{
+ return m_pSipSession->setQoS((tmedia_qos_stype_t) type, (tmedia_qos_strength_t) strength);
+}
+
+bool rtCallSession::setVideoFps(int32_t fps)
+{
+ return m_pSipSession->setVideoFps(fps);
+}
+
+bool rtCallSession::setVideoBandwidthUploadMax(int32_t max)
+{
+ return m_pSipSession->setVideoBandwidthUploadMax(max);
+}
+
+bool rtCallSession::setVideoBandwidthDownloadMax(int32_t max)
+{
+ return m_pSipSession->setVideoBandwidthDownloadMax(max);
+}
+
+bool rtCallSession::setVideoPrefSize(rt_tmedia_pref_video_size_t pref_video_size)
+{
+ return m_pSipSession->setVideoPrefSize((tmedia_pref_video_size_t)pref_video_size);
+}
+
+bool rtCallSession::hold(rtActionConfig^ config)
+{
+ return m_pSipSession->hold(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtCallSession::hold()
+{
+ return hold(nullptr);
+}
+
+bool rtCallSession::resume(rtActionConfig^ config)
+{
+ return m_pSipSession->resume(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtCallSession::resume()
+{
+ return resume(nullptr);
+}
+
+bool rtCallSession::transfer(String^ referToUriString, rtActionConfig^ config)
+{
+ return m_pSipSession->transfer(rtString::toUtf8(referToUriString).data(), config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtCallSession::transfer(String^ referToUriString)
+{
+ return transfer(referToUriString, nullptr);
+}
+
+bool rtCallSession::acceptTransfer(rtActionConfig^ config)
+{
+ return m_pSipSession->acceptTransfer(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtCallSession::acceptTransfer()
+{
+ return acceptTransfer(nullptr);
+}
+
+bool rtCallSession::rejectTransfer(rtActionConfig^ config)
+{
+ return m_pSipSession->rejectTransfer(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtCallSession::rejectTransfer()
+{
+ return rejectTransfer(nullptr);
+}
+
+bool rtCallSession::sendDTMF(int number)
+{
+ return m_pSipSession->sendDTMF(number);
+}
+
+unsigned rtCallSession::getSessionTransferId()
+{
+ return m_pSipSession->getSessionTransferId();
+}
+
+#if COM_VISIBLE
+bool rtCallSession::sendT140Data(rt_tmedia_t140_data_type_t data_type, String^ data)
+{
+ std::vector _data = rtString::toUtf8(data);
+ return m_pSipSession->sendT140Data((tmedia_t140_data_type_t) data_type, (const void*)_data.data(), _data.size());
+}
+#else
+bool rtCallSession::sendT140Data(rt_tmedia_t140_data_type_t data_type, IntPtr data_ptr, unsigned data_size)
+{
+ return m_pSipSession->sendT140Data((tmedia_t140_data_type_t) data_type, (const void*)data_ptr, data_size);
+}
+
+#endif
+
+bool rtCallSession::sendT140Data(rt_tmedia_t140_data_type_t data_type)
+{
+ return sendT140Data(data_type, nullptr
+#if !COM_VISIBLE
+ , 0
+#endif
+ );
+}
+
+bool rtCallSession::setT140Callback(rtT140Callback^ pT140Callback)
+{
+ return m_pSipSession->setT140Callback(const_cast(pT140Callback->getWrappedCallback()));
+}
+
+
+/* ======================== rtMsrpSession ========================*/
+rtISession_Implement(rtMsrpSession);
+rtIInviteSession_Implement(rtMsrpSession);
+
+rtMsrpSession::rtMsrpSession(rtSipStack^ pStack, rtIMsrpCallback^ pCallback)
+{
+ m_pCallback = ref new rtMsrpCallback(pCallback);
+ m_pSipSession = new MsrpSession(const_cast(pStack->getWrappedStack()), const_cast(m_pCallback->getWrappedCallback()));
+}
+
+rtMsrpSession::rtMsrpSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
+{
+ m_pSipSession = new MsrpSession(pStack, pHandle);
+}
+
+rtMsrpSession::~rtMsrpSession()
+{
+ rtSafeDelete(m_pSipSession);
+ rtSafeDelete(m_pCallback);
+}
+
+bool rtMsrpSession::setCallback(rtIMsrpCallback^ pCallback)
+{
+ rtSafeDelete(m_pCallback);
+ if(!pCallback)
+ {
+ return m_pSipSession->setCallback(tsk_null);
+ return true;
+ }
+ m_pCallback = ref new rtMsrpCallback(pCallback);
+ return m_pSipSession->setCallback(const_cast(m_pCallback->getWrappedCallback()));
+}
+
+bool rtMsrpSession::callMsrp(Platform::String^ remoteUriString, rtActionConfig^ config)
+{
+ return m_pSipSession->callMsrp(rtString::toUtf8(remoteUriString).data(), config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtMsrpSession::callMsrp(Platform::String^ remoteUriString)
+{
+ return callMsrp(remoteUriString, nullptr);
+}
+
+bool rtMsrpSession::callMsrp(rtSipUri^ remoteUri, rtActionConfig^ config)
+{
+ return m_pSipSession->callMsrp(remoteUri->getWrappedUri(), config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtMsrpSession::callMsrp(rtSipUri^ remoteUri)
+{
+ return callMsrp(remoteUri, nullptr);
+}
+
+#if COM_VISIBLE
+bool rtMsrpSession::sendMessage(String^ payload, rtActionConfig^ config)
+{
+ std::vector _payload = rtString::toUtf8(payload);
+ return m_pSipSession->sendMessage((const void*)_payload.data(), _payload.size(), config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtMsrpSession::sendMessage(Platform::String^ payload)
+{
+ return sendMessage(payload, nullptr);
+}
+
+#else
+bool rtMsrpSession::sendMessage(Platform::IntPtr payload, unsigned len, rtActionConfig^ config)
+{
+ return m_pSipSession->sendMessage((const void*)payload, len, config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtMsrpSession::sendMessage(Platform::IntPtr payload, unsigned len)
+{
+ return sendMessage(payload, len, nullptr);
+}
+#endif /* COM_VISIBLE */
+
+
+/* ======================== rtMessagingSession ========================*/
+rtISession_Implement(rtMessagingSession);
+
+rtMessagingSession::rtMessagingSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
+{
+ m_pSipSession = new MessagingSession(pStack, pHandle);
+}
+
+rtMessagingSession::rtMessagingSession(rtSipStack^ pStack)
+{
+ m_pSipSession = new MessagingSession(const_cast(pStack->getWrappedStack()));
+}
+
+rtMessagingSession::~rtMessagingSession()
+{
+ rtSafeDelete(m_pSipSession);
+}
+
+#if COM_VISIBLE
+bool rtMessagingSession::send(String^ payload, rtActionConfig^ config)
+{
+ std::vector_payload = rtString::toUtf8(payload);
+ return m_pSipSession->send((const void*)_payload.data(), _payload.size(), config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtMessagingSession::send(Platform::String^ payload)
+{
+ return send(payload, nullptr);
+}
+
+#else
+bool rtMessagingSession::send(IntPtr payload, unsigned len, rtActionConfig^ config)
+{
+ return m_pSipSession->send((const void*)payload, len, config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtMessagingSession::send(IntPtr payload, unsigned len)
+{
+ return send(payload, len, nullptr);
+}
+#endif
+
+bool rtMessagingSession::accept(rtActionConfig^ config)
+{
+ return m_pSipSession->accept(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtMessagingSession::accept()
+{
+ return accept(nullptr);
+}
+
+bool rtMessagingSession::reject(rtActionConfig^ config)
+{
+ return m_pSipSession->reject(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtMessagingSession::reject()
+{
+ return reject(nullptr);
+}
+
+/* ======================== rtInfoSession ========================*/
+rtISession_Implement(rtInfoSession);
+
+rtInfoSession::rtInfoSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
+{
+ m_pSipSession = new InfoSession(pStack, pHandle);
+}
+
+rtInfoSession::rtInfoSession(rtSipStack^ pStack)
+{
+ m_pSipSession = new InfoSession(const_cast(pStack->getWrappedStack()));
+}
+
+rtInfoSession::~rtInfoSession()
+{
+ rtSafeDelete(m_pSipSession);
+}
+
+#if COM_VISIBLE
+bool rtInfoSession::send(Platform::String^ payload, rtActionConfig^ config)
+{
+ std::vector_payload = rtString::toUtf8(payload);
+ return m_pSipSession->send((const void*)_payload.data(), _payload.size(), config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtInfoSession::send(Platform::String^ payload)
+{
+ return send(payload, nullptr);
+}
+#else
+bool rtInfoSession::send(IntPtr payload, unsigned len, rtActionConfig^ config)
+{
+ return m_pSipSession->send((const void*)payload, len, config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtInfoSession::send(IntPtr payload, unsigned len)
+{
+ return send(payload, len, nullptr);
+}
+#endif
+
+bool rtInfoSession::accept(rtActionConfig^ config)
+{
+ return m_pSipSession->accept(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtInfoSession::accept()
+{
+ return accept(nullptr);
+}
+
+bool rtInfoSession::reject(rtActionConfig^ config)
+{
+ return m_pSipSession->reject(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtInfoSession::reject()
+{
+ return reject(nullptr);
+}
+
+
+
+/* ======================== rtOptionsSession ========================*/
+rtISession_Implement(rtOptionsSession);
+
+rtOptionsSession::rtOptionsSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
+{
+ m_pSipSession = new OptionsSession(pStack, pHandle);
+}
+
+rtOptionsSession::rtOptionsSession(rtSipStack^ pStack)
+{
+ m_pSipSession = new OptionsSession(const_cast(pStack->getWrappedStack()));
+}
+
+rtOptionsSession::~rtOptionsSession()
+{
+ rtSafeDelete(m_pSipSession);
+}
+
+bool rtOptionsSession::send(rtActionConfig^ config)
+{
+ return m_pSipSession->send(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtOptionsSession::send()
+{
+ return send(nullptr);
+}
+
+bool rtOptionsSession::accept(rtActionConfig^ config)
+{
+ return m_pSipSession->accept(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtOptionsSession::accept()
+{
+ return accept(nullptr);
+}
+
+bool rtOptionsSession::reject(rtActionConfig^ config)
+{
+ return m_pSipSession->reject(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtOptionsSession::reject()
+{
+ return reject(nullptr);
+}
+
+
+
+/* ======================== rtPublicationSession ========================*/
+rtISession_Implement(rtPublicationSession);
+
+rtPublicationSession::rtPublicationSession(rtSipStack^ pStack)
+{
+ m_pSipSession = new PublicationSession(const_cast(pStack->getWrappedStack()));
+}
+
+rtPublicationSession::rtPublicationSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
+{
+ m_pSipSession = new PublicationSession(pStack, pHandle);
+}
+
+rtPublicationSession::~rtPublicationSession()
+{
+ rtSafeDelete(m_pSipSession);
+}
+
+#if COM_VISIBLE
+bool rtPublicationSession::publish(String^ payload, rtActionConfig^ config)
+{
+ std::vector_payload = rtString::toUtf8(payload);
+ return m_pSipSession->publish((const void*)_payload.data(), _payload.size(), config ? config->getWrappedActionConfig() : tsk_null);
+}
+bool rtPublicationSession::publish(Platform::String^ payload)
+{
+ return publish(payload, nullptr);
+}
+#else
+bool rtPublicationSession::publish(Platform::IntPtr payload, unsigned len, rtActionConfig^ config)
+{
+ return m_pSipSession->publish((const void*)payload, len, config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtPublicationSession::publish(Platform::IntPtr payload, unsigned len)
+{
+ return publish(payload, len, nullptr);
+}
+#endif
+
+bool rtPublicationSession::unPublish(rtActionConfig^ config)
+{
+ return m_pSipSession->unPublish(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtPublicationSession::unPublish()
+{
+ return unPublish(nullptr);
+}
+
+
+/* ======================== rtRegistrationSession ========================*/
+rtISession_Implement(rtRegistrationSession);
+
+rtRegistrationSession::rtRegistrationSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
+{
+ m_pSipSession = new RegistrationSession(pStack, pHandle);
+}
+
+rtRegistrationSession::rtRegistrationSession(rtSipStack^ pStack)
+{
+ m_pSipSession = new RegistrationSession(const_cast(pStack->getWrappedStack()));
+}
+
+rtRegistrationSession::~rtRegistrationSession()
+{
+ rtSafeDelete(m_pSipSession);
+}
+
+bool rtRegistrationSession::register_(rtActionConfig^ config)
+{
+ return m_pSipSession->register_(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtRegistrationSession::register_()
+{
+ return register_(nullptr);
+}
+
+bool rtRegistrationSession::unRegister(rtActionConfig^ config)
+{
+ return m_pSipSession->unRegister(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtRegistrationSession::unRegister()
+{
+ return unRegister(nullptr);
+}
+
+bool rtRegistrationSession::accept(rtActionConfig^ config)
+{
+ return m_pSipSession->accept(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtRegistrationSession::accept()
+{
+ return accept(nullptr);
+}
+
+bool rtRegistrationSession::reject(rtActionConfig^ config)
+{
+ return m_pSipSession->reject(config ? config->getWrappedActionConfig() : tsk_null);
+}
+
+bool rtRegistrationSession::reject()
+{
+ return reject(nullptr);
+}
+
+
+/* ======================== rtSubscriptionSession ========================*/
+rtISession_Implement(rtSubscriptionSession);
+
+rtSubscriptionSession::rtSubscriptionSession(rtSipStack^ pStack)
+{
+ m_pSipSession = new SubscriptionSession(const_cast(pStack->getWrappedStack()));
+}
+
+rtSubscriptionSession::rtSubscriptionSession(SipStack* pStack, tsip_ssession_handle_t* pHandle)
+{
+ m_pSipSession = new SubscriptionSession(pStack, pHandle);
+}
+
+rtSubscriptionSession::~rtSubscriptionSession()
+{
+ rtSafeDelete(m_pSipSession);
+}
+
+bool rtSubscriptionSession::subscribe()
+{
+ return m_pSipSession->subscribe();
+}
+
+bool rtSubscriptionSession::unSubscribe()
+{
+ return m_pSipSession->unSubscribe();
}
\ No newline at end of file
diff --git a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipStack.cxx b/bindings/winrt/doubango_rt/src/rt_SipStack.cxx
similarity index 96%
rename from branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipStack.cxx
rename to bindings/winrt/doubango_rt/src/rt_SipStack.cxx
index 8aa4db13..753a8813 100644
--- a/branches/2.0/doubango/bindings/winrt/doubango_rt/src/rt_SipStack.cxx
+++ b/bindings/winrt/doubango_rt/src/rt_SipStack.cxx
@@ -1,390 +1,390 @@
-/*Copyright (C) 2013 Doubango Telecom
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*/
-#include "rt_SipStack.h"
-#include "rt_SipCallback.h"
-#include "rt_DDebug.h"
-#include "rt_String.h"
-#include "rt_Enums.h"
-
-#include "SipStack.h"
-
-
-using namespace doubango_rt::BackEnd;
-using namespace Platform;
-using namespace std;
-
-rtSipStack::rtSipStack(rtISipCallback^ callback, Platform::String^ realmUri, Platform::String^ impiString, Platform::String^ impuUri)
-{
- m_pSipCallback = ref new rtSipCallback(callback);
- m_pSipStack = new SipStack(
- const_cast(m_pSipCallback->getWrappedCallback()),
- rtString::toUtf8(realmUri).data(),
- rtString::toUtf8(impiString).data(),
- rtString::toUtf8(impuUri).data()
- );
-}
-
-rtSipStack::~rtSipStack()
-{
- std::lock_guard lock(mLock);
-
- rtSafeDelete(m_pSipStack);
- rtSafeDelete(m_pSipCallback);
- rtSafeDelete(m_pDebugCallback);
-}
-
-bool rtSipStack::start()
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->start();
-}
-
-bool rtSipStack::setDebugCallback(rtIDDebugCallback^ pCallback)
-{
- std::lock_guard lock(mLock);
-
- m_pSipStack->setDebugCallback(tsk_null);
- rtSafeDelete(m_pDebugCallback);
- if(!pCallback)
- {
- return true;
- }
-
- m_pDebugCallback = ref new rtDDebugCallback(pCallback);
- return m_pSipStack->setDebugCallback(const_cast(m_pDebugCallback->getWrappedCallback()));
-}
-
-bool rtSipStack::setDisplayName(Platform::String^ display_name)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setDisplayName(rtString::toUtf8(display_name).data());
-}
-
-bool rtSipStack::setRealm(Platform::String^ realm_uri)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setRealm(rtString::toUtf8(realm_uri).data());
-}
-
-bool rtSipStack::setIMPI(Platform::String^ impi)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setIMPI(rtString::toUtf8(impi).data());
-}
-
-bool rtSipStack::setIMPU(Platform::String^ impu_uri)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setIMPU(rtString::toUtf8(impu_uri).data());
-}
-
-bool rtSipStack::setPassword(Platform::String^ password)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setPassword(rtString::toUtf8(password).data());
-}
-
-bool rtSipStack::setAMF(Platform::String^ amf)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setAMF(rtString::toUtf8(amf).data());
-}
-
-bool rtSipStack::setOperatorId(Platform::String^ opid)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setOperatorId(rtString::toUtf8(opid).data());
-}
-
-
-bool rtSipStack::setProxyCSCF(Platform::String^ fqdn, unsigned short port, Platform::String^ transport, Platform::String^ ipversion)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setProxyCSCF(
- rtString::toUtf8(fqdn).data(),
- port,
- rtString::toUtf8(transport).data(),
- rtString::toUtf8(ipversion).data()
- );
-}
-bool rtSipStack::setLocalIP(Platform::String^ ip, Platform::String^ transport)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setLocalIP(rtString::toUtf8(ip).data(), rtString::toUtf8(transport).data());
-}
-
-bool rtSipStack::setLocalIP(Platform::String^ ip)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setLocalIP(rtString::toUtf8(ip).data());
-}
-
-bool rtSipStack::setLocalPort(unsigned short port, Platform::String^ transport)
-{
- return m_pSipStack->setLocalPort(port, rtString::toUtf8(transport).data());
-}
-
-bool rtSipStack::setLocalPort(unsigned short port)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setLocalPort(port);
-}
-
-bool rtSipStack::setEarlyIMS(bool enabled)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setEarlyIMS(enabled);
-}
-
-bool rtSipStack::addHeader(Platform::String^ name, Platform::String^ value)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->addHeader(rtString::toUtf8(name).data(), rtString::toUtf8(value).data());
-}
-
-bool rtSipStack::removeHeader(Platform::String^ name)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->removeHeader(rtString::toUtf8(name).data());
-}
-
-bool rtSipStack::addDnsServer(Platform::String^ ip)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->removeHeader(rtString::toUtf8(ip).data());
-}
-
-bool rtSipStack::setDnsDiscovery(bool enabled)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setDnsDiscovery(enabled);
-}
-
-bool rtSipStack::setAoR(Platform::String^ ip, int port)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setAoR(rtString::toUtf8(ip).data(), port);
-}
-
-bool rtSipStack::setSigCompParams(unsigned dms, unsigned sms, unsigned cpb, bool enablePresDict)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setSigCompParams(dms, sms, cpb, enablePresDict);
-}
-
-bool rtSipStack::addSigCompCompartment(Platform::String^ compId)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->addSigCompCompartment(rtString::toUtf8(compId).data());
-}
-
-bool rtSipStack::removeSigCompCompartment(Platform::String^ compId)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->removeSigCompCompartment(rtString::toUtf8(compId).data());
-}
-
-bool rtSipStack::setSTUNServer(Platform::String^ ip, unsigned short port)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setSTUNServer(rtString::toUtf8(ip).data(), port);
-}
-
-bool rtSipStack::setSTUNCred(Platform::String^ login, Platform::String^ password)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setSTUNCred(rtString::toUtf8(login).data(), rtString::toUtf8(password).data());
-}
-
-bool rtSipStack::setTLSSecAgree(bool enabled)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setTLSSecAgree(enabled);
-}
-
-bool rtSipStack::setSSLCertificates(Platform::String^ privKey, Platform::String^ pubKey, Platform::String^ caKey, bool verify)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setSSLCertificates(rtString::toUtf8(privKey).data(), rtString::toUtf8(pubKey).data(), rtString::toUtf8(caKey).data(), verify);
-}
-
-bool rtSipStack::setSSLCertificates(Platform::String^ privKey, Platform::String^ pubKey, Platform::String^ caKey)
-{
- std::lock_guard lock(mLock);
-
- return setSSLCertificates(privKey, pubKey, caKey, false);
-}
-
-bool rtSipStack::setIPSecSecAgree(bool enabled)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setIPSecSecAgree(enabled);
-}
-
-bool rtSipStack::setIPSecParameters(Platform::String^ algo, Platform::String^ ealgo, Platform::String^ mode, Platform::String^ proto)
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->setIPSecParameters(rtString::toUtf8(algo).data(), rtString::toUtf8(ealgo).data(), rtString::toUtf8(mode).data(), rtString::toUtf8(proto).data());
-}
-
-Platform::String^ rtSipStack::dnsENUM(Platform::String^ service, Platform::String^ e164num, Platform::String^ domain)
-{
- std::lock_guard lock(mLock);
-
- return rtString::toString(m_pSipStack->dnsENUM(rtString::toUtf8(service).data(), rtString::toUtf8(e164num).data(), rtString::toUtf8(domain).data()));
-}
-
-#if COM_VISIBLE
-rtDnsResult^ rtSipStack::dnsNaptrSrv(String^ domain, String^ service)
-{
- std::lock_guard lock(mLock);
-
- unsigned short _port = 0;
- String^ address = rtString::toString(m_pSipStack->dnsNaptrSrv(rtString::toUtf8(domain).data(), rtString::toUtf8(service).data(), &_port));
- return ref new rtDnsResult(_port, address);
-}
-
-rtDnsResult^ rtSipStack::dnsSrv(String^ service)
-{
- std::lock_guard lock(mLock);
-
- unsigned short _port = 0;
- String^ address = rtString::toString(m_pSipStack->dnsSrv(rtString::toUtf8(service).data(), &_port));
- return ref new rtDnsResult(_port, address);
-}
-
-String^ rtSipStack::getLocalIP(String^ protocol)
-{
- std::lock_guard lock(mLock);
-
- char* _ip = m_pSipStack->getLocalIPnPort(rtString::toUtf8(protocol).data(), tsk_null);
- String^ ip = rtString::toString(_ip);
- TSK_FREE(_ip);
- return ip;
-}
-
-uint16 rtSipStack::getLocalPort(String^ protocol)
-{
- std::lock_guard lock(mLock);
-
- uint16 port = 0;
- char* _ip = m_pSipStack->getLocalIPnPort(rtString::toUtf8(protocol).data(), &port);
- TSK_FREE(_ip);
- return port;
-}
-#else
-String^ rtSipStack::dnsNaptrSrv(String^ domain, String^ service, IntPtr port)
-{
- std::lock_guard lock(mLock);
-
- return rtString::toString(m_pSipStack->dnsNaptrSrv(rtString::toUtf8(domain).data(), rtString::toUtf8(service).data(), ((unsigned short*)(void*)port)));
-}
-
-String^ rtSipStack::dnsSrv(String^ service, IntPtr port)
-{
- std::lock_guard lock(mLock);
-
- return rtString::toString(m_pSipStack->dnsSrv(rtString::toUtf8(service).data(), ((unsigned short*)(void*)port)));
-}
-
-Platform::String^ rtSipStack::getLocalIPnPort(String^ protocol, IntPtr port)
-{
- std::lock_guard lock(mLock);
-
- char* _ip = m_pSipStack->getLocalIPnPort(rtString::toUtf8(protocol).data(), ((unsigned short*)(void*)port));
- String^ ip = rtString::toString();
- TSK_FREE(_ip);
- return ip;
-}
-#endif /* COM_VISIBLE */
-
-Platform::String^ rtSipStack::getPreferredIdentity()
-{
- std::lock_guard lock(mLock);
-
- return rtString::toString(m_pSipStack->getPreferredIdentity());
-}
-
-bool rtSipStack::isValid()
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->isValid();
-}
-
-bool rtSipStack::stop()
-{
- std::lock_guard lock(mLock);
-
- return m_pSipStack->stop();
-}
-
-bool rtSipStack::initialize()
-{
- return SipStack::initialize();
-}
-
-bool rtSipStack::deInitialize()
-{
- return SipStack::deInitialize();
-}
-
-void rtSipStack::setCodecs(enum class rt_tdav_codec_id_t codecs)
-{
- return SipStack::setCodecs((tdav_codec_id_t) codecs);
-}
-
-bool rtSipStack::setCodecPriority(enum class rt_tdav_codec_id_t codec_id, int priority)
-{
- return SipStack::setCodecPriority((tdav_codec_id_t)codec_id, priority);
-}
-
-bool rtSipStack::isCodecSupported(enum class rt_tdav_codec_id_t codec_id)
-{
- return SipStack::isCodecSupported((tdav_codec_id_t) codec_id);
-}
-
-
-
+/*Copyright (C) 2013 Doubango Telecom
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*/
+#include "rt_SipStack.h"
+#include "rt_SipCallback.h"
+#include "rt_DDebug.h"
+#include "rt_String.h"
+#include "rt_Enums.h"
+
+#include "SipStack.h"
+
+
+using namespace doubango_rt::BackEnd;
+using namespace Platform;
+using namespace std;
+
+rtSipStack::rtSipStack(rtISipCallback^ callback, Platform::String^ realmUri, Platform::String^ impiString, Platform::String^ impuUri)
+{
+ m_pSipCallback = ref new rtSipCallback(callback);
+ m_pSipStack = new SipStack(
+ const_cast(m_pSipCallback->getWrappedCallback()),
+ rtString::toUtf8(realmUri).data(),
+ rtString::toUtf8(impiString).data(),
+ rtString::toUtf8(impuUri).data()
+ );
+}
+
+rtSipStack::~rtSipStack()
+{
+ std::lock_guard lock(mLock);
+
+ rtSafeDelete(m_pSipStack);
+ rtSafeDelete(m_pSipCallback);
+ rtSafeDelete(m_pDebugCallback);
+}
+
+bool rtSipStack::start()
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->start();
+}
+
+bool rtSipStack::setDebugCallback(rtIDDebugCallback^ pCallback)
+{
+ std::lock_guard lock(mLock);
+
+ m_pSipStack->setDebugCallback(tsk_null);
+ rtSafeDelete(m_pDebugCallback);
+ if(!pCallback)
+ {
+ return true;
+ }
+
+ m_pDebugCallback = ref new rtDDebugCallback(pCallback);
+ return m_pSipStack->setDebugCallback(const_cast(m_pDebugCallback->getWrappedCallback()));
+}
+
+bool rtSipStack::setDisplayName(Platform::String^ display_name)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setDisplayName(rtString::toUtf8(display_name).data());
+}
+
+bool rtSipStack::setRealm(Platform::String^ realm_uri)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setRealm(rtString::toUtf8(realm_uri).data());
+}
+
+bool rtSipStack::setIMPI(Platform::String^ impi)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setIMPI(rtString::toUtf8(impi).data());
+}
+
+bool rtSipStack::setIMPU(Platform::String^ impu_uri)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setIMPU(rtString::toUtf8(impu_uri).data());
+}
+
+bool rtSipStack::setPassword(Platform::String^ password)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setPassword(rtString::toUtf8(password).data());
+}
+
+bool rtSipStack::setAMF(Platform::String^ amf)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setAMF(rtString::toUtf8(amf).data());
+}
+
+bool rtSipStack::setOperatorId(Platform::String^ opid)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setOperatorId(rtString::toUtf8(opid).data());
+}
+
+
+bool rtSipStack::setProxyCSCF(Platform::String^ fqdn, unsigned short port, Platform::String^ transport, Platform::String^ ipversion)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setProxyCSCF(
+ rtString::toUtf8(fqdn).data(),
+ port,
+ rtString::toUtf8(transport).data(),
+ rtString::toUtf8(ipversion).data()
+ );
+}
+bool rtSipStack::setLocalIP(Platform::String^ ip, Platform::String^ transport)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setLocalIP(rtString::toUtf8(ip).data(), rtString::toUtf8(transport).data());
+}
+
+bool rtSipStack::setLocalIP(Platform::String^ ip)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setLocalIP(rtString::toUtf8(ip).data());
+}
+
+bool rtSipStack::setLocalPort(unsigned short port, Platform::String^ transport)
+{
+ return m_pSipStack->setLocalPort(port, rtString::toUtf8(transport).data());
+}
+
+bool rtSipStack::setLocalPort(unsigned short port)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setLocalPort(port);
+}
+
+bool rtSipStack::setEarlyIMS(bool enabled)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setEarlyIMS(enabled);
+}
+
+bool rtSipStack::addHeader(Platform::String^ name, Platform::String^ value)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->addHeader(rtString::toUtf8(name).data(), rtString::toUtf8(value).data());
+}
+
+bool rtSipStack::removeHeader(Platform::String^ name)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->removeHeader(rtString::toUtf8(name).data());
+}
+
+bool rtSipStack::addDnsServer(Platform::String^ ip)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->removeHeader(rtString::toUtf8(ip).data());
+}
+
+bool rtSipStack::setDnsDiscovery(bool enabled)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setDnsDiscovery(enabled);
+}
+
+bool rtSipStack::setAoR(Platform::String^ ip, int port)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setAoR(rtString::toUtf8(ip).data(), port);
+}
+
+bool rtSipStack::setSigCompParams(unsigned dms, unsigned sms, unsigned cpb, bool enablePresDict)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setSigCompParams(dms, sms, cpb, enablePresDict);
+}
+
+bool rtSipStack::addSigCompCompartment(Platform::String^ compId)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->addSigCompCompartment(rtString::toUtf8(compId).data());
+}
+
+bool rtSipStack::removeSigCompCompartment(Platform::String^ compId)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->removeSigCompCompartment(rtString::toUtf8(compId).data());
+}
+
+bool rtSipStack::setSTUNServer(Platform::String^ ip, unsigned short port)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setSTUNServer(rtString::toUtf8(ip).data(), port);
+}
+
+bool rtSipStack::setSTUNCred(Platform::String^ login, Platform::String^ password)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setSTUNCred(rtString::toUtf8(login).data(), rtString::toUtf8(password).data());
+}
+
+bool rtSipStack::setTLSSecAgree(bool enabled)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setTLSSecAgree(enabled);
+}
+
+bool rtSipStack::setSSLCertificates(Platform::String^ privKey, Platform::String^ pubKey, Platform::String^ caKey, bool verify)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setSSLCertificates(rtString::toUtf8(privKey).data(), rtString::toUtf8(pubKey).data(), rtString::toUtf8(caKey).data(), verify);
+}
+
+bool rtSipStack::setSSLCertificates(Platform::String^ privKey, Platform::String^ pubKey, Platform::String^ caKey)
+{
+ std::lock_guard lock(mLock);
+
+ return setSSLCertificates(privKey, pubKey, caKey, false);
+}
+
+bool rtSipStack::setIPSecSecAgree(bool enabled)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setIPSecSecAgree(enabled);
+}
+
+bool rtSipStack::setIPSecParameters(Platform::String^ algo, Platform::String^ ealgo, Platform::String^ mode, Platform::String^ proto)
+{
+ std::lock_guard lock(mLock);
+
+ return m_pSipStack->setIPSecParameters(rtString::toUtf8(algo).data(), rtString::toUtf8(ealgo).data(), rtString::toUtf8(mode).data(), rtString::toUtf8(proto).data());
+}
+
+Platform::String^ rtSipStack::dnsENUM(Platform::String^ service, Platform::String^ e164num, Platform::String^ domain)
+{
+ std::lock_guard lock(mLock);
+
+ return rtString::toString(m_pSipStack->dnsENUM(rtString::toUtf8(service).data(), rtString::toUtf8(e164num).data(), rtString::toUtf8(domain).data()));
+}
+
+#if COM_VISIBLE
+rtDnsResult^ rtSipStack::dnsNaptrSrv(String^ domain, String^ service)
+{
+ std::lock_guard