persistentstorage/sql/SRC/Client/SqlDbSession.cpp
changeset 22 a7ba600cb39d
parent 15 3eacc0623088
child 31 ba1c4f4a893f
equal deleted inserted replaced
19:d6ef85bc5971 22:a7ba600cb39d
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
   194 		return KErrNoMemory;	
   194 		return KErrNoMemory;	
   195 		}
   195 		}
   196 	TPtr8 bufPtr = buf->Des();
   196 	TPtr8 bufPtr = buf->Des();
   197 	RDesWriteStream out(bufPtr);
   197 	RDesWriteStream out(bufPtr);
   198 	TRAPD(err, SerializeToStreamL(out));
   198 	TRAPD(err, SerializeToStreamL(out));
   199 	if(err == KErrNone)
   199 	__SQLASSERT(err == KErrNone, ESqlPanicInternalError);//"Write to descriptor" streaming operatons can't fail
   200 		{
   200     TUint32 arg0 = (TUint32)bufPtr.Length() | (aReadOnly ? 0x80000000 : 0);
   201 		TUint32 arg0 = (TUint32)bufPtr.Length() | (aReadOnly ? 0x80000000 : 0);
   201     TIpcArgs ipcArgs(arg0, &bufPtr);
   202 		TIpcArgs ipcArgs(arg0, &bufPtr);
   202     err = aDbFile.TransferToServer(ipcArgs, 2, 3);
   203 		err = aDbFile.TransferToServer(ipcArgs, 2, 3);
   203     if(err == KErrNone)
   204 		if(err == KErrNone)
   204         {
   205 			{
   205         err = iDbSession.SendReceive(ESqlSrvDbAttachFromHandle, ipcArgs);
   206 			err = iDbSession.SendReceive(ESqlSrvDbAttachFromHandle, ipcArgs);
   206         }
   207 			}
       
   208 		}
       
   209 	delete buf;
   207 	delete buf;
   210 	return err;
   208 	return err;
   211 	}
   209 	}
   212 	
   210 	
   213 /**
   211 /**