javaextensions/datagram/datagram/src/datagramconnectionjni.cpp
changeset 49 35baca0e7a2e
parent 21 2a9601315dfc
child 87 1627c337e51e
equal deleted inserted replaced
35:85266cc22c7f 49:35baca0e7a2e
    21 #include "string.h"
    21 #include "string.h"
    22 #include "nativedatagramconnection.h"
    22 #include "nativedatagramconnection.h"
    23 #include "logger.h"
    23 #include "logger.h"
    24 #include "pushexception.h"
    24 #include "pushexception.h"
    25 #include "pusherrorcodes.h"
    25 #include "pusherrorcodes.h"
       
    26 #include "socketlocalhostinfo.h"
    26 
    27 
    27 using namespace java;
    28 using namespace java;
    28 
    29 
    29 JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_datagram_UDPDatagramConnectionImpl__1createNativePeer
    30 JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_datagram_UDPDatagramConnectionImpl__1createNativePeer
    30 (JNIEnv* aJni, jobject /*peer*/, jstring aName, jint aMode, jstring aHost, jint aPort)
    31 (JNIEnv* aJni, jobject /*peer*/, jstring aName, jint aMode, jstring aHost, jint aPort)
    97     LOG1(ESOCKET,EInfo,"Datagram JNI, receive, returning ", 2);
    98     LOG1(ESOCKET,EInfo,"Datagram JNI, receive, returning ", 2);
    98     return retVal;
    99     return retVal;
    99 }
   100 }
   100 
   101 
   101 JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_datagram_UDPDatagramConnectionImpl__1getLocalAddress
   102 JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_datagram_UDPDatagramConnectionImpl__1getLocalAddress
   102 (JNIEnv *aJni, jobject, jint nativePeerHandle, jobjectArray aAddress)
   103 (JNIEnv *aJni, jobject, jint /* nativePeerHandle */, jobjectArray aAddress, jint aMidletIapId, jint aApType)
   103 {
   104 {
   104     char * addr = new char[256];
   105     char * addr = new char[256];
   105     NativeDatagramConnection* datagramConn = reinterpret_cast<NativeDatagramConnection*>(nativePeerHandle);
   106 
   106     int retVal = datagramConn->getLocalAddress(addr);
   107     int err = SocketLocalHostInfo::getLocalAddress(0,addr,aMidletIapId,aApType);
       
   108     PLOG2(ESOCKET, "getLocalAddress, ret = %d, addr = %s" , err, addr);
   107     jstring jnistring = aJni->NewStringUTF(addr);
   109     jstring jnistring = aJni->NewStringUTF(addr);
   108     aJni->SetObjectArrayElement(aAddress, 0, jnistring);
   110     aJni->SetObjectArrayElement(aAddress, 0, jnistring);
   109     aJni->DeleteLocalRef(jnistring);
   111     aJni->DeleteLocalRef(jnistring);
   110     delete[] addr;
   112     delete[] addr;
   111     return retVal;
   113 
       
   114     return err;
   112 }
   115 }
   113 
   116 
   114 JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_datagram_UDPDatagramConnectionImpl__1getLocalPort
   117 JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_datagram_UDPDatagramConnectionImpl__1getLocalPort
   115 (JNIEnv* /*aJni*/, jobject, jint nativePeerHandle)
   118 (JNIEnv* /*aJni*/, jobject, jint nativePeerHandle)
   116 {
   119 {