contentstorage/castorage/inc/casqlquerycreator.h
author hgs
Mon, 18 Oct 2010 10:44:15 +0300
changeset 127 7b66bc3c6dc9
parent 107 b34d53f6acdf
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
85
7feec50967db 201003_02
hgs
parents:
diff changeset
     1
/*
7feec50967db 201003_02
hgs
parents:
diff changeset
     2
 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
7feec50967db 201003_02
hgs
parents:
diff changeset
     3
 * All rights reserved.
7feec50967db 201003_02
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
7feec50967db 201003_02
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
7feec50967db 201003_02
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
7feec50967db 201003_02
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
7feec50967db 201003_02
hgs
parents:
diff changeset
     8
 *
7feec50967db 201003_02
hgs
parents:
diff changeset
     9
 * Initial Contributors:
7feec50967db 201003_02
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
7feec50967db 201003_02
hgs
parents:
diff changeset
    11
 *
7feec50967db 201003_02
hgs
parents:
diff changeset
    12
 * Contributors:
7feec50967db 201003_02
hgs
parents:
diff changeset
    13
 *
7feec50967db 201003_02
hgs
parents:
diff changeset
    14
 * Description: CASqlQueryCreator declaration
7feec50967db 201003_02
hgs
parents:
diff changeset
    15
 *
7feec50967db 201003_02
hgs
parents:
diff changeset
    16
 */
7feec50967db 201003_02
hgs
parents:
diff changeset
    17
7feec50967db 201003_02
hgs
parents:
diff changeset
    18
#ifndef CASQLQUERYCREATOR_H
7feec50967db 201003_02
hgs
parents:
diff changeset
    19
#define CASQLQUERYCREATOR_H
7feec50967db 201003_02
hgs
parents:
diff changeset
    20
7feec50967db 201003_02
hgs
parents:
diff changeset
    21
// INCLUDES
7feec50967db 201003_02
hgs
parents:
diff changeset
    22
#include <e32std.h>
7feec50967db 201003_02
hgs
parents:
diff changeset
    23
#include "cainnerquery.h"
7feec50967db 201003_02
hgs
parents:
diff changeset
    24
7feec50967db 201003_02
hgs
parents:
diff changeset
    25
// CLASS DECLARATION
7feec50967db 201003_02
hgs
parents:
diff changeset
    26
94
hgs
parents: 92
diff changeset
    27
class CCaLocalizationEntry; 
85
7feec50967db 201003_02
hgs
parents:
diff changeset
    28
class CCaSqlQuery;
7feec50967db 201003_02
hgs
parents:
diff changeset
    29
class CCaInnerEntry;
7feec50967db 201003_02
hgs
parents:
diff changeset
    30
class CCaInnerQuery;
7feec50967db 201003_02
hgs
parents:
diff changeset
    31
class RSqlDatabase;
7feec50967db 201003_02
hgs
parents:
diff changeset
    32
class TCaOperationParams;
7feec50967db 201003_02
hgs
parents:
diff changeset
    33
7feec50967db 201003_02
hgs
parents:
diff changeset
    34
/**
7feec50967db 201003_02
hgs
parents:
diff changeset
    35
 *  @ingroup group_catorage.
7feec50967db 201003_02
hgs
parents:
diff changeset
    36
 *  CaSqlQueryCreator Helper class which prepares sql statements for 
7feec50967db 201003_02
hgs
parents:
diff changeset
    37
 *  execution.
7feec50967db 201003_02
hgs
parents:
diff changeset
    38
 */
7feec50967db 201003_02
hgs
parents:
diff changeset
    39
class CaSqlQueryCreator
7feec50967db 201003_02
hgs
parents:
diff changeset
    40
    {
7feec50967db 201003_02
hgs
parents:
diff changeset
    41
public:
7feec50967db 201003_02
hgs
parents:
diff changeset
    42
    
7feec50967db 201003_02
hgs
parents:
diff changeset
    43
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
    44
     * The icon types.
7feec50967db 201003_02
hgs
parents:
diff changeset
    45
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
    46
    enum TIconType
7feec50967db 201003_02
hgs
parents:
diff changeset
    47
        {
7feec50967db 201003_02
hgs
parents:
diff changeset
    48
        ENullIcon,
7feec50967db 201003_02
hgs
parents:
diff changeset
    49
        ENullIconToRemove,
7feec50967db 201003_02
hgs
parents:
diff changeset
    50
        EProperIcon
7feec50967db 201003_02
hgs
parents:
diff changeset
    51
        };
7feec50967db 201003_02
hgs
parents:
diff changeset
    52
7feec50967db 201003_02
hgs
parents:
diff changeset
    53
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
    54
     * Creates sql queries to be used to perform an add or 
7feec50967db 201003_02
hgs
parents:
diff changeset
    55
     * update operation on the database.
7feec50967db 201003_02
hgs
parents:
diff changeset
    56
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
    57
     * @param aEntry The entry to be added or updated in the database.
7feec50967db 201003_02
hgs
parents:
diff changeset
    58
     * @param aList A list to fill in with queries neccessary for the operation.
7feec50967db 201003_02
hgs
parents:
diff changeset
    59
     * @param iSqlDb The handle to the database needed for 
7feec50967db 201003_02
hgs
parents:
diff changeset
    60
     * the created queries' member (RSqlStatement iStatement).
7feec50967db 201003_02
hgs
parents:
diff changeset
    61
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
    62
    static void CreateAddQueryL( CCaInnerEntry* aEntry, RPointerArray<
7feec50967db 201003_02
hgs
parents:
diff changeset
    63
            CCaSqlQuery>& aSqlQuery, RSqlDatabase& aSqlDb );
7feec50967db 201003_02
hgs
parents:
diff changeset
    64
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
    65
     * Creates an sql query to fetch data from the database.
7feec50967db 201003_02
hgs
parents:
diff changeset
    66
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
    67
     * @param aQuery The query object which specifies 
7feec50967db 201003_02
hgs
parents:
diff changeset
    68
     * the type of data to be fetched.
7feec50967db 201003_02
hgs
parents:
diff changeset
    69
     * @param aSqlQuery The sql query created to select the data.
7feec50967db 201003_02
hgs
parents:
diff changeset
    70
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
    71
    static void CreateGetEntriesQueryL( const CCaInnerQuery* aQuery,
7feec50967db 201003_02
hgs
parents:
diff changeset
    72
            CCaSqlQuery* aSqlQuery );
7feec50967db 201003_02
hgs
parents:
diff changeset
    73
7feec50967db 201003_02
hgs
parents:
diff changeset
    74
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
    75
     * Creates an sql query to fetch parents ids from the database.
7feec50967db 201003_02
hgs
parents:
diff changeset
    76
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
    77
     * @param aEntryIdArray array with entries ids.
7feec50967db 201003_02
hgs
parents:
diff changeset
    78
     * @param aSqlQuery The sql query created to select parents ids.
7feec50967db 201003_02
hgs
parents:
diff changeset
    79
     * @param aParentIdArray array with groups ids.
7feec50967db 201003_02
hgs
parents:
diff changeset
    80
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
    81
    static void CreateGetParentsIdsQueryL(
7feec50967db 201003_02
hgs
parents:
diff changeset
    82
            const RArray<TInt>& aEntryIdArray, CCaSqlQuery* aSqlQuery,
7feec50967db 201003_02
hgs
parents:
diff changeset
    83
            const RArray<TInt>& aParentIdArray );
7feec50967db 201003_02
hgs
parents:
diff changeset
    84
7feec50967db 201003_02
hgs
parents:
diff changeset
    85
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
    86
     * Creates an sql query to remove data from the database.
7feec50967db 201003_02
hgs
parents:
diff changeset
    87
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
    88
     * @param aList The result sql queries to be executed for remove.
7feec50967db 201003_02
hgs
parents:
diff changeset
    89
     * @param aSqlDb The handle to the database needed for 
7feec50967db 201003_02
hgs
parents:
diff changeset
    90
     * the created queries' member (RSqlStatement iStatement).
7feec50967db 201003_02
hgs
parents:
diff changeset
    91
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
    92
    static void CreateRemoveQueryL( RPointerArray<CCaSqlQuery>& aSqlQuery,
7feec50967db 201003_02
hgs
parents:
diff changeset
    93
            RSqlDatabase& aSqlDb );
7feec50967db 201003_02
hgs
parents:
diff changeset
    94
7feec50967db 201003_02
hgs
parents:
diff changeset
    95
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
    96
     * Creates an sql query to fetch attributes for a given number of entries.
7feec50967db 201003_02
hgs
parents:
diff changeset
    97
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
    98
     * @param aIdEntryCount The number of entry ids for which to get 
7feec50967db 201003_02
hgs
parents:
diff changeset
    99
     * attributes.
7feec50967db 201003_02
hgs
parents:
diff changeset
   100
     * @param aSqlQuery The result fetch attributes query.
7feec50967db 201003_02
hgs
parents:
diff changeset
   101
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   102
    static void CreateGetAttributesQueryL( const TInt aIdEntryCount,
7feec50967db 201003_02
hgs
parents:
diff changeset
   103
            CCaSqlQuery* aSqlQuery );
7feec50967db 201003_02
hgs
parents:
diff changeset
   104
7feec50967db 201003_02
hgs
parents:
diff changeset
   105
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   106
     * Creates an sql query to modify touch data in the database.
7feec50967db 201003_02
hgs
parents:
diff changeset
   107
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   108
     * @param aSqlQuery The list of result queries needed for the touch 
7feec50967db 201003_02
hgs
parents:
diff changeset
   109
     * operation.
107
hgs
parents: 94
diff changeset
   110
     * @param aSqlDb The handle to the database needed for the created. 
hgs
parents: 94
diff changeset
   111
     * @param aRemovable to create query to change used flag only for 
hgs
parents: 94
diff changeset
   112
     * removable entries.
85
7feec50967db 201003_02
hgs
parents:
diff changeset
   113
     * queries' member (RSqlStatement iStatement).
7feec50967db 201003_02
hgs
parents:
diff changeset
   114
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   115
    static void CreateTouchQueryL( RPointerArray<CCaSqlQuery>& aSqlQuery,
107
hgs
parents: 94
diff changeset
   116
            RSqlDatabase& aSqlDb, TBool aRemovable );
85
7feec50967db 201003_02
hgs
parents:
diff changeset
   117
7feec50967db 201003_02
hgs
parents:
diff changeset
   118
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   119
     * Creates an sql query to organize data within a group.
7feec50967db 201003_02
hgs
parents:
diff changeset
   120
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   121
     * @param aEntryIds The array of entry ids which are organized.
7feec50967db 201003_02
hgs
parents:
diff changeset
   122
     * @param aParams The specific parameters describing the type of 
7feec50967db 201003_02
hgs
parents:
diff changeset
   123
     * organize to be done.
7feec50967db 201003_02
hgs
parents:
diff changeset
   124
     * @param aSqlDb The handle to the database needed for the created 
7feec50967db 201003_02
hgs
parents:
diff changeset
   125
     * queries' member (RSqlStatement iStatement).
7feec50967db 201003_02
hgs
parents:
diff changeset
   126
     * @param aSqlRemoveQueries A result array of remove queries to be 
7feec50967db 201003_02
hgs
parents:
diff changeset
   127
     * executed.
7feec50967db 201003_02
hgs
parents:
diff changeset
   128
     * @param aSqlPrependInsertQueries A result array of prepend insert 
7feec50967db 201003_02
hgs
parents:
diff changeset
   129
     * queries queries to be executed.
7feec50967db 201003_02
hgs
parents:
diff changeset
   130
     * @param aSqlInsertQueries A result array of insert queries to be 
7feec50967db 201003_02
hgs
parents:
diff changeset
   131
     * executed.
7feec50967db 201003_02
hgs
parents:
diff changeset
   132
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   133
7feec50967db 201003_02
hgs
parents:
diff changeset
   134
    static TBool CreateOrganizeQueryL( const RArray<TInt>& aEntryIds,
7feec50967db 201003_02
hgs
parents:
diff changeset
   135
            TCaOperationParams aParams, RSqlDatabase& aSqlDb,
7feec50967db 201003_02
hgs
parents:
diff changeset
   136
            RPointerArray<CCaSqlQuery>& aSqlQueries );
7feec50967db 201003_02
hgs
parents:
diff changeset
   137
7feec50967db 201003_02
hgs
parents:
diff changeset
   138
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   139
     * Populates a given query with a list of ids.
7feec50967db 201003_02
hgs
parents:
diff changeset
   140
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   141
     * @param The number of ids with which to populate the query.
7feec50967db 201003_02
hgs
parents:
diff changeset
   142
     * @param aQuery The query where to set the result query text.
7feec50967db 201003_02
hgs
parents:
diff changeset
   143
     * @param aSqlQueryText the sql text wich is populated 
7feec50967db 201003_02
hgs
parents:
diff changeset
   144
     * with ids (in place of %S sequence);
7feec50967db 201003_02
hgs
parents:
diff changeset
   145
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   146
    static void PopulateQueryWithIdListL( const TInt aIdEntryCount,
7feec50967db 201003_02
hgs
parents:
diff changeset
   147
            CCaSqlQuery* aQuery, const TDesC& aSqlQueryText );
7feec50967db 201003_02
hgs
parents:
diff changeset
   148
    
7feec50967db 201003_02
hgs
parents:
diff changeset
   149
    /**
94
hgs
parents: 92
diff changeset
   150
     * Creates an sql query to add, update or get data from localization table.
85
7feec50967db 201003_02
hgs
parents:
diff changeset
   151
     *
94
hgs
parents: 92
diff changeset
   152
     * @param aSqlQuery The result query.
hgs
parents: 92
diff changeset
   153
     * @param aStatement statement
85
7feec50967db 201003_02
hgs
parents:
diff changeset
   154
     */
94
hgs
parents: 92
diff changeset
   155
    static void CreateLocalizationTableQueryL(CCaSqlQuery* aSqlQuery,
hgs
parents: 92
diff changeset
   156
            const TDesC& aStatement);
85
7feec50967db 201003_02
hgs
parents:
diff changeset
   157
    
7feec50967db 201003_02
hgs
parents:
diff changeset
   158
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   159
     * Creates an sql query to custom sort order.
7feec50967db 201003_02
hgs
parents:
diff changeset
   160
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   161
     * @param aEntryIds The array of entry ids.
7feec50967db 201003_02
hgs
parents:
diff changeset
   162
     * @param aSqlQuery A result array of insert queries to be executed.
7feec50967db 201003_02
hgs
parents:
diff changeset
   163
     * @param aSqlDb The handle to the database. 
7feec50967db 201003_02
hgs
parents:
diff changeset
   164
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   165
    static void CreateCustomSortQueryL( const RArray<TInt>& aEntryIds,
7feec50967db 201003_02
hgs
parents:
diff changeset
   166
            RPointerArray<CCaSqlQuery>& aSqlQuery,
7feec50967db 201003_02
hgs
parents:
diff changeset
   167
            RSqlDatabase& aSqlDb );
92
hgs
parents: 85
diff changeset
   168
hgs
parents: 85
diff changeset
   169
    /**
hgs
parents: 85
diff changeset
   170
     * Creates an sql query for finding an icon.
hgs
parents: 85
diff changeset
   171
     *
hgs
parents: 85
diff changeset
   172
     * @param aEntry The entry which has icon description.
hgs
parents: 85
diff changeset
   173
     * @param aQuery The result query.
hgs
parents: 85
diff changeset
   174
     */
hgs
parents: 85
diff changeset
   175
    static void CreateFindIconQueryL( CCaInnerEntry* aEntry,
hgs
parents: 85
diff changeset
   176
            CCaSqlQuery* aQuery);
85
7feec50967db 201003_02
hgs
parents:
diff changeset
   177
    
7feec50967db 201003_02
hgs
parents:
diff changeset
   178
private:
7feec50967db 201003_02
hgs
parents:
diff changeset
   179
7feec50967db 201003_02
hgs
parents:
diff changeset
   180
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   181
     * Creates an sql query to add an icon into the icon table.
7feec50967db 201003_02
hgs
parents:
diff changeset
   182
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   183
     * @param aEntry the entry for which to add an icon.
7feec50967db 201003_02
hgs
parents:
diff changeset
   184
     * @param aQuery The result query.
7feec50967db 201003_02
hgs
parents:
diff changeset
   185
     * @param aSqlDb The handle to the database needed for 
7feec50967db 201003_02
hgs
parents:
diff changeset
   186
     * the created queries' member (RSqlStatement iStatement).
7feec50967db 201003_02
hgs
parents:
diff changeset
   187
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   188
    static void CreateAddIconQueryL( CCaInnerEntry* aEntry,
7feec50967db 201003_02
hgs
parents:
diff changeset
   189
            CCaSqlQuery* aQuery, RSqlDatabase& aSqlDb );
7feec50967db 201003_02
hgs
parents:
diff changeset
   190
7feec50967db 201003_02
hgs
parents:
diff changeset
   191
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   192
     * Creates an sql query to add an icon for a new entry.
7feec50967db 201003_02
hgs
parents:
diff changeset
   193
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   194
     * @param aEntry the entry for which to add an icon.
7feec50967db 201003_02
hgs
parents:
diff changeset
   195
     * @param aQuery The result query.
7feec50967db 201003_02
hgs
parents:
diff changeset
   196
     * @param aSqlDb The handle to the database needed for 
7feec50967db 201003_02
hgs
parents:
diff changeset
   197
     * the created queries' member (RSqlStatement iStatement).
7feec50967db 201003_02
hgs
parents:
diff changeset
   198
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   199
    static void CreateAddIconQueryForNewL( CCaInnerEntry* aEntry,
7feec50967db 201003_02
hgs
parents:
diff changeset
   200
            CCaSqlQuery* aQuery, RSqlDatabase& aSqlDb );
7feec50967db 201003_02
hgs
parents:
diff changeset
   201
7feec50967db 201003_02
hgs
parents:
diff changeset
   202
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   203
     * Creates an sql query to add an icon for an existing entry.
7feec50967db 201003_02
hgs
parents:
diff changeset
   204
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   205
     * @param aEntry the entry for which to add an icon.
7feec50967db 201003_02
hgs
parents:
diff changeset
   206
     * @param aQuery The result query.
7feec50967db 201003_02
hgs
parents:
diff changeset
   207
     * @param aSqlDb The handle to the database needed for 
7feec50967db 201003_02
hgs
parents:
diff changeset
   208
     * the created queries' member (RSqlStatement iStatement).
7feec50967db 201003_02
hgs
parents:
diff changeset
   209
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   210
    static void CreateAddIconQueryForUpdateL( CCaInnerEntry* aEntry,
7feec50967db 201003_02
hgs
parents:
diff changeset
   211
            CCaSqlQuery* aQuery, RSqlDatabase& aSqlDb );
7feec50967db 201003_02
hgs
parents:
diff changeset
   212
7feec50967db 201003_02
hgs
parents:
diff changeset
   213
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   214
     * Creates an sql query to update an icon for an existing entry.
7feec50967db 201003_02
hgs
parents:
diff changeset
   215
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   216
     * @param aEntry the entry for which to update an icon.
7feec50967db 201003_02
hgs
parents:
diff changeset
   217
     * @param aQuery The result query.
7feec50967db 201003_02
hgs
parents:
diff changeset
   218
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   219
    static void CreateUpdateIconQueryL( const CCaInnerEntry* aEntry,
7feec50967db 201003_02
hgs
parents:
diff changeset
   220
            CCaSqlQuery* aQuery );
7feec50967db 201003_02
hgs
parents:
diff changeset
   221
7feec50967db 201003_02
hgs
parents:
diff changeset
   222
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   223
     * Creates an sql query to update an entry.
7feec50967db 201003_02
hgs
parents:
diff changeset
   224
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   225
     * @param aEntry The entry to be updated.
7feec50967db 201003_02
hgs
parents:
diff changeset
   226
     * @param aQuery The result query.
7feec50967db 201003_02
hgs
parents:
diff changeset
   227
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   228
    static void CreateUpdateQueryEntryL( const CCaInnerEntry* aEntry,
7feec50967db 201003_02
hgs
parents:
diff changeset
   229
            CCaSqlQuery* aQuery );
92
hgs
parents: 85
diff changeset
   230
    
85
7feec50967db 201003_02
hgs
parents:
diff changeset
   231
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   232
     * Creates an sql query to get a list of entries by the given ids.
7feec50967db 201003_02
hgs
parents:
diff changeset
   233
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   234
     * @param aIdEntryCount The number of entries to fetch.
7feec50967db 201003_02
hgs
parents:
diff changeset
   235
     * @param aQuery The result query.
7feec50967db 201003_02
hgs
parents:
diff changeset
   236
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   237
    static void CreateGetEntriesQueryByIdL( const TInt aIdEntryCount,
7feec50967db 201003_02
hgs
parents:
diff changeset
   238
            CCaSqlQuery* aQuery );
7feec50967db 201003_02
hgs
parents:
diff changeset
   239
7feec50967db 201003_02
hgs
parents:
diff changeset
   240
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   241
     * Creates an sql query to get a list of entries by query data.
7feec50967db 201003_02
hgs
parents:
diff changeset
   242
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   243
     * @param aQuery The query to analize for 
7feec50967db 201003_02
hgs
parents:
diff changeset
   244
     * a specific selection (result list of entries).
7feec50967db 201003_02
hgs
parents:
diff changeset
   245
     * @param aSqlQuery The result query.
7feec50967db 201003_02
hgs
parents:
diff changeset
   246
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   247
    static void CreateGetEntriesQueryByQueryL( const CCaInnerQuery* aQuery,
7feec50967db 201003_02
hgs
parents:
diff changeset
   248
            CCaSqlQuery* aSqlQuery );
7feec50967db 201003_02
hgs
parents:
diff changeset
   249
7feec50967db 201003_02
hgs
parents:
diff changeset
   250
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   251
     * Helper function which creates a string with 
7feec50967db 201003_02
hgs
parents:
diff changeset
   252
     * a list of id mappings. e.g. (id0,id1,id2)
7feec50967db 201003_02
hgs
parents:
diff changeset
   253
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   254
     * @param aIdEntryCount the number of entries to create the id list.
7feec50967db 201003_02
hgs
parents:
diff changeset
   255
     * @param aEntryIdList The result text.
7feec50967db 201003_02
hgs
parents:
diff changeset
   256
     * @param aColName column name with specified id.
7feec50967db 201003_02
hgs
parents:
diff changeset
   257
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   258
    static void CreateIdListL( const TInt aIdEntryCount,
7feec50967db 201003_02
hgs
parents:
diff changeset
   259
            RBuf& aEntryIdList, const TDesC& aColName );
7feec50967db 201003_02
hgs
parents:
diff changeset
   260
7feec50967db 201003_02
hgs
parents:
diff changeset
   261
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   262
     * Modifies a given query with sort order information.
7feec50967db 201003_02
hgs
parents:
diff changeset
   263
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   264
     * @param aSortType The sort order type.
7feec50967db 201003_02
hgs
parents:
diff changeset
   265
     * @param aQuery the query where the sort order will be included.
7feec50967db 201003_02
hgs
parents:
diff changeset
   266
     * @param aSortByGroup Additional information if to sort within a group.
7feec50967db 201003_02
hgs
parents:
diff changeset
   267
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   268
    static void ModifyQueryForSortOrderL( 
7feec50967db 201003_02
hgs
parents:
diff changeset
   269
            const CCaInnerQuery::TSortAttribute aSortType, 
7feec50967db 201003_02
hgs
parents:
diff changeset
   270
            RBuf& aQuery, TBool aSortByGroup );
127
hgs
parents: 107
diff changeset
   271
   
85
7feec50967db 201003_02
hgs
parents:
diff changeset
   272
    /**
7feec50967db 201003_02
hgs
parents:
diff changeset
   273
     * Check if icon is set proper in CCaInnerEntry.
7feec50967db 201003_02
hgs
parents:
diff changeset
   274
     *
7feec50967db 201003_02
hgs
parents:
diff changeset
   275
     * @param aEntry The entry with icon params.
7feec50967db 201003_02
hgs
parents:
diff changeset
   276
     * @return TIconType .
7feec50967db 201003_02
hgs
parents:
diff changeset
   277
     */
7feec50967db 201003_02
hgs
parents:
diff changeset
   278
    static TIconType CheckIconType( const CCaInnerEntry* aEntry );
7feec50967db 201003_02
hgs
parents:
diff changeset
   279
7feec50967db 201003_02
hgs
parents:
diff changeset
   280
    };
7feec50967db 201003_02
hgs
parents:
diff changeset
   281
7feec50967db 201003_02
hgs
parents:
diff changeset
   282
#endif // CASQLQUERYCREATOR_H