diff -r ae942d28ec0e -r 2455ef1f5bbc javaextensions/iapinfo/src.s60/javacommdb.cpp --- a/javaextensions/iapinfo/src.s60/javacommdb.cpp Tue Aug 31 15:09:22 2010 +0300 +++ b/javaextensions/iapinfo/src.s60/javacommdb.cpp Wed Sep 01 12:33:18 2010 +0100 @@ -24,9 +24,6 @@ #include "logger.h" #include "javajniutils.h" -#include "fs_methodcall.h" -#include "com_nokia_mid_iapinfo_IAPInfoImpl.h" - using namespace CommsDat; using namespace java::util; @@ -38,65 +35,49 @@ _LIT(KFieldNameRecordId, "RecordId"); _LIT(KFieldNameName, "Name"); -JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_IAPInfoImpl__1createSession -(JNIEnv *, jobject) -{ - IapInfoSession *sess = NULL; - TRAPD(err,sess = IapInfoSession::NewL();); - if (err!=KErrNone) - { - return err; - } - return reinterpret_cast(sess); - -} - - JNIEXPORT void JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1destroy(JNIEnv* , jclass, - jint /*aHandle*/) + jint aHandle) { - LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + destroy()"); - // JavaCommDB* commdb = reinterpret_cast(aHandle); - // delete commdb; + LOG1(ESOCKET, EInfo, "CJAVACOMMDB + destroy() handle: %D", aHandle); + JavaCommDB* commdb = reinterpret_cast(aHandle); + delete commdb; LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - destroy()"); } - -JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1open(JNIEnv* aJni, - jclass, jint aSessionHandle, - jstring aTableName) +JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1construct(JNIEnv* , + jclass) { - LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + open()gggggggggg"); - IapInfoSession* session = reinterpret_cast(aSessionHandle); - JavaCommDB *cdb = new JavaCommDB(session); - JStringUtils table(*aJni, aTableName); - int err = -1; - TRAP(err,CallMethodL(cdb, &JavaCommDB::OpenL,table,cdb->iSession);); + LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + construct()"); + JavaCommDB *cdb = new JavaCommDB(); TInt handle = reinterpret_cast(cdb); - if (err < 0) - handle = err; - LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - open()hhhhhh"); + LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB - construct() handle: %D", handle); return handle; } +JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1open(JNIEnv* aJni, + jclass, jint aHandle, + jstring aTableName) +{ + LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + open()"); + JavaCommDB* commdb = reinterpret_cast(aHandle); + JStringUtils table(*aJni, aTableName); + + //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB opening table: %S", table ); + TRAPD(error, commdb->OpenL(table)); + LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - open()"); + return error; +} JNIEXPORT void JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1close(JNIEnv* , jclass, jint aHandle) { LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB + close() handle: %D", aHandle); JavaCommDB* commdb = reinterpret_cast(aHandle); - CallMethod(commdb, &JavaCommDB::Close,commdb->iSession); - //TRAP_IGNORE(commdb->Close()); + TRAP_IGNORE(commdb->Close()); LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - close()"); } -void JavaCommDB::Destroy(JavaCommDB* aObj) -{ - delete aObj; - -} - JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1getRecordCount(JNIEnv* , jclass, jint aHandle) @@ -104,8 +85,7 @@ LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + getRecordCount()"); JavaCommDB* commdb = reinterpret_cast(aHandle); TInt count = 0; - CallMethod(count, commdb, &JavaCommDB::GetRecordCount,commdb->iSession); - //count = commdb->GetRecordCount(); + count = commdb->GetRecordCount(); LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB returning value: %D", count); LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - getRecordCount()"); return count; @@ -124,9 +104,7 @@ JStringUtils field(*aJni, aFieldName); //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB reading field value: %S", field ); - - TRAPD(err,CallMethodL(value, commdb, &JavaCommDB::GetIntFieldValueL,field,commdb->iSession);); - //TRAPD(err, value = commdb->GetIntFieldValueL(field)); + TRAPD(err, value = commdb->GetIntFieldValueL(field)); // Put the native error code into the Java error array jint javaError[1] = @@ -153,8 +131,7 @@ JStringUtils field(*aJni, aFieldName); //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB reading field value: %S", field ); - TRAPD(err,CallMethodL(value, commdb, &JavaCommDB::GetStringFieldValueL,field,commdb->iSession);); - // TRAPD(err, value = commdb->GetStringFieldValueL(field)); + TRAPD(err, value = commdb->GetStringFieldValueL(field)); if (NULL != value && KErrNone == err) { str = S60CommonUtils::NativeToJavaString(*aJni, value->Des()); @@ -176,9 +153,7 @@ { LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + next()"); JavaCommDB* commdb = reinterpret_cast(aHandle); - TInt rec; - CallMethod(rec, commdb, &JavaCommDB::Next,commdb->iSession); - //TInt rec = commdb->Next(); + TInt rec = commdb->Next(); LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - next()"); return rec; } @@ -199,8 +174,7 @@ TInt recId = 0; JavaCommDB* commdb = reinterpret_cast(aHandle); - CallMethod(recId, commdb, &JavaCommDB::FindById,aId,commdb->iSession); - //recId = commdb->FindById(aId); + recId = commdb->FindById(aId); LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - findById()"); return recId; } @@ -215,10 +189,7 @@ JStringUtils name(*aJni, aName); JavaCommDB* commdb = reinterpret_cast(aHandle); - TRAPD(err,CallMethodL(recId, commdb, &JavaCommDB::FindByNameL,name,commdb->iSession);); - if (err < KErrNone) - recId = err; - //TRAP(recId, recId = commdb->FindByNameL(name)); + TRAP(recId, recId = commdb->FindByNameL(name)); LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - findByName()"); return recId; } @@ -228,13 +199,6 @@ * --------------------------------------------------------------------------- */ -JavaCommDB::JavaCommDB(IapInfoSession *aSession) -{ - iSession = aSession; - - -} - // --------------------------------------------------------------------------- // Delete allocated member objects. // ----------------------------------------------------------------------------- @@ -247,18 +211,19 @@ // --------------------------------------------------------------------------- // Delete allocated member objects. +// @return error code // ----------------------------------------------------------------------------- -void JavaCommDB::Close() +TInt JavaCommDB::Close() { LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + Close()"); iCurrentRecord = 0; - if (iTable) - delete iTable; - + delete iTable; iTable = NULL; + delete iDb; + iDb = NULL; LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - Close()"); - + return KErrNone; } // --------------------------------------------------------------------------- @@ -269,7 +234,7 @@ void JavaCommDB::OpenL(const TDesC& aTableName) { //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB + OpenL(): open table: %S", aTableName); - //iDb = CMDBSession::NewL(KCDVersion1_1); + iDb = CMDBSession::NewL(KCDVersion1_1); iCurrentRecord = 0; if (0 == aTableName.Compare(KIAPTable)) @@ -294,8 +259,7 @@ "CJAVACOMMDB OpenL(): ConnectionPreferences table opened."); } // Load the table - - iTable->LoadL(*(iSession->iDb)); + iTable->LoadL(*iDb); LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - OpenL()"); }