persistentstorage/sql/SRC/Server/SqlSrvSession.inl
changeset 0 08ec8eefde2f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/sql/SRC/Server/SqlSrvSession.inl	Fri Jan 22 11:06:30 2010 +0200
@@ -0,0 +1,96 @@
+// Copyright (c) 2006-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:
+//
+
+/**
+*/
+inline void CSqlSrvSession::ConstructL()
+	{
+	}
+
+/**
+*/
+inline CSqlSrvSession::CSqlSrvSession()
+	{
+	}
+
+/**
+@return A reference to CSqlServer instance.
+*/
+inline CSqlServer& CSqlSrvSession::Server()
+	{
+	return *static_cast<CSqlServer*>(const_cast<CServer2*>(CSession2::Server()));
+	}
+	
+/**
+Destroys CSqlSrvDatabase instance.
+*/
+inline void CSqlSrvSession::DbDestroyObject()
+	{
+	delete iDatabase;
+	iDatabase = NULL;
+	}
+
+/**
+Processes request for executing 8-bit SQL statement(s).
+
+The method requires a valid iDatabase object.
+
+Usage of the IPC call arguments:
+Arg 0: [in]	8-bit character length of SQL statement.
+Arg 1: [in]	SQL statement.
+
+@panic SqlDb 2 Client panic. iDatabase is NULL (the database object is not created yet).
+*/
+inline TInt CSqlSrvSession::DbExecSql8L(const RMessage2& aMessage)
+	{
+	__SQLPANIC_CLIENT(iDatabase != NULL, aMessage, ESqlPanicInvalidObj);
+	iDatabase->ExecL(ReadString8ZL(aMessage, 1, aMessage.Int0()));
+	return iDatabase->LastChangesCount();
+	}
+
+/**
+Processes request for executing 16-bit SQL statement(s).
+
+The method requires a valid iDatabase object.
+
+Usage of the IPC call arguments:
+Arg 0: [in]	16-bit character length of SQL statement.
+Arg 1: [in]	SQL statement.
+
+@panic SqlDb 2 Client panic. iDatabase is NULL (the database object is not created yet).
+*/
+inline TInt CSqlSrvSession::DbExecSql16L(const RMessage2& aMessage)
+	{
+	__SQLPANIC_CLIENT(iDatabase != NULL, aMessage, ESqlPanicInvalidObj);
+	iDatabase->ExecL(ReadString16ZL(aMessage, 1, aMessage.Int0()));
+	return iDatabase->LastChangesCount();
+	}
+
+/**
+Processes the request for setting the database isolation level.
+
+The method requires a valid iDatabase object.
+
+Usage of the IPC call arguments:
+Arg 0: [in]	Database isolation level.
+
+@panic SqlDb 2 Client panic. iDatabase is NULL (the database object is not created yet).
+*/
+inline void CSqlSrvSession::DbSetIsolationLevelL(const RMessage2& aMessage)
+	{
+	__SQLPANIC_CLIENT(iDatabase != NULL, aMessage, ESqlPanicInvalidObj);
+	RSqlDatabase::TIsolationLevel level = static_cast <RSqlDatabase::TIsolationLevel> (aMessage.Int0());
+	iDatabase->SetIsolationLevelL(level);
+	}