--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/configlib/dbmsjdbc/src/native/EmbeddedStoreOutputStream.cpp Thu Mar 11 18:20:56 2010 +0200
@@ -0,0 +1,87 @@
+// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// EmbeddedStoreInputStream.h
+//
+//
+
+#include <jni.h>
+#include "dbmsjni/com_symbian_store_EmbeddedStoreOutputStream.h"
+#include "StoreOutputStream.h"
+#include "StreamStore.h"
+#include "Utils.h"
+
+
+// //
+// StoreOutputStream class implementation
+
+
+// //
+// JNI implementations
+
+
+/*
+ * Class: com_symbian_store_StoreOutputStream
+ * Method: _create
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_com_symbian_store_EmbeddedStoreOutputStream__1create__II
+ (JNIEnv *, jobject, jint aStorePeerHandle, jint aStreamId) {
+ StreamStore* streamStore = (StreamStore*)aStorePeerHandle;
+ StoreOutputStream* outStream = new StoreOutputStream();
+ RStoreWriteStream* strptr = new RStoreWriteStream();
+ outStream->iOutput = strptr;
+ TStreamId id ( aStreamId);
+ TRAPD(error, strptr->OpenL(*(streamStore->iStore), id));
+ if ( error == KErrNotFound ) {
+ TRAP(error, strptr->OpenL(*(streamStore->iStore), id));
+ }
+ if ( error < 0 ) {
+ return error;
+ }
+ return (jint)outStream;
+}
+
+/*
+ * Class: com_symbian_store_StoreOutputStream
+ * Method: _create
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_com_symbian_store_EmbeddedStoreOutputStream__1create__I
+ (JNIEnv *, jobject, jint aStorePeerHandle) {
+ StreamStore* streamStore = (StreamStore*)aStorePeerHandle;
+ StoreOutputStream* outStream = new StoreOutputStream();
+ RStoreWriteStream* strptr = new RStoreWriteStream();
+ outStream->iOutput = strptr;
+ CEmbeddedStore* embstore = (CEmbeddedStore*)streamStore->iStore;
+ TStreamId id;
+ TRAPD(error, id = strptr->CreateL(*embstore));
+ if ( error < 0 ) {
+ return error;
+ }
+ outStream->iId = id.Value();
+ return (jint)outStream;
+}
+
+/*
+ * Class: com_symbian_store_StoreOutputStream
+ * Method: _getStreamId
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_com_symbian_store_EmbeddedStoreOutputStream__1getStreamId
+ (JNIEnv *, jobject, jint aPeerHandle) {
+ StoreOutputStream* outStream = (StoreOutputStream*)aPeerHandle;
+ return outStream->iId;
+}
+
+