data/publisherif/inc/hspublisher.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 __HSPUBLISHER_H__
b856a9924bbc initial contribution
jake
parents:
diff changeset
    22
#define __HSPUBLISHER_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
#include <fbs.h>
b856a9924bbc initial contribution
jake
parents:
diff changeset
    27
b856a9924bbc initial contribution
jake
parents:
diff changeset
    28
// User includes
b856a9924bbc initial contribution
jake
parents:
diff changeset
    29
b856a9924bbc initial contribution
jake
parents:
diff changeset
    30
// Forward declarations
b856a9924bbc initial contribution
jake
parents:
diff changeset
    31
class CHsPublisherImpl;
b856a9924bbc initial contribution
jake
parents:
diff changeset
    32
class MHsWidgetObserver;
b856a9924bbc initial contribution
jake
parents:
diff changeset
    33
b856a9924bbc initial contribution
jake
parents:
diff changeset
    34
//  Constants
b856a9924bbc initial contribution
jake
parents:
diff changeset
    35
b856a9924bbc initial contribution
jake
parents:
diff changeset
    36
//  Class Definitions
b856a9924bbc initial contribution
jake
parents:
diff changeset
    37
NONSHARABLE_CLASS( CHsPublisher ) : public CBase
b856a9924bbc initial contribution
jake
parents:
diff changeset
    38
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
    39
public:
b856a9924bbc initial contribution
jake
parents:
diff changeset
    40
    // constructors and destructor
b856a9924bbc initial contribution
jake
parents:
diff changeset
    41
b856a9924bbc initial contribution
jake
parents:
diff changeset
    42
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    43
     * Constructor
b856a9924bbc initial contribution
jake
parents:
diff changeset
    44
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    45
     * @param aObserver Widget observer interface
b856a9924bbc initial contribution
jake
parents:
diff changeset
    46
     * @param aEnablePersist ETrue if publisher wants to save published data to SQL database for later usage.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    47
     *        This option should be used with caution as it taxes runtime performance and resources.               
b856a9924bbc initial contribution
jake
parents:
diff changeset
    48
     */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    49
    static CHsPublisher* NewL( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    50
        MHsWidgetObserver& aObserver, 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    51
        TBool aEnablePersist = EFalse );
b856a9924bbc initial contribution
jake
parents:
diff changeset
    52
    
b856a9924bbc initial contribution
jake
parents:
diff changeset
    53
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    54
     * Constructor
b856a9924bbc initial contribution
jake
parents:
diff changeset
    55
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    56
     * @param aObserver Widget observer interface
b856a9924bbc initial contribution
jake
parents:
diff changeset
    57
     * @param aEnablePersist ETrue if publisher wants to save published data to SQL database for later usage.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    58
     *        This option should be used with caution as it taxes runtime performance and resources.                
b856a9924bbc initial contribution
jake
parents:
diff changeset
    59
     */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    60
    static CHsPublisher* NewLC(            
b856a9924bbc initial contribution
jake
parents:
diff changeset
    61
        MHsWidgetObserver& aObserver,
b856a9924bbc initial contribution
jake
parents:
diff changeset
    62
        TBool aEnablePersist = EFalse );
b856a9924bbc initial contribution
jake
parents:
diff changeset
    63
        
b856a9924bbc initial contribution
jake
parents:
diff changeset
    64
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    65
     * Destructor
b856a9924bbc initial contribution
jake
parents:
diff changeset
    66
     */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    67
    ~CHsPublisher();
b856a9924bbc initial contribution
jake
parents:
diff changeset
    68
b856a9924bbc initial contribution
jake
parents:
diff changeset
    69
public:
b856a9924bbc initial contribution
jake
parents:
diff changeset
    70
    // new functions
b856a9924bbc initial contribution
jake
parents:
diff changeset
    71
    
b856a9924bbc initial contribution
jake
parents:
diff changeset
    72
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    73
     * Publishes text to a <text> element in widget
b856a9924bbc initial contribution
jake
parents:
diff changeset
    74
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    75
     * @param aWidgetId Widget Id identifying the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    76
     * @param aElementId Element id identifying the text element in the widget.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    77
     * @param aText Text to set.     
b856a9924bbc initial contribution
jake
parents:
diff changeset
    78
     * @return System wide error code.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    79
     */
b856a9924bbc initial contribution
jake
parents:
diff changeset
    80
    TInt PublishText( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    81
        const TDesC& aWidgetId, 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    82
        const TDesC8& aElementId, 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    83
        const TDesC& aText );
b856a9924bbc initial contribution
jake
parents:
diff changeset
    84
b856a9924bbc initial contribution
jake
parents:
diff changeset
    85
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
    86
     * Publishes image to an <image> element in widget
b856a9924bbc initial contribution
jake
parents:
diff changeset
    87
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    88
     * @param aWidgetId Widget Id identifying the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    89
     * @param aElementId Element id identifying the iamge element in the widget.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    90
     * @param aImage Image to set.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    91
     * @param aMask Mask to set. 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    92
     * @return System wide error code.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    93
     */    
b856a9924bbc initial contribution
jake
parents:
diff changeset
    94
    TInt PublishImage( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    95
        const TDesC& aWidgetId, 
b856a9924bbc initial contribution
jake
parents:
diff changeset
    96
        const TDesC8& aElementId,
b856a9924bbc initial contribution
jake
parents:
diff changeset
    97
        const CFbsBitmap* aImage,
b856a9924bbc initial contribution
jake
parents:
diff changeset
    98
        const CFbsBitmap* aMask );
b856a9924bbc initial contribution
jake
parents:
diff changeset
    99
b856a9924bbc initial contribution
jake
parents:
diff changeset
   100
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   101
     * Publishes image to an <image> element in widget
b856a9924bbc initial contribution
jake
parents:
diff changeset
   102
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   103
     * @param aWidgetId Widget Id identifying the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   104
     * @param aElementId Element id identifying the image element in the widget.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   105
     * @param aImageHandle Image handle.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   106
     * @param aMaskHandle Mask handle.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   107
     * @return System wide error code.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   108
     */        
b856a9924bbc initial contribution
jake
parents:
diff changeset
   109
    TInt PublishImage( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   110
        const TDesC& aWidgetId,      
b856a9924bbc initial contribution
jake
parents:
diff changeset
   111
        const TDesC8& aElementId, 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   112
        TInt aImageHandle, 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   113
        TInt aMaskHandle );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   114
b856a9924bbc initial contribution
jake
parents:
diff changeset
   115
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   116
     * Publishes image to an <image> element in the widget.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   117
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   118
     * @param aWidgetId Widget Id identifying the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   119
     * @param aElementId Element id identifying the image element in the widget.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   120
     * @param aSource Source for the image. Supported source formats are:
b856a9924bbc initial contribution
jake
parents:
diff changeset
   121
     * - Filesystem path, i.e. _LIT( KMyImagePath, "c:\\data\\Installs\\MyWidget\\image.jpg");
b856a9924bbc initial contribution
jake
parents:
diff changeset
   122
     * - skin(<majorId> <minorId>), i.e. _LIT( KMySkinImage, "skin(270501603 8586)" );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   123
     * - mif(<MifFileName.mif> <bitmapId> <maskId>), i.e. _LIT( KMyMifImage, "mif(c:\\data\\Installs\\MyWidget\\mymwidget.mif 16384 16385" );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   124
     */                
b856a9924bbc initial contribution
jake
parents:
diff changeset
   125
    TInt PublishImage( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   126
        const TDesC& aWidgetId,           
b856a9924bbc initial contribution
jake
parents:
diff changeset
   127
        const TDesC8& aElementId, 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   128
        const TDesC& aSource );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   129
    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   130
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   131
     * Publishes stream to a <data> element in widget
b856a9924bbc initial contribution
jake
parents:
diff changeset
   132
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   133
     * @param aWidgetId Widget Id identifying the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   134
     * @param aElementId Element id identifying the data element in the widget.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   135
     * @param aStream The stream as descriptor.         
b856a9924bbc initial contribution
jake
parents:
diff changeset
   136
     * @return System wide error code.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   137
     */            
b856a9924bbc initial contribution
jake
parents:
diff changeset
   138
    TInt PublishStream(
b856a9924bbc initial contribution
jake
parents:
diff changeset
   139
        const TDesC& aWidgetId,
b856a9924bbc initial contribution
jake
parents:
diff changeset
   140
        const TDesC8& aElementId,
b856a9924bbc initial contribution
jake
parents:
diff changeset
   141
        const TDesC8& aStream );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   142
b856a9924bbc initial contribution
jake
parents:
diff changeset
   143
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   144
     * Cleans published text from a <text> element.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   145
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   146
     * @param aWidgetId Widget Id identifying the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   147
     * @param aElementId Element id identifying the data element in the widget.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   148
     * @return System wide error code.     
b856a9924bbc initial contribution
jake
parents:
diff changeset
   149
     */
b856a9924bbc initial contribution
jake
parents:
diff changeset
   150
    TInt CleanText( const TDesC& aWidgetId,    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   151
        const TDesC8& aElementId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   152
b856a9924bbc initial contribution
jake
parents:
diff changeset
   153
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   154
     * Cleans published image from an <image> element.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   155
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   156
     * @param aWidgetId Widget Id identifying the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   157
     * @param aElementId Element id identifying the data element in the widget.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   158
     * @return System wide error code.     
b856a9924bbc initial contribution
jake
parents:
diff changeset
   159
     */    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   160
    TInt CleanImage( const TDesC& aWidgetId,    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   161
        const TDesC8& aElementId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   162
    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   163
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   164
     * Starts a publish transaction. Transaction must be committed  
b856a9924bbc initial contribution
jake
parents:
diff changeset
   165
     * with CommitTransaction method.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   166
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   167
     * @param aWidget Widget Id identifying the transaction for widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   168
     * @return System wide error code.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   169
     */                
b856a9924bbc initial contribution
jake
parents:
diff changeset
   170
    TInt StartTransaction( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   171
        const TDesC& aWidgetId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   172
    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   173
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   174
     * Commits the publish transaction and flushes changes to Homescreen.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   175
     * 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   176
     * @param aWidget Widget Id identifying the transaction for the widget instance.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   177
     * @return System wide error code.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   178
     */            
b856a9924bbc initial contribution
jake
parents:
diff changeset
   179
    TInt CommitTransaction( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   180
        const TDesC& aWidgetId );    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   181
       
b856a9924bbc initial contribution
jake
parents:
diff changeset
   182
private:
b856a9924bbc initial contribution
jake
parents:
diff changeset
   183
    // private constructors
b856a9924bbc initial contribution
jake
parents:
diff changeset
   184
    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   185
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   186
     * C++ default constructor
b856a9924bbc initial contribution
jake
parents:
diff changeset
   187
     */
b856a9924bbc initial contribution
jake
parents:
diff changeset
   188
    CHsPublisher();
b856a9924bbc initial contribution
jake
parents:
diff changeset
   189
    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   190
    /**
b856a9924bbc initial contribution
jake
parents:
diff changeset
   191
     * 2nd phase constructor
b856a9924bbc initial contribution
jake
parents:
diff changeset
   192
     */
b856a9924bbc initial contribution
jake
parents:
diff changeset
   193
    void ConstructL( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   194
        MHsWidgetObserver& aObserver,
b856a9924bbc initial contribution
jake
parents:
diff changeset
   195
        TBool aEnablePersist );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   196
    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   197
private:
b856a9924bbc initial contribution
jake
parents:
diff changeset
   198
    // data
b856a9924bbc initial contribution
jake
parents:
diff changeset
   199
        
b856a9924bbc initial contribution
jake
parents:
diff changeset
   200
    /** HS publisher implementation, owned */
b856a9924bbc initial contribution
jake
parents:
diff changeset
   201
    CHsPublisherImpl* iImpl;
b856a9924bbc initial contribution
jake
parents:
diff changeset
   202
    };
b856a9924bbc initial contribution
jake
parents:
diff changeset
   203
b856a9924bbc initial contribution
jake
parents:
diff changeset
   204
#endif  // __HSPUBLISHER_H__
b856a9924bbc initial contribution
jake
parents:
diff changeset
   205
b856a9924bbc initial contribution
jake
parents:
diff changeset
   206
// End of file