data/publisherif/inc/hswidgetobserver.h
author jake
Wed, 02 Jun 2010 13:22:05 +0300
changeset 0 b856a9924bbc
permissions -rw-r--r--
initial contribution
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b856a9924bbc initial contribution
jake
parents:
diff changeset
     1
/*
b856a9924bbc initial contribution
jake
parents:
diff changeset
     2
* Copyright (c) {Year(s)} {Copyright owner}.
b856a9924bbc initial contribution
jake
parents:
diff changeset
     3
* All rights reserved.
b856a9924bbc initial contribution
jake
parents:
diff changeset
     4
* This component and the accompanying materials are made available
b856a9924bbc initial contribution
jake
parents:
diff changeset
     5
* under the terms of the "Eclipse Public License v1.0"
b856a9924bbc initial contribution
jake
parents:
diff changeset
     6
* which accompanies this distribution, and is available
b856a9924bbc initial contribution
jake
parents:
diff changeset
     7
* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
b856a9924bbc initial contribution
jake
parents:
diff changeset
     8
*
b856a9924bbc initial contribution
jake
parents:
diff changeset
     9
* Initial Contributors:
b856a9924bbc initial contribution
jake
parents:
diff changeset
    10
* {Name} {Company} ? Initial contribution
b856a9924bbc initial contribution
jake
parents:
diff changeset
    11
*
b856a9924bbc initial contribution
jake
parents:
diff changeset
    12
* Contributors:
b856a9924bbc initial contribution
jake
parents:
diff changeset
    13
* {Name} {Company} ? {{Description of contribution}}
b856a9924bbc initial contribution
jake
parents:
diff changeset
    14
*
b856a9924bbc initial contribution
jake
parents:
diff changeset
    15
* Description:
b856a9924bbc initial contribution
jake
parents:
diff changeset
    16
* {{Description of the file}}
b856a9924bbc initial contribution
jake
parents:
diff changeset
    17
*
b856a9924bbc initial contribution
jake
parents:
diff changeset
    18
*/
b856a9924bbc initial contribution
jake
parents:
diff changeset
    19
b856a9924bbc initial contribution
jake
parents:
diff changeset
    20
b856a9924bbc initial contribution
jake
parents:
diff changeset
    21
#ifndef __HSWIDGETOBSERVER_H__
b856a9924bbc initial contribution
jake
parents:
diff changeset
    22
#define __HSWIDGETOBSERVER_H__
b856a9924bbc initial contribution
jake
parents:
diff changeset
    23
b856a9924bbc initial contribution
jake
parents:
diff changeset
    24
//  System includes 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    25
#include <e32base.h>    
b856a9924bbc initial contribution
jake
parents:
diff changeset
    26
b856a9924bbc initial contribution
jake
parents:
diff changeset
    27
// User includes
b856a9924bbc initial contribution
jake
parents:
diff changeset
    28
b856a9924bbc initial contribution
jake
parents:
diff changeset
    29
// Forward declarations
b856a9924bbc initial contribution
jake
parents:
diff changeset
    30
b856a9924bbc initial contribution
jake
parents:
diff changeset
    31
//  Constants
b856a9924bbc initial contribution
jake
parents:
diff changeset
    32
b856a9924bbc initial contribution
jake
parents:
diff changeset
    33
//  Class Definitions
b856a9924bbc initial contribution
jake
parents:
diff changeset
    34
class MHsWidgetObserver
b856a9924bbc initial contribution
jake
parents:
diff changeset
    35
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
    36
public:
b856a9924bbc initial contribution
jake
parents:
diff changeset
    37
    enum EState
b856a9924bbc initial contribution
jake
parents:
diff changeset
    38
        {
b856a9924bbc initial contribution
jake
parents:
diff changeset
    39
        /** 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    40
         * Widget instance should enter to suspended state.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    41
         * This means that Homescreen is not visible anymore. 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    42
         */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    43
        ESuspend = 0,
b856a9924bbc initial contribution
jake
parents:
diff changeset
    44
        /** 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    45
         * Widget instance should enter to alive state.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    46
         * This means that Homescreen visible. Resource consumption and publishing is allowed.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    47
         */                
b856a9924bbc initial contribution
jake
parents:
diff changeset
    48
        EAlive,
b856a9924bbc initial contribution
jake
parents:
diff changeset
    49
        /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    50
         * Widget instance may enter to online state.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    51
         * This means that it may consume network resources.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    52
         */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    53
        EOnline,
b856a9924bbc initial contribution
jake
parents:
diff changeset
    54
        /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    55
         * Widget instance must enter to offline state.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    56
         * This means that it is not allowed to consume network resources.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    57
         */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    58
        EOffline        
b856a9924bbc initial contribution
jake
parents:
diff changeset
    59
        };
b856a9924bbc initial contribution
jake
parents:
diff changeset
    60
    
b856a9924bbc initial contribution
jake
parents:
diff changeset
    61
    enum EStartReason
