33 _LIT(KGlobalSettingsTable, "GlobalSettings"); |
36 _LIT(KGlobalSettingsTable, "GlobalSettings"); |
34 //_LIT( KNetworkTable, "Network" ); |
37 //_LIT( KNetworkTable, "Network" ); |
35 _LIT(KFieldNameRecordId, "RecordId"); |
38 _LIT(KFieldNameRecordId, "RecordId"); |
36 _LIT(KFieldNameName, "Name"); |
39 _LIT(KFieldNameName, "Name"); |
37 |
40 |
|
41 JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_IAPInfoImpl__1createSession |
|
42 (JNIEnv *, jobject) |
|
43 { |
|
44 IapInfoSession *sess = NULL; |
|
45 TRAPD(err,sess = IapInfoSession::NewL();); |
|
46 if (err!=KErrNone) |
|
47 { |
|
48 return err; |
|
49 } |
|
50 return reinterpret_cast<int>(sess); |
|
51 |
|
52 } |
|
53 |
|
54 |
38 JNIEXPORT void JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1destroy(JNIEnv* , |
55 JNIEXPORT void JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1destroy(JNIEnv* , |
39 jclass, |
56 jclass, |
40 jint aHandle) |
57 jint /*aHandle*/) |
41 { |
58 { |
42 LOG1(ESOCKET, EInfo, "CJAVACOMMDB + destroy() handle: %D", aHandle); |
59 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + destroy()"); |
43 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
60 // JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
44 delete commdb; |
61 // delete commdb; |
45 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - destroy()"); |
62 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - destroy()"); |
46 } |
63 } |
47 |
64 |
48 JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1construct(JNIEnv* , |
65 |
49 jclass) |
66 JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1open(JNIEnv* aJni, |
50 { |
67 jclass, jint aSessionHandle, |
51 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + construct()"); |
68 jstring aTableName) |
52 JavaCommDB *cdb = new JavaCommDB(); |
69 { |
|
70 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + open()gggggggggg"); |
|
71 IapInfoSession* session = reinterpret_cast<IapInfoSession *>(aSessionHandle); |
|
72 JavaCommDB *cdb = new JavaCommDB(session); |
|
73 JStringUtils table(*aJni, aTableName); |
|
74 int err = -1; |
|
75 TRAP(err,CallMethodL(cdb, &JavaCommDB::OpenL,table,cdb->iSession);); |
53 TInt handle = reinterpret_cast<jint>(cdb); |
76 TInt handle = reinterpret_cast<jint>(cdb); |
54 LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB - construct() handle: %D", handle); |
77 if (err < 0) |
|
78 handle = err; |
|
79 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - open()hhhhhh"); |
55 return handle; |
80 return handle; |
56 } |
81 } |
57 |
82 |
58 JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1open(JNIEnv* aJni, |
|
59 jclass, jint aHandle, |
|
60 jstring aTableName) |
|
61 { |
|
62 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + open()"); |
|
63 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
|
64 JStringUtils table(*aJni, aTableName); |
|
65 |
|
66 //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB opening table: %S", table ); |
|
67 TRAPD(error, commdb->OpenL(table)); |
|
68 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - open()"); |
|
69 return error; |
|
70 } |
|
71 |
83 |
72 JNIEXPORT void JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1close(JNIEnv* , |
84 JNIEXPORT void JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1close(JNIEnv* , |
73 jclass, jint aHandle) |
85 jclass, jint aHandle) |
74 { |
86 { |
75 LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB + close() handle: %D", aHandle); |
87 LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB + close() handle: %D", aHandle); |
76 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
88 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
77 TRAP_IGNORE(commdb->Close()); |
89 CallMethod(commdb, &JavaCommDB::Close,commdb->iSession); |
|
90 //TRAP_IGNORE(commdb->Close()); |
78 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - close()"); |
91 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - close()"); |
79 } |
92 } |
80 |
93 |
|
94 void JavaCommDB::Destroy(JavaCommDB* aObj) |
|
95 { |
|
96 delete aObj; |
|
97 |
|
98 } |
|
99 |
81 JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1getRecordCount(JNIEnv* , |
100 JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1getRecordCount(JNIEnv* , |
82 jclass, |
101 jclass, |
83 jint aHandle) |
102 jint aHandle) |
84 { |
103 { |
85 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + getRecordCount()"); |
104 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + getRecordCount()"); |
86 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
105 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
87 TInt count = 0; |
106 TInt count = 0; |
88 count = commdb->GetRecordCount(); |
107 CallMethod(count, commdb, &JavaCommDB::GetRecordCount,commdb->iSession); |
|
108 //count = commdb->GetRecordCount(); |
89 LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB returning value: %D", count); |
109 LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB returning value: %D", count); |
90 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - getRecordCount()"); |
110 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - getRecordCount()"); |
91 return count; |
111 return count; |
92 } |
112 } |
93 |
113 |
102 |
122 |
103 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
123 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
104 JStringUtils field(*aJni, aFieldName); |
124 JStringUtils field(*aJni, aFieldName); |
105 |
125 |
106 //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB reading field value: %S", field ); |
126 //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB reading field value: %S", field ); |
107 TRAPD(err, value = commdb->GetIntFieldValueL(field)); |
127 |
|
128 TRAPD(err,CallMethodL(value, commdb, &JavaCommDB::GetIntFieldValueL,field,commdb->iSession);); |
|
129 //TRAPD(err, value = commdb->GetIntFieldValueL(field)); |
108 |
130 |
109 // Put the native error code into the Java error array |
131 // Put the native error code into the Java error array |
110 jint javaError[1] = |
132 jint javaError[1] = |
111 { err}; |
133 { err}; |
112 aJni->SetIntArrayRegion(aError, 0, 1, javaError); |
134 aJni->SetIntArrayRegion(aError, 0, 1, javaError); |
129 |
151 |
130 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
152 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
131 JStringUtils field(*aJni, aFieldName); |
153 JStringUtils field(*aJni, aFieldName); |
132 |
154 |
133 //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB reading field value: %S", field ); |
155 //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB reading field value: %S", field ); |
134 TRAPD(err, value = commdb->GetStringFieldValueL(field)); |
156 TRAPD(err,CallMethodL(value, commdb, &JavaCommDB::GetStringFieldValueL,field,commdb->iSession);); |
|
157 // TRAPD(err, value = commdb->GetStringFieldValueL(field)); |
135 if (NULL != value && KErrNone == err) |
158 if (NULL != value && KErrNone == err) |
136 { |
159 { |
137 str = S60CommonUtils::NativeToJavaString(*aJni, value->Des()); |
160 str = S60CommonUtils::NativeToJavaString(*aJni, value->Des()); |
138 //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB returning value: %S", value->Des() ); |
161 //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB returning value: %S", value->Des() ); |
139 delete value; |
162 delete value; |
151 JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1next(JNIEnv* , |
174 JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1next(JNIEnv* , |
152 jclass, jint aHandle) |
175 jclass, jint aHandle) |
153 { |
176 { |
154 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + next()"); |
177 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + next()"); |
155 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
178 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
156 TInt rec = commdb->Next(); |
179 TInt rec; |
|
180 CallMethod(rec, commdb, &JavaCommDB::Next,commdb->iSession); |
|
181 //TInt rec = commdb->Next(); |
157 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - next()"); |
182 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - next()"); |
158 return rec; |
183 return rec; |
159 } |
184 } |
160 |
185 |
161 JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1previous(JNIEnv* , |
186 JNIEXPORT jint JNICALL Java_com_nokia_mid_iapinfo_CommsTable__1previous(JNIEnv* , |
187 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + findByName()"); |
213 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + findByName()"); |
188 TInt recId = 0; |
214 TInt recId = 0; |
189 JStringUtils name(*aJni, aName); |
215 JStringUtils name(*aJni, aName); |
190 |
216 |
191 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
217 JavaCommDB* commdb = reinterpret_cast<JavaCommDB *>(aHandle); |
192 TRAP(recId, recId = commdb->FindByNameL(name)); |
218 TRAPD(err,CallMethodL(recId, commdb, &JavaCommDB::FindByNameL,name,commdb->iSession);); |
|
219 if (err < KErrNone) |
|
220 recId = err; |
|
221 //TRAP(recId, recId = commdb->FindByNameL(name)); |
193 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - findByName()"); |
222 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - findByName()"); |
194 return recId; |
223 return recId; |
195 } |
224 } |
196 |
225 |
197 /* --------------------------------------------------------------------------- |
226 /* --------------------------------------------------------------------------- |
198 * JavaCommDB class implementation ; |
227 * JavaCommDB class implementation ; |
199 * --------------------------------------------------------------------------- |
228 * --------------------------------------------------------------------------- |
200 */ |
229 */ |
201 |
230 |
|
231 JavaCommDB::JavaCommDB(IapInfoSession *aSession) |
|
232 { |
|
233 iSession = aSession; |
|
234 |
|
235 |
|
236 } |
|
237 |
202 // --------------------------------------------------------------------------- |
238 // --------------------------------------------------------------------------- |
203 // Delete allocated member objects. |
239 // Delete allocated member objects. |
204 // ----------------------------------------------------------------------------- |
240 // ----------------------------------------------------------------------------- |
205 JavaCommDB::~JavaCommDB() |
241 JavaCommDB::~JavaCommDB() |
206 { |
242 { |
209 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - ~JavaCommDB()"); |
245 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - ~JavaCommDB()"); |
210 } |
246 } |
211 |
247 |
212 // --------------------------------------------------------------------------- |
248 // --------------------------------------------------------------------------- |
213 // Delete allocated member objects. |
249 // Delete allocated member objects. |
214 // @return error code |
250 // ----------------------------------------------------------------------------- |
215 // ----------------------------------------------------------------------------- |
251 void JavaCommDB::Close() |
216 TInt JavaCommDB::Close() |
|
217 { |
252 { |
218 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + Close()"); |
253 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB + Close()"); |
219 iCurrentRecord = 0; |
254 iCurrentRecord = 0; |
220 delete iTable; |
255 if (iTable) |
|
256 delete iTable; |
|
257 |
221 iTable = NULL; |
258 iTable = NULL; |
222 delete iDb; |
|
223 iDb = NULL; |
|
224 |
259 |
225 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - Close()"); |
260 LOG(EJavaIapInfo, EInfo, "CJAVACOMMDB - Close()"); |
226 return KErrNone; |
261 |
227 } |
262 } |
228 |
263 |
229 // --------------------------------------------------------------------------- |
264 // --------------------------------------------------------------------------- |
230 // Opens the given table. |
265 // Opens the given table. |
231 // @param aTablename name of the CommDB table to be opened |
266 // @param aTablename name of the CommDB table to be opened |
232 // @return error code |
267 // @return error code |
233 // ----------------------------------------------------------------------------- |
268 // ----------------------------------------------------------------------------- |
234 void JavaCommDB::OpenL(const TDesC& aTableName) |
269 void JavaCommDB::OpenL(const TDesC& aTableName) |
235 { |
270 { |
236 //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB + OpenL(): open table: %S", aTableName); |
271 //LOG1(EJavaIapInfo, EInfo, "CJAVACOMMDB + OpenL(): open table: %S", aTableName); |
237 iDb = CMDBSession::NewL(KCDVersion1_1); |
272 //iDb = CMDBSession::NewL(KCDVersion1_1); |
238 iCurrentRecord = 0; |
273 iCurrentRecord = 0; |
239 |
274 |
240 if (0 == aTableName.Compare(KIAPTable)) |
275 if (0 == aTableName.Compare(KIAPTable)) |
241 { |
276 { |
242 // Create IAP table recordset |
277 // Create IAP table recordset |