landmarks/locationlandmarks/server/src/EPos_LmServerGlobal.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 27 Apr 2010 17:05:00 +0300
branchRCL_3
changeset 10 d6e4203b7ebe
parent 0 667063e416a2
permissions -rw-r--r--
Revision: 201015 Kit: 201017

/*
* Copyright (c) 2002-2005 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: Global functions for the landmarks server
*
*
*/


#include "EPos_LmServerGlobal.h"
#include "EPos_LandmarksServerPanics.h"

// ================= MEMBER FUNCTIONS =======================

// ---------------------------------------------------------
// ---------------------------------------------------------
//
TInt LmServerGlobal::Read(
    const RMessagePtr2& aMessagePtr,
    TInt aParam,
    TDes8& aDes,
    TInt aOffset)
    {
    TInt ret = aMessagePtr.Read(aParam, aDes, aOffset);
    if (ret != KErrNone)
        {
        PanicClient(aMessagePtr, EPosUnableToReadOrWriteDataToClient);
        }
    return ret;
    }

// ---------------------------------------------------------
// ---------------------------------------------------------
//
TInt LmServerGlobal::Read(
    const RMessagePtr2& aMessagePtr,
    TInt aParam,
    TDes16& aDes,
    TInt aOffset)
    {
    TInt ret = aMessagePtr.Read(aParam, aDes, aOffset);
    if (ret != KErrNone)
        {
        PanicClient(aMessagePtr, EPosUnableToReadOrWriteDataToClient);
        }
    return ret;
    }

// ---------------------------------------------------------
// ---------------------------------------------------------
//
TInt LmServerGlobal::Write(
    const RMessagePtr2& aMessagePtr,
    TInt aParam,
    const TDesC8& aDes,
    TInt aOffset)
    {
    TInt ret = aMessagePtr.Write(aParam, aDes, aOffset);
    if (ret != KErrNone)
        {
        PanicClient(aMessagePtr, EPosUnableToReadOrWriteDataToClient);
        }
    return ret;
    }

// ---------------------------------------------------------
// ---------------------------------------------------------
//
TInt LmServerGlobal::Write(
    const RMessagePtr2& aMessagePtr,
    TInt aParam,
    const TDesC16& aDes,
    TInt aOffset)
    {
    TInt ret = aMessagePtr.Write(aParam, aDes, aOffset);
    if (ret != KErrNone)
        {
        PanicClient(aMessagePtr, EPosUnableToReadOrWriteDataToClient);
        }
    return ret;
    }

// ---------------------------------------------------------
// ---------------------------------------------------------
//
void LmServerGlobal::Complete(
    const RMessagePtr2& aMessagePtr,
    TInt aReason)
    {
    if (!aMessagePtr.IsNull())
        {
        aMessagePtr.Complete(aReason);
        }
    }

// ---------------------------------------------------------
// ---------------------------------------------------------
//
HBufC8* LmServerGlobal::CopyClientBuffer8LC(
    const RMessage2& aMessage, 
    const TInt aClientBufferParam )
    {
    // Create an empty server side buffer that will contain client data
    TInt dataSize = aMessage.GetDesLengthL( aClientBufferParam );
    HBufC8* buffer = HBufC8::NewLC( dataSize );

    // Populate server side buffer with client data
    TPtr8 ptrToBuf = buffer->Des();
    aMessage.ReadL( aClientBufferParam, ptrToBuf );
    return buffer;
    }

// ---------------------------------------------------------
// ---------------------------------------------------------
//
HBufC* LmServerGlobal::CopyClientBufferLC(
    const RMessage2& aMessage, 
    const TInt aClientBufferParam)
    {
    // Create an empty server side buffer that will contain client data
    TInt dataSize = aMessage.GetDesLengthL( aClientBufferParam );
    HBufC* buffer = HBufC::NewLC( dataSize );

    // Populate server side buffer with client data
    TPtr ptrToBuf = buffer->Des();
    aMessage.ReadL( aClientBufferParam, ptrToBuf );
    return buffer;
    }

//  End of File