b856a9924bbc initial contribution
jake
parents:
diff changeset
    62
        {
b856a9924bbc initial contribution
jake
parents:
diff changeset
    63
        /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    64
         * Widget was started because system starts-up. 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    65
         */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    66
        ESystemStart = 1,
b856a9924bbc initial contribution
jake
parents:
diff changeset
    67
        /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    68
         * Widget was started because of Homescreen page change. 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    69
         */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    70
        EPageStart,
b856a9924bbc initial contribution
jake
parents:
diff changeset
    71
        /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    72
         * Widget was started because of it was added to Homescreen. 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    73
         */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    74
        EWidgetStart
b856a9924bbc initial contribution
jake
parents:
diff changeset
    75
        };
b856a9924bbc initial contribution
jake
parents:
diff changeset
    76
b856a9924bbc initial contribution
jake
parents:
diff changeset
    77
    enum EStopReason
b856a9924bbc initial contribution
jake
parents:
diff changeset
    78
        {
b856a9924bbc initial contribution
jake
parents:
diff changeset
    79
        /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    80
         * Widget was stopped because system shutsdown.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    81
         */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    82
        ESystemStop = 1,
b856a9924bbc initial contribution
jake
parents:
diff changeset
    83
        /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    84
         * Widget was stopped because of Homescreen page change.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    85
         */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    86
        EPageStop,
b856a9924bbc initial contribution
jake
parents:
diff changeset
    87
        /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    88
         * Widget was stopped because it was removed from Homescreen. 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    89
         */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    90
        EWidgetStop
b856a9924bbc initial contribution
jake
parents:
diff changeset
    91
        };
b856a9924bbc initial contribution
jake
parents:
diff changeset
    92
        
b856a9924bbc initial contribution
jake
parents:
diff changeset
    93
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    94
     * Requests this publisher's identity.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    95
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    96
     * @return Publisher identity in <UID:PublisherName> format.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    97
     *         The identity must map to xml <configuration> element, i.e.:
b856a9924bbc initial contribution
jake
parents:
diff changeset
    98
     *         <configuration name="publisher" value="MyUid:MyPublisherName"/>
b856a9924bbc initial contribution
jake
parents:
diff changeset
    99
     */
b856a9924bbc initial contribution
jake
parents:
diff changeset
   100
    virtual const TDesC& Identity() = 0;    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   101
    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   102
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   103
     * Notifies that Homescreen has started widget.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   104
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   105
     * @param aWidgetId Widget Id identifying the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   106
     * @param aReason Reason why Homescreen started the widget instance. 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   107
     */
b856a9924bbc initial contribution
jake
parents:
diff changeset
   108
    virtual void NotifyWidgetStarted( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   109
        const TDesC& aWidgetId, 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   110
        EStartReason aReason ) = 0;
b856a9924bbc initial contribution
jake
parents:
diff changeset
   111
b856a9924bbc initial contribution
jake
parents:
diff changeset
   112
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   113
     * Notifies that Homescreen has stopped widget.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   114
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   115
     * @param aWidgetId Widget Id identifying the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   116
     * @param aReason Reason why Homescreen stopped the widget instance. 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   117
     */    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   118
    virtual void NotifyWidgetStopped( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   119
        const TDesC& aWidgetId, 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   120
        EStopReason aReason ) = 0;
b856a9924bbc initial contribution
jake
parents:
diff changeset
   121
b856a9924bbc initial contribution
jake
parents:
diff changeset
   122
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   123
     * Notifies that Homescreen has changed widget state.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   124
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   125
     * @param aWidgetId Widget Id identifying the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   126
     * @param aState New state for the widget instance. 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   127
     */        
b856a9924bbc initial contribution
jake
parents:
diff changeset
   128
    virtual void NotifyWidgetState( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   129
        const TDesC& aWidgetId, 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   130
        EState aState ) = 0;    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   131
b856a9924bbc initial contribution
jake
parents:
diff changeset
   132
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   133
     * Notifies a widget specific event.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   134
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   135
     * @param aWidgetId Widget Id identifying the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   136
     * @param aEvent Event from the widget instance. 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   137
     * @param aParam Event parameter from the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   138
     */            
b856a9924bbc initial contribution
jake
parents:
diff changeset
   139
    virtual void NotifyWidgetEvent(
b856a9924bbc initial contribution
jake
parents:
diff changeset
   140
        const TDesC& aWidgetId,
b856a9924bbc initial contribution
jake
parents:
diff changeset
   141
        const TDesC& aEvent,
b856a9924bbc initial contribution
jake
parents:
diff changeset
   142
        const TDesC& aParam ) = 0;
b856a9924bbc initial contribution
jake
parents:
diff changeset
   143
    };
b856a9924bbc initial contribution
jake
parents:
diff changeset
   144
b856a9924bbc initial contribution
jake
parents:
diff changeset
   145
#endif // __HSWIDGETOBSERVER_H__
b856a9924bbc initial contribution
jake
parents:
diff changeset
   146
b856a9924bbc initial contribution
jake
parents:
diff changeset
   147
// End of file