idlefw/plugins/devicestatus/inc/aioperatorlogopublisher.h
branchRCL_3
changeset 9 d0529222e3f0
parent 0 79c6a41cd166
child 74 edd621764147
equal deleted inserted replaced
4:1a2a00e78665 9:d0529222e3f0
    17 
    17 
    18 
    18 
    19 #ifndef C_AIOPERATORLOGOPUBLISHER_H
    19 #ifndef C_AIOPERATORLOGOPUBLISHER_H
    20 #define C_AIOPERATORLOGOPUBLISHER_H
    20 #define C_AIOPERATORLOGOPUBLISHER_H
    21 
    21 
    22 
    22 // System includes
    23 #include <e32base.h>
    23 #include <e32base.h>
    24 #include <e32property.h>
    24 #include <e32property.h>
    25 #include <cenrepnotifyhandler.h>
    25 #include <cenrepnotifyhandler.h>
       
    26 
       
    27 // User includes
    26 #include <aiutility.h>
    28 #include <aiutility.h>
    27 #include "aidevicestatuspublisher.h"
    29 #include "aidevicestatuspublisher.h"
    28 #include "ainetworkinfoobserver.h"
    30 #include "ainetworkinfoobserver.h"
    29 
    31 
       
    32 // Forward declarations
    30 class CAiNetworkInfoListener;
    33 class CAiNetworkInfoListener;
    31 class MAiDeviceStatusContentObserver;
    34 class MAiDeviceStatusContentObserver;
    32 class MAiPropertyExtension;
    35 class CHsContentPublisher;
    33 class CGulIcon;
    36 class CGulIcon;
    34 class CCenRepNotifyHandler;
    37 class CCenRepNotifyHandler;
       
    38 
    35 
    39 
    36 /**
    40 /**
    37  *  @ingroup group_devicestatusplugin
    41  *  @ingroup group_devicestatusplugin
    38  *
    42  *
    39  *  Operator logo publisher.
    43  *  Operator logo publisher.
    41  *  Listens operator logo changes (OTA and programmable) and publishes
    45  *  Listens operator logo changes (OTA and programmable) and publishes
    42  *  the new logo when it is updated.
    46  *  the new logo when it is updated.
    43  *
    47  *
    44  *  @since S60 3.2
    48  *  @since S60 3.2
    45  */
    49  */
    46 class CAiOperatorLogoPublisher : public CBase, public MAiDeviceStatusPublisher,
    50 NONSHARABLE_CLASS( CAiOperatorLogoPublisher ) : public CBase, 
    47                                public MAiNetworkInfoObserver, /*public MAiCenRepNotifierCallBack*/
    51     public MAiDeviceStatusPublisher,
    48                                public MCenRepNotifyHandlerCallback
    52     public MAiNetworkInfoObserver, 
       
    53     public MCenRepNotifyHandlerCallback
    49     {
    54     {
    50 public:
    55 public:
    51 
    56 
    52     static CAiOperatorLogoPublisher* NewL();
    57     static CAiOperatorLogoPublisher* NewL();
    53 
    58 
    57 
    62 
    58 //from base class MAiDeviceStatusPublisher
    63 //from base class MAiDeviceStatusPublisher
    59 
    64 
    60     void ResumeL();
    65     void ResumeL();
    61     void Subscribe( MAiContentObserver& aObserver, 
    66     void Subscribe( MAiContentObserver& aObserver, 
    62                     MAiPropertyExtension& aExtension,
    67                     CHsContentPublisher& aExtension,
    63                     MAiPublishPrioritizer& aPrioritizer,
    68                     MAiPublishPrioritizer& aPrioritizer,
    64                     MAiPublisherBroadcaster& aBroadcaster );
    69                     MAiPublisherBroadcaster& aBroadcaster );
    65     void RefreshL( TBool aClean );
    70     void RefreshL( TBool aClean );
    66     TBool RefreshL( TInt aContentId, TBool aClean );
    71     TBool RefreshL( TInt aContentId, TBool aClean );
       
    72     TBool SuspendL( TInt aContentId, TBool aClean );
    67     TBool RefreshContentWithPriorityL( TInt aContentId, TInt aPriority );
    73     TBool RefreshContentWithPriorityL( TInt aContentId, TInt aPriority );
    68 
    74 
    69 
    75 
    70 //from base class MAiNetworkInfoObserver
    76 //from base class MAiNetworkInfoObserver
    71 
    77 
   147 	static TInt HandleOperatorLogoUpdateL( TAny *aPtr );
   153 	static TInt HandleOperatorLogoUpdateL( TAny *aPtr );
   148 
   154 
   149 
   155 
   150 private: // data
   156 private: // data
   151 
   157 
   152     /**
   158     /** Network info listener, owned */     
   153      * Network info listener.
       
   154      * Own.
       
   155      */
       
   156     CAiNetworkInfoListener* iListener;
   159     CAiNetworkInfoListener* iListener;
   157 
   160     /** Operator logo bitmap and mask, owned */     
   158     /**
       
   159      * Operator logo bitmap and mask.
       
   160      * Own.
       
   161      */
       
   162     CGulIcon* iIcon;
   161     CGulIcon* iIcon;
   163 
   162     /** Content observer, not owned */
   164     /**
       
   165      * Content observer.
       
   166      * Not own.
       
   167      */
       
   168     MAiContentObserver* iContentObserver;
   163     MAiContentObserver* iContentObserver;
   169 
   164     /** Property extension, not owned */
   170     /**
   165     CHsContentPublisher* iExtension;
   171      * Property extension.
   166 	/** Content prioritizer, not owned */
   172      * Not own.
   167 	MAiPublishPrioritizer* iPrioritizer;    
   173      */
   168 	/** Publish broadcaster, not owned */
   174     MAiPropertyExtension* iExtension;
   169 	MAiPublisherBroadcaster* iBroadcaster;    
   175 
   170     /** Publish-subscribe client, owned */
   176 	/**
       
   177 	 * Content prioritizer.
       
   178 	 * Not own.
       
   179 	 */
       
   180 	MAiPublishPrioritizer* iPrioritizer;
       
   181     
       
   182 	/**
       
   183 	 * Publish broadcaster.
       
   184 	 * Not own.
       
   185 	 */
       
   186 	MAiPublisherBroadcaster* iBroadcaster;
       
   187     
       
   188     /**
       
   189      * Publish-subscribe client.
       
   190      */
       
   191     MAiPSPropertyObserver* iOperatorLogoObserver;
   171     MAiPSPropertyObserver* iOperatorLogoObserver;
   192 
   172     /** Central repository client, owned */
   193     /**
       
   194      * Central repository client.
       
   195      * Own.
       
   196      */
       
   197     CRepository* iCenRep;
   173     CRepository* iCenRep;
   198 
   174     /** Central repository notifier, owned */
   199     /**
       
   200      * Central repository notifier.
       
   201      * Own.
       
   202      */
       
   203     CCenRepNotifyHandler* iCenRepNotify;
   175     CCenRepNotifyHandler* iCenRepNotify;
   204 
   176     /** Operator logo priority, can have one of the following values:
   205     /**
   177      * 
   206      * Operator logo priority, can have one of the following values:
       
   207      * 1) EAiOTAOperatorLogo
   178      * 1) EAiOTAOperatorLogo
   208      * 2) EAiProgOperatorLogo
   179      * 2) EAiProgOperatorLogo
   209      * 3) EAiInvalidPriority
   180      * 3) EAiInvalidPriority
   210      */
   181      */
   211     TInt iPriority;
   182     TInt iPriority;
   212 
   183     /** True if publish was successful. */
   213     /**
   184     TBool iSuccess;    
   214      * True if publish was successful.
   185     /** Flag to indicate if the content is suspended */
   215      */
   186      TBool iSuspended;    
   216     TBool iSuccess;
   187     /** Show operator indicator */
   217     
       
   218     /**
       
   219      * Show operator indicator.
       
   220      */
       
   221     TBool iShowOpInd;
   188     TBool iShowOpInd;
   222     };
   189     };
   223 
   190 
       
   191 #endif // C_AIOPERATORLOGOPUBLISHER_H
   224 
   192 
   225 #endif // C_AIOPERATORLOGOPUBLISHER_H
   193 // End of file