locationrequestmgmt/networkrequesthandler/src/EPos_PosCommonPrivacyResources.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 19 Aug 2010 11:17:26 +0300
branchRCL_3
changeset 52 29dbbeac905d
parent 0 9cfd9a3ee49c
permissions -rw-r--r--
Revision: 201027 Kit: 201033

// Copyright (c) 2005-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:
// INCLUDE FILES
// #ifdef _DEBUG
// #include <lbs/epos_cpostrace.h>
// #endif
//




#include    "EPos_PosCommonPrivacyResources.h"
#include    "EPos_PrivacyServerDebugPanic.h"

// GLOBAL VARIABLE
CPosCommonPrivacyResources* gResources = NULL;

// CONSTANTS
const TInt KPosRequestIdShift = 14;

// ================= LOCAL FUNCTIONS =======================

// ---------------------------------------------------------
// Static Returns the privacy common resources stored in TLS
// Returns: NULL: Resources not installed
//          other values: A pointer to the resources
// ---------------------------------------------------------
//
CPosCommonPrivacyResources* Static()
    {
    return gResources;
    }

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

// ---------------------------------------------------------
// PosCommonPrivacyResources::Install
//
// (other items were commented in a header).
// ---------------------------------------------------------
//
TInt PosCommonPrivacyResources::Install()
    {
    if (gResources)
        {
        return KErrNone;
        }

    gResources = new CPosCommonPrivacyResources();

    if (!gResources)
        {
        return KErrNoMemory;
        }

    //Make a request id
    TTime now;
    now.UniversalTime();
    TInt64 requestId64 = now.Int64() >> KPosRequestIdShift;
    TUint low = I64LOW(requestId64);
    Static()->iLastAssignedRequestId = ~(~low | 0x80000000);

    return KErrNone;
    }

// ---------------------------------------------------------
// PosCommonPrivacyResources::Installed
//
// (other items were commented in a header).
// ---------------------------------------------------------
//
TBool PosCommonPrivacyResources::Installed()
    {
    return (Static()) ? ETrue : EFalse;
    }

// ---------------------------------------------------------
// PosCommonPrivacyResources::Uninstall
//
// (other items were commented in a header).
// ---------------------------------------------------------
//
void PosCommonPrivacyResources::Uninstall()
    {
    delete (gResources);
    gResources = NULL;
    }

// ---------------------------------------------------------
// PosCommonPrivacyResources::DialogCtrl
//
// (other items were commented in a header).
// ---------------------------------------------------------
//
CPosDialogCtrl* PosCommonPrivacyResources::DialogCtrl()
    {
    return Static()->iDialogCtrl;
    }

// ---------------------------------------------------------
// PosCommonPrivacyResources::SetDialogCtrl
//
// (other items were commented in a header).
// ---------------------------------------------------------
//
void PosCommonPrivacyResources::SetDialogCtrl(
    CPosDialogCtrl* aDialogCtrl)
    {
    Static()->iDialogCtrl = aDialogCtrl;
    }

// ---------------------------------------------------------
// PosCommonPrivacyResources::GetNewRequestId
//
// (other items were commented in a header).
// ---------------------------------------------------------
//
TInt PosCommonPrivacyResources::GetNewRequestId()
    {
    // A request id may never be less than 1. Starting over if reaching limit.
    //
    if (Static()->iLastAssignedRequestId == KMaxTInt)
        {
        Static()->iLastAssignedRequestId = 0;
        }
    return ++Static()->iLastAssignedRequestId;
    }

/*
#ifdef _DEBUG

void PosCommonPrivacyResources::SetupTraceL()
    {
    Static()->iTrace = CPosTrace::NewL();
    }

void PosCommonPrivacyResources::TearDownTrace()
    {
    if (Static())
        {
        delete Static()->iTrace;
        Static()->iTrace = NULL;
        }
    }

void PosCommonPrivacyResources::Trace(const TDesC& aDescription,
                   const TDesC& aFilename,
                   const TInt aLineNumber)
    {
    if (Static() && Static()->iTrace)
        {
        TRAPD(err, Static()->iTrace->TraceL(
            aDescription, aFilename, aLineNumber));
        err = err; // avoids compiler warning
        }
    }
#endif
*/

//  End of File