123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- /* 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"
- %typemap(jstype) void * "java.nio.ByteBuffer"
- %typemap(javain) void * "$javainput"
- %typemap(javaout) void * { return $jnicall; }
- // (From Java to C)
- %typemap(in) void * %{
- $1 = jenv->GetDirectBufferAddress($input);
- %}
- // (From C to Java)
- //%typemap(out) void * %{
- // $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;
- }
- %}
- %include ../_common/tinyWRAP.i
|