00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AIW_SERVICE_HANDLER_H
00023 #define AIW_SERVICE_HANDLER_H
00024
00025
00026 #include <barsread.h>
00027 #include <aiwcommon.h>
00028
00029
00030
00031
00032
00033
00034
00035
00036 class CAiwServiceHandlerImpl;
00037
00038
00039
00078 NONSHARABLE_CLASS(CAiwServiceHandler) : public CBase
00079 {
00080 public:
00081
00085 IMPORT_C static CAiwServiceHandler* NewL();
00086
00090 IMPORT_C static CAiwServiceHandler* NewLC();
00091
00095 IMPORT_C virtual ~CAiwServiceHandler();
00096
00097 public:
00098
00103 IMPORT_C void Reset();
00104
00111 IMPORT_C TInt NbrOfProviders(const CAiwCriteriaItem* aCriteria);
00112
00113 public:
00114
00124 IMPORT_C void AttachL(TInt aInterestResourceId);
00125
00132 IMPORT_C void AttachL(const RCriteriaArray& aInterest);
00133
00141 IMPORT_C void GetInterest(RCriteriaArray& aInterest);
00142
00149 IMPORT_C void DetachL(const RCriteriaArray& aInterest);
00150
00158 IMPORT_C void DetachL(TInt aInterestResourceId);
00159
00166 IMPORT_C const CAiwCriteriaItem* GetCriteria(TInt aId);
00167
00178 IMPORT_C CAiwGenericParamList& InParamListL();
00179
00190 IMPORT_C CAiwGenericParamList& OutParamListL();
00191
00192 public:
00193
00208 IMPORT_C void InitializeMenuPaneL(
00209 CEikMenuPane& aMenuPane,
00210 TInt aMenuResourceId,
00211 TInt aBaseMenuCmdId,
00212 const CAiwGenericParamList& aInParamList);
00213
00237 IMPORT_C void InitializeMenuPaneL(
00238 CEikMenuPane& aMenuPane,
00239 TInt aMenuResourceId,
00240 TInt aBaseMenuCmdId,
00241 const CAiwGenericParamList& aInParamList,
00242 TBool aUseSubmenuTextsIfAvailable);
00243
00253 IMPORT_C TInt ServiceCmdByMenuCmd(TInt aMenuCmdId) const;
00254
00269 IMPORT_C void ExecuteMenuCmdL(
00270 TInt aMenuCmdId,
00271 const CAiwGenericParamList& aInParamList,
00272 CAiwGenericParamList& aOutParamList,
00273 TUint aCmdOptions = 0,
00274 MAiwNotifyCallback* aCallback= NULL);
00275
00284 IMPORT_C void AttachMenuL(TInt aMenuResourceId, TInt aInterestResourceId);
00285
00294 IMPORT_C void AttachMenuL(TInt aMenuResourceId, TResourceReader& aReader);
00295
00304 IMPORT_C void AttachMenuL(TInt aMenuResourceId, const RCriteriaArray& aInterest);
00305
00317 IMPORT_C void DetachMenu(TInt aMenuResourceId, TInt aInterestResourceId);
00318
00328 IMPORT_C TBool IsSubMenuEmpty(TInt aSubMenuId);
00329
00338 IMPORT_C TBool IsAiwMenu(TInt aMenuResourceId);
00339
00350 IMPORT_C TBool HandleSubmenuL(CEikMenuPane& aPane);
00351
00358 IMPORT_C static void ReportMenuLaunch();
00359
00360 public:
00361
00373 IMPORT_C void ExecuteServiceCmdL(
00374 const TInt& aCmdId,
00375 const CAiwGenericParamList& aInParamList,
00376 CAiwGenericParamList& aOutParamList,
00377 TUint aCmdOptions = 0,
00378 MAiwNotifyCallback* aCallback = 0);
00379
00380 private:
00381 void ConstructL();
00382 CAiwServiceHandler();
00383
00384 private:
00385 CAiwServiceHandlerImpl* iImpl;
00386 };
00387
00388
00389 #endif
00390
00391
00392
00393