activityfw/storage/common/inc/afentry.h
author hgs
Mon, 13 Sep 2010 13:26:33 +0300
changeset 116 305818acdca4
parent 107 b34d53f6acdf
child 119 50e220be30d1
permissions -rw-r--r--
201036
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
99
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
#ifndef AFENTRYDATA_H
hgs
parents:
diff changeset
    18
#define AFENTRYDATA_H
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#include <e32base.h>
hgs
parents:
diff changeset
    21
#include <s32strm.h>
hgs
parents:
diff changeset
    22
class RDbColWriteStream;
hgs
parents:
diff changeset
    23
class RDbColReadStream;
hgs
parents:
diff changeset
    24
const TInt KAfMask(0x0001);
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
#ifdef AF_ADD_MASK
hgs
parents:
diff changeset
    27
#undef AF_ADD_MASK
hgs
parents:
diff changeset
    28
#endif
hgs
parents:
diff changeset
    29
#define AF_ADD_MASK(n) (KAfMask << n)
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
class CAfEntry: public CBase
hgs
parents:
diff changeset
    32
{
hgs
parents:
diff changeset
    33
public:
hgs
parents:
diff changeset
    34
    enum AccessRights {
hgs
parents:
diff changeset
    35
    Private =0,
hgs
parents:
diff changeset
    36
    Public
hgs
parents:
diff changeset
    37
    };
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
    enum Flags {
hgs
parents:
diff changeset
    40
    Invisible = KAfMask,
hgs
parents:
diff changeset
    41
    Persistent = 0x40000000,
hgs
parents:
diff changeset
    42
    };
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
public:
hgs
parents:
diff changeset
    45
    static CAfEntry* NewL();
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
    static CAfEntry* NewLC();
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
    static CAfEntry* NewL(TInt flags,
hgs
parents:
diff changeset
    50
                          TInt applicationId,
hgs
parents:
diff changeset
    51
                          const TDesC &activityId,
116
hgs
parents: 107
diff changeset
    52
                          const TDesC &customActivityName,
99
hgs
parents:
diff changeset
    53
                          const TDesC &imgSrc,
hgs
parents:
diff changeset
    54
                          const TDesC8 &privateData,
hgs
parents:
diff changeset
    55
                          const TDesC8 &publicData);
hgs
parents:
diff changeset
    56
hgs
parents:
diff changeset
    57
    static CAfEntry* NewLC(TInt flags,
hgs
parents:
diff changeset
    58
                           TInt applicationId,
hgs
parents:
diff changeset
    59
                           const TDesC &activityId,
116
hgs
parents: 107
diff changeset
    60
                           const TDesC &customActivityName,
99
hgs
parents:
diff changeset
    61
                           const TDesC &imgSrc,
hgs
parents:
diff changeset
    62
                           const TDesC8 &privateData,
hgs
parents:
diff changeset
    63
                           const TDesC8 &publicData);
hgs
parents:
diff changeset
    64
    
hgs
parents:
diff changeset
    65
    static CAfEntry* NewLC(const RMessage2& msg,
hgs
parents:
diff changeset
    66
                           int offset =0);
hgs
parents:
diff changeset
    67
hgs
parents:
diff changeset
    68
    ~CAfEntry();
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
    TInt Size() const;
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
    TInt DataSize() const;
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
    void ExternalizeL(RWriteStream &stream) const;
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
    void InternalizeL(RReadStream &stream);
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
    void ExternalizeDataOnlyL(RWriteStream &stream) const;
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
    void InternalizeDataOnlyL(RReadStream &stream);
hgs
parents:
diff changeset
    81
hgs
parents:
diff changeset
    82
    TInt Flags() const;
hgs
parents:
diff changeset
    83
hgs
parents:
diff changeset
    84
    TInt ApplicationId() const;
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
    const TDesC& ActivityId() const;
116
hgs
parents: 107
diff changeset
    87
    
hgs
parents: 107
diff changeset
    88
    const TDesC& CustomActivityName() const;
99
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
    const TDesC& ImageSrc() const;
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
    void SetImageSrcL(const TDesC& src);
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
    const TDesC8& Data(CAfEntry::AccessRights rights) const;
hgs
parents:
diff changeset
    95
hgs
parents:
diff changeset
    96
    void SetDataL(const TDesC8& src, CAfEntry::AccessRights rights);
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
    static void ReallocL(RBuf8 &dst,TInt length);
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
    static void ReallocL(RBuf &dst,TInt length);
hgs
parents:
diff changeset
   101
hgs
parents:
diff changeset
   102
    static void CopyL(RBuf8 &dst,const TDesC8 &src);
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
    static void CopyL(RBuf &dst,const TDesC &src);
hgs
parents:
diff changeset
   105
hgs
parents:
diff changeset
   106
private:
hgs
parents:
diff changeset
   107
    CAfEntry();
hgs
parents:
diff changeset
   108
hgs
parents:
diff changeset
   109
    void ConstructL(TInt flags,
hgs
parents:
diff changeset
   110
                    TInt applicationId,
hgs
parents:
diff changeset
   111
                    const TDesC &activityId,
116
hgs
parents: 107
diff changeset
   112
                    const TDesC &customActivityName,
99
hgs
parents:
diff changeset
   113
                    const TDesC &imgSrc,
hgs
parents:
diff changeset
   114
                    const TDesC8 &privateData,
hgs
parents:
diff changeset
   115
                    const TDesC8 &publicData);
hgs
parents:
diff changeset
   116
hgs
parents:
diff changeset
   117
    static void InternalizeL(RBuf8 &dst, RReadStream &src);
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
    static void InternalizeL(RBuf &dst, RReadStream &src);
hgs
parents:
diff changeset
   120
hgs
parents:
diff changeset
   121
    static void ExternalizeL(RWriteStream &dst,const TDesC8 & src);
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
    static void ExternalizeL(RWriteStream &dst,const TDesC& src);
hgs
parents:
diff changeset
   124
private:
hgs
parents:
diff changeset
   125
    TInt mFlags;
hgs
parents:
diff changeset
   126
    TInt mAppId;
hgs
parents:
diff changeset
   127
    RBuf mActivityId;
116
hgs
parents: 107
diff changeset
   128
    RBuf mCustomActivityName;
99
hgs
parents:
diff changeset
   129
    RBuf mImgSrc;
hgs
parents:
diff changeset
   130
    RBuf8 mPrivateData;
hgs
parents:
diff changeset
   131
    RBuf8 mPublicData;
hgs
parents:
diff changeset
   132
hgs
parents:
diff changeset
   133
};
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
RPointerArray<CAfEntry>& operator <<(RPointerArray<CAfEntry>& dst, const TDesC8 &src);
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
RBuf8& operator << (RBuf8 &dst, const RPointerArray<CAfEntry>& src);
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
#endif