videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/stub/inc/iaupdate.h
author hgs
Tue, 05 Oct 2010 09:26:49 +0300
changeset 66 adb51f74b890
permissions -rw-r--r--
201039
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
66
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2007-2008 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:   This file contains the header file of the CIAUpdate class 
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#ifndef IA_UPDATE_H
hgs
parents:
diff changeset
    20
#define IA_UPDATE_H
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include <e32base.h>
hgs
parents:
diff changeset
    23
#include <e32std.h>
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
#define private public
hgs
parents:
diff changeset
    26
#include "videoiadupdatewrapper.h"
hgs
parents:
diff changeset
    27
#undef private
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
class CIAUpdateManager;
hgs
parents:
diff changeset
    30
class CIAUpdateParameters;
hgs
parents:
diff changeset
    31
class MIAUpdateObserver;
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
/**
hgs
parents:
diff changeset
    34
 * CIAUpdate object provides methods to handle update actions.
hgs
parents:
diff changeset
    35
 * Updating will be targeted to the update items that qualify the requirements
hgs
parents:
diff changeset
    36
 * given in CIAUpdateParameters objects. In asynchronous actions, the callback 
hgs
parents:
diff changeset
    37
 * functions of MIAUpdateObserver object will be informed about the progress 
hgs
parents:
diff changeset
    38
 * of update actions.
hgs
parents:
diff changeset
    39
 * 
hgs
parents:
diff changeset
    40
 * @see MIAUpdateObserver
hgs
parents:
diff changeset
    41
 * @see CIAUpdateParameters
hgs
parents:
diff changeset
    42
 *
hgs
parents:
diff changeset
    43
 * @since S60 v3.2
hgs
parents:
diff changeset
    44
 */
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
class CIAUpdate : public CBase
hgs
parents:
diff changeset
    47
    {
hgs
parents:
diff changeset
    48
public:
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
    /**
hgs
parents:
diff changeset
    51
     * @param aObserver Callback functions of the observer are called
hgs
parents:
diff changeset
    52
     * when operations that are started from this interface progress.    
hgs
parents:
diff changeset
    53
     * @return CIAUpdate* Pointer to the created CIAUpdate object that 
hgs
parents:
diff changeset
    54
     * can be used for update actions.
hgs
parents:
diff changeset
    55
     *
hgs
parents:
diff changeset
    56
     * @since S60 v3.2
hgs
parents:
diff changeset
    57
     */
hgs
parents:
diff changeset
    58
    static CIAUpdate* NewL( MIAUpdateObserver&  ){return new CIAUpdate;};
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
    /**
hgs
parents:
diff changeset
    61
     * Destructor
hgs
parents:
diff changeset
    62
     *
hgs
parents:
diff changeset
    63
     * @since S60 v3.2
hgs
parents:
diff changeset
    64
     */
hgs
parents:
diff changeset
    65
    virtual ~CIAUpdate(){};
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
hgs
parents:
diff changeset
    68
    /**
hgs
parents:
diff changeset
    69
     * Checks if any updates are available.
hgs
parents:
diff changeset
    70
     * This function is asynchronic.
hgs
parents:
diff changeset
    71
     *
hgs
parents:
diff changeset
    72
     * @note Update check is directed to items that match:
hgs
parents:
diff changeset
    73
     *       - CIAUpdateParameters::Uid OR
hgs
parents:
diff changeset
    74
     *       - CIAUpdateParameters::SearchCriteria
hgs
parents:
diff changeset
    75
     * @note Uid describes either package UID or SID.
hgs
parents:
diff changeset
    76
     *       UID is assumed to be SID if update items are not found 
hgs
parents:
diff changeset
    77
     *       with the given UID. Then, corresponding package UID is 
hgs
parents:
diff changeset
    78
     *       searched from the installed application registry. 
hgs
parents:
diff changeset
    79
     *       If corresponding package UID is found, then update items 
hgs
parents:
diff changeset
    80
     *       are rechecked. 
hgs
parents:
diff changeset
    81
     * @note If Uid is given, then search criteria is omitted.
hgs
parents:
diff changeset
    82
     * @note If none of the parameters that are mentioned above is not set, 
hgs
parents:
diff changeset
    83
     * then all the updates are checked.
hgs
parents:
diff changeset
    84
     *
hgs
parents:
diff changeset
    85
     * @note CIAUpdateParameters::ShowProgress defines if a ready-made
hgs
parents:
diff changeset
    86
     * wait dialog should be shown in case the operation takes longer time. 
hgs
parents:
diff changeset
    87
     * This happens e.g. if the updates are refreshed from the server.
hgs
parents:
diff changeset
    88
     *
hgs
parents:
diff changeset
    89
     * @param aUpdateParameters Defines the update targets.
hgs
parents:
diff changeset
    90
     *
hgs
parents:
diff changeset
    91
     * @since S60 v3.2
hgs
parents:
diff changeset
    92
     */
hgs
parents:
diff changeset
    93
    void CheckUpdates( const CIAUpdateParameters&  ){};
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
hgs
parents:
diff changeset
    96
    /** 
hgs
parents:
diff changeset
    97
     * Starts IAD UI.
hgs
parents:
diff changeset
    98
     *
hgs
parents:
diff changeset
    99
     * UI will show the update items that qualify the requirements given
hgs
parents:
diff changeset
   100
     * in aUpdateParameters.
hgs
parents:
diff changeset
   101
     *
hgs
parents:
diff changeset
   102
     * Even if the updating is handled in the IAD UI, the observer is informed
hgs
parents:
diff changeset
   103
     * about the progression of operations. So, the calling application
hgs
parents:
diff changeset
   104
     * may continue correctly after updates are finished.
hgs
parents:
diff changeset
   105
     * 
hgs
parents:
diff changeset
   106
     * @note IAD UI will show update items that match:
hgs
parents:
diff changeset
   107
     *       - CIAUpdateParameters::Uid
hgs
parents:
diff changeset
   108
     *       - CIAUpdateParameters::SearchCriteria
hgs
parents:
diff changeset
   109
     * @note Uid describes either package UID or SID.
hgs
parents:
diff changeset
   110
     *       UID is assumed to be SID if update items are not found 
hgs
parents:
diff changeset
   111
     *       with the given UID. Then, corresponding package UID is 
hgs
parents:
diff changeset
   112
     *       searched from the installed application registry. 
hgs
parents:
diff changeset
   113
     *       If corresponding package UID is found, then update items 
hgs
parents:
diff changeset
   114
     *       are rechecked. 
hgs
parents:
diff changeset
   115
     * @note If Uid is given, then search criteria is omitted.
hgs
parents:
diff changeset
   116
     * @note If none of the parameters that are mentioned above is not set, 
hgs
parents:
diff changeset
   117
     * then all the updates are shown in the UI.
hgs
parents:
diff changeset
   118
     *
hgs
parents:
diff changeset
   119
     * @note When update finishes, the following values are used 
hgs
parents:
diff changeset
   120
     * for command line execution:
hgs
parents:
diff changeset
   121
     *      - CIAUpdateParameters::CommandLineExecutable
hgs
parents:
diff changeset
   122
     *      - CIAUpdateParameters::CommandLineArguments
hgs
parents:
diff changeset
   123
     * @note If CIAUpdateParameters::CommandLineExecutable is not set, 
hgs
parents:
diff changeset
   124
     * then no command line execution is done.
hgs
parents:
diff changeset
   125
     *
hgs
parents:
diff changeset
   126
     * @param aUpdateParameters Defines the update targets.
hgs
parents:
diff changeset
   127
     *
hgs
parents:
diff changeset
   128
     * @since S60 v3.2
hgs
parents:
diff changeset
   129
     */
hgs
parents:
diff changeset
   130
    void ShowUpdates( const CIAUpdateParameters& ){};
hgs
parents:
diff changeset
   131
    
hgs
parents:
diff changeset
   132
hgs
parents:
diff changeset
   133
    /** 
hgs
parents:
diff changeset
   134
     * All the items that qualify the requirements given in
hgs
parents:
diff changeset
   135
     * aUpdateParameters will be updated without opening the IAD UI.
hgs
parents:
diff changeset
   136
     * This function is asynchronic.
hgs
parents:
diff changeset
   137
     *
hgs
parents:
diff changeset
   138
     * @note Update is directed to items that match:
hgs
parents:
diff changeset
   139
     *       - CIAUpdateParameters::Uid
hgs
parents:
diff changeset
   140
     *       - CIAUpdateParameters::SearchCriteria
hgs
parents:
diff changeset
   141
     * @note Uid describes either package UID or SID.
hgs
parents:
diff changeset
   142
     *       UID is assumed to be SID if update items are not found 
hgs
parents:
diff changeset
   143
     *       with the given UID. Then, corresponding package UID is 
hgs
parents:
diff changeset
   144
     *       searched from the installed application registry. 
hgs
parents:
diff changeset
   145
     *       If corresponding package UID is found, then update items 
hgs
parents:
diff changeset
   146
     *       are rechecked. 
hgs
parents:
diff changeset
   147
     * @note If Uid is given, then search criteria is omitted.
hgs
parents:
diff changeset
   148
     * @note If none of the parameters that are mentioned above is not set, 
hgs
parents:
diff changeset
   149
     * then everything is updated.
hgs
parents:
diff changeset
   150
     *
hgs
parents:
diff changeset
   151
     * @note When update finishes, the following values are used 
hgs
parents:
diff changeset
   152
     * for command line execution:
hgs
parents:
diff changeset
   153
     *      - CIAUpdateParameters::CommandLineExecutable
hgs
parents:
diff changeset
   154
     *      - CIAUpdateParameters::CommandLineArguments
hgs
parents:
diff changeset
   155
     * @note If CIAUpdateParameters::CommandLineExecutable is not set, 
hgs
parents:
diff changeset
   156
     * then no command line execution is done.
hgs
parents:
diff changeset
   157
     *
hgs
parents:
diff changeset
   158
     * @param aUpdateParameters Defines the update targets.
hgs
parents:
diff changeset
   159
     *
hgs
parents:
diff changeset
   160
     * @since S60 v3.2
hgs
parents:
diff changeset
   161
     */
hgs
parents:
diff changeset
   162
    void Update( const CIAUpdateParameters& ){};
hgs
parents:
diff changeset
   163
hgs
parents:
diff changeset
   164
hgs
parents:
diff changeset
   165
    /** 
hgs
parents:
diff changeset
   166
     * This function is provided as a convenience method 
hgs
parents:
diff changeset
   167
     * that has localized texts for the query dialog. 
hgs
parents:
diff changeset
   168
     * This function does not start any update. 
hgs
parents:
diff changeset
   169
     * This function is asynchronic.
hgs
parents:
diff changeset
   170
     *
hgs
parents:
diff changeset
   171
     * @note The observer is informed when the update query operation has completed.
hgs
parents:
diff changeset
   172
     *
hgs
parents:
diff changeset
   173
     * @since S60 v3.2
hgs
parents:
diff changeset
   174
     */
hgs
parents:
diff changeset
   175
    void UpdateQuery(){};
hgs
parents:
diff changeset
   176
hgs
parents:
diff changeset
   177
    };
hgs
parents:
diff changeset
   178
hgs
parents:
diff changeset
   179
#endif // IA_UPDATE_H