activityfw/storage/common/inc/afentry.h
author hgs
Mon, 20 Sep 2010 10:22:22 +0300
changeset 119 50e220be30d1
parent 116 305818acdca4
permissions -rw-r--r--
201037
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,
119
hgs
parents: 116
diff changeset
    55
                          const TDesC8 &publicData,
hgs
parents: 116
diff changeset
    56
                          const TTime &timestamp);
99
hgs
parents:
diff changeset
    57
hgs
parents:
diff changeset
    58
    static CAfEntry* NewLC(TInt flags,
hgs
parents:
diff changeset
    59
                           TInt applicationId,
hgs
parents:
diff changeset
    60
                           const TDesC &activityId,
116
hgs
parents: 107
diff changeset
    61
                           const TDesC &customActivityName,
99
hgs
parents:
diff changeset
    62
                           const TDesC &imgSrc,
hgs
parents:
diff changeset
    63
                           const TDesC8 &privateData,
119
hgs
parents: 116
diff changeset
    64
                           const TDesC8 &publicData,
hgs
parents: 116
diff changeset
    65
                           const TTime &timestamp);
99
hgs
parents:
diff changeset
    66
    
hgs
parents:
diff changeset
    67
    static CAfEntry* NewLC(const RMessage2& msg,
hgs
parents:
diff changeset
    68
                           int offset =0);
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
    ~CAfEntry();
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
    TInt Size() const;
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
    TInt DataSize() const;
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
    void ExternalizeL(RWriteStream &stream) const;
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
    void InternalizeL(RReadStream &stream);
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
    void ExternalizeDataOnlyL(RWriteStream &stream) const;
hgs
parents:
diff changeset
    81
hgs
parents:
diff changeset
    82
    void InternalizeDataOnlyL(RReadStream &stream);
hgs
parents:
diff changeset
    83
hgs
parents:
diff changeset
    84
    TInt Flags() const;
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
    TInt ApplicationId() const;
hgs
parents:
diff changeset
    87
hgs
parents:
diff changeset
    88
    const TDesC& ActivityId() const;
116
hgs
parents: 107
diff changeset
    89
    
hgs
parents: 107
diff changeset
    90
    const TDesC& CustomActivityName() const;
119
hgs
parents: 116
diff changeset
    91
    
hgs
parents: 116
diff changeset
    92
    TTime Timestamp() const;
99
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
    const TDesC& ImageSrc() const;
hgs
parents:
diff changeset
    95
hgs
parents:
diff changeset
    96
    void SetImageSrcL(const TDesC& src);
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
    const TDesC8& Data(CAfEntry::AccessRights rights) const;
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
    void SetDataL(const TDesC8& src, CAfEntry::AccessRights rights);
hgs
parents:
diff changeset
   101
hgs
parents:
diff changeset
   102
    static void ReallocL(RBuf8 &dst,TInt length);
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
    static void ReallocL(RBuf &dst,TInt length);
hgs
parents:
diff changeset
   105
hgs
parents:
diff changeset
   106
    static void CopyL(RBuf8 &dst,const TDesC8 &src);
hgs
parents:
diff changeset
   107
hgs
parents:
diff changeset
   108
    static void CopyL(RBuf &dst,const TDesC &src);
hgs
parents:
diff changeset
   109
hgs
parents:
diff changeset
   110
private:
hgs
parents:
diff changeset
   111
    CAfEntry();
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
    void ConstructL(TInt flags,
hgs
parents:
diff changeset
   114
                    TInt applicationId,
hgs
parents:
diff changeset
   115
                    const TDesC &activityId,
116
hgs
parents: 107
diff changeset
   116
                    const TDesC &customActivityName,
99
hgs
parents:
diff changeset
   117
                    const TDesC &imgSrc,
hgs
parents:
diff changeset
   118
                    const TDesC8 &privateData,
119
hgs
parents: 116
diff changeset
   119
                    const TDesC8 &publicData,
hgs
parents: 116
diff changeset
   120
                    const TTime &timestamp);
99
hgs
parents:
diff changeset
   121
hgs
parents:
diff changeset
   122
    static void InternalizeL(RBuf8 &dst, RReadStream &src);
hgs
parents:
diff changeset
   123
hgs
parents:
diff changeset
   124
    static void InternalizeL(RBuf &dst, RReadStream &src);
hgs
parents:
diff changeset
   125
hgs
parents:
diff changeset
   126
    static void ExternalizeL(RWriteStream &dst,const TDesC8 & src);
hgs
parents:
diff changeset
   127
hgs
parents:
diff changeset
   128
    static void ExternalizeL(RWriteStream &dst,const TDesC& src);
hgs
parents:
diff changeset
   129
private:
hgs
parents:
diff changeset
   130
    TInt mFlags;
hgs
parents:
diff changeset
   131
    TInt mAppId;
hgs
parents:
diff changeset
   132
    RBuf mActivityId;
116
hgs
parents: 107
diff changeset
   133
    RBuf mCustomActivityName;
99
hgs
parents:
diff changeset
   134
    RBuf mImgSrc;
hgs
parents:
diff changeset
   135
    RBuf8 mPrivateData;
hgs
parents:
diff changeset
   136
    RBuf8 mPublicData;
119
hgs
parents: 116
diff changeset
   137
    TTime mTimestamp;
99
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
};
hgs
parents:
diff changeset
   140
hgs
parents:
diff changeset
   141
RPointerArray<CAfEntry>& operator <<(RPointerArray<CAfEntry>& dst, const TDesC8 &src);
hgs
parents:
diff changeset
   142
hgs
parents:
diff changeset
   143
RBuf8& operator << (RBuf8 &dst, const RPointerArray<CAfEntry>& src);
hgs
parents:
diff changeset
   144
hgs
parents:
diff changeset
   145
#endif