javaextensions/centralrepository/src/cjavacentralrepository.cpp
author hgs
Thu, 02 Sep 2010 13:22:59 +0300
changeset 67 63b81d807542
permissions -rw-r--r--
v2.2.13_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     1
/*
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     3
* All rights reserved.
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     8
*
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    11
*
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    12
* Contributors:
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    13
*
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    14
* Description:
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    15
*
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    16
*/
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    17
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    18
#include <centralrepository.h>  // CRepository
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    19
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    20
#include "cjavacentralrepository.h" // CJavaCentralRepository
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    21
#include "logger.h"
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    22
// ======== MEMBER FUNCTIONS ========
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    23
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    24
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    25
// CJavaCentralRepository::NewL
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    26
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    27
CJavaCentralRepository* CJavaCentralRepository::NewL(TUid aRepositoryUid)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    28
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    29
    CJavaCentralRepository* self = CJavaCentralRepository::NewLC(aRepositoryUid);
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    30
    CleanupStack::Pop(self);
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    31
    return self;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    32
}
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    33
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    34
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    35
// CJavaCentralRepository::NewLC
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    36
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    37
CJavaCentralRepository* CJavaCentralRepository::NewLC(TUid aRepositoryUid)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    38
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    39
    CJavaCentralRepository* self =
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    40
        new(ELeave) CJavaCentralRepository(aRepositoryUid);
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    41
    CleanupStack::PushL(self);
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    42
    self->ConstructL();
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    43
    return self;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    44
}
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    45
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    46
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    47
// CJavaCentralRepository::~CJavaCentralRepository
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    48
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    49
CJavaCentralRepository::~CJavaCentralRepository()
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    50
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    51
    Close();
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    52
}
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    53
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    54
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    55
// CJavaCentralRepository::Close
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    56
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    57
void CJavaCentralRepository::Close()
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    58
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    59
    iRepositoryUid = TUid::Null();
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    60
    delete iRepository;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    61
    iRepository = NULL;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    62
}
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    63
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    64
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    65
// CJavaCentralRepository::CJavaCentralRepository
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    66
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    67
CJavaCentralRepository::CJavaCentralRepository(TUid aRepositoryUid)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    68
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    69
    iRepositoryUid = aRepositoryUid;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    70
}
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    71
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    72
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    73
// CJavaCentralRepository::ConstructL
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    74
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    75
void CJavaCentralRepository::ConstructL()
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    76
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    77
    iRepository = CRepository::NewL(iRepositoryUid);
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    78
}
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    79
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    80
/**
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    81
 * GetStringL
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    82
 */
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    83
HBufC* CJavaCentralRepository::GetStringL(TUint32 aKey)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    84
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    85
    HBufC* value = HBufC::NewLC(NCentralRepositoryConstants::KMaxUnicodeStringLength);
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    86
    TPtr ptr(value->Des());
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    87
    GetL(aKey, ptr);
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    88
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    89
    //aValue = value;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    90
    CleanupStack::Pop(value);
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    91
    return value;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    92
}
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    93
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    94
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    95
// CJavaCentralRepository::Get
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    96
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    97
void CJavaCentralRepository::GetL(TUint32 aKey, TDes& aValue)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    98
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    99
    User::LeaveIfError(iRepository->Get(aKey, aValue));
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   100
}
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   101
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   102
/**
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   103
 * GetIntL
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   104
 */
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   105
TInt CJavaCentralRepository::GetIntL(TUint32 aKey/*, TInt& aValue*/)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   106
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   107
    TInt value(0);
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   108
    GetL(aKey, value);
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   109
    return value;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   110
}
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   111
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   112
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   113
// CJavaCentralRepository::Get
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   114
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   115
void CJavaCentralRepository::GetL(TUint32 aKey, TInt& aValue)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   116
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   117
    User::LeaveIfError(iRepository->Get(aKey, aValue));
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   118
}
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   119
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   120
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   121
// CJavaCentralRepository::Set
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   122
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   123
void CJavaCentralRepository::SetL(TUint32 aKey, TDesC& aValue)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   124
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   125
    User::LeaveIfError(iRepository->Set(aKey, aValue));
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   126
}
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   127
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   128
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   129
// CJavaCentralRepository::Set
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   130
// ---------------------------------------------------------------------------
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   131
void CJavaCentralRepository::SetL(TUint32 aKey, TInt aValue)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   132
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   133
    User::LeaveIfError(iRepository->Set(aKey, aValue));
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   134
}