contentstorage/casrv/caappscanner/inc/casrvappscanner.h
changeset 80 397d00875918
parent 73 4bc7b118b3df
child 83 156f692b1687
equal deleted inserted replaced
73:4bc7b118b3df 80:397d00875918
    20 
    20 
    21 #include <e32base.h>
    21 #include <e32base.h>
    22 #include <apgcli.h>
    22 #include <apgcli.h>
    23 #include <apgnotif.h>
    23 #include <apgnotif.h>
    24 #include <driveinfo.h>
    24 #include <driveinfo.h>
       
    25 #include <usif/scr/scr.h>
    25 #include "cainstallnotifier.h"
    26 #include "cainstallnotifier.h"
    26 #include "castorage_global.h"
    27 #include "castorage_global.h"
    27 
    28 
    28 class TCaAppAtributes;
       
    29 class CCaSrvMmcHistory;
    29 class CCaSrvMmcHistory;
    30 class CCaInnerEntry;
    30 class CCaInnerEntry;
    31 class CCaStorageProxy;
    31 class CCaStorageProxy;
    32 class CCaSrvEngUtils;
    32 class CCaSrvEngUtils;
    33 namespace Swi
    33 namespace Swi
    76      * @param aUtils storage utils.
    76      * @param aUtils storage utils.
    77      */
    77      */
    78     static CCaSrvAppScanner* NewL( CCaStorageProxy& aCaStorageProxy,
    78     static CCaSrvAppScanner* NewL( CCaStorageProxy& aCaStorageProxy,
    79             CCaSrvEngUtils& aUtils );
    79             CCaSrvEngUtils& aUtils );
    80 
    80 
       
    81 public:
       
    82     // from MCaInstallListener
       
    83 
       
    84     /**
       
    85      * Handle Install Event.
       
    86      * @since S60 v5.0
       
    87      * @param aUid installed/uninstalled app uid.
       
    88      */
       
    89     void HandleInstallNotifyL( TInt aUid );
       
    90 
    81 private:
    91 private:
    82     // Constructors and destructor
    92     // Constructors and destructor
    83 
    93 
    84     /**
    94     /**
    85      * Constructor.
    95      * Constructor.
    92     /**
   102     /**
    93      * Second phased constructor.
   103      * Second phased constructor.
    94      */
   104      */
    95     void ConstructL();
   105     void ConstructL();
    96 
   106 
    97 public:
   107 private:
    98     // from MCaInstallListener
   108 
    99 
   109     /**
   100     /**
   110      * Notifies storage about change for aAppUid.
   101      * Handle Install Event.
       
   102      * @since S60 v5.0
       
   103      * @param aUid installed/uninstalled app uid.
       
   104      */
       
   105     void HandleInstallNotifyL( TInt aUid );
       
   106 
       
   107 private:
       
   108 
       
   109     /**
       
   110      * Notifies storage abaut change for aAppUid.
       
   111      * @param aAppUid application uid.
   111      * @param aAppUid application uid.
   112      */
   112      */
   113     void NotifyL( TInt aAppUid );
   113     void NotifyL( TInt aAppUid );
   114 
   114 
   115     /**
   115     /**
   116      * Notifies storage abaut change for aPackageEntry related app.
   116      * Notifies storage about change for aPackageEntry related app.
   117      * @param aPackageEntry application package entry.
   117      * @param aPackageEntry application package entry.
   118      */
   118      */
   119     void NotifyL( Swi::RSisRegistryEntry & aPackageEntry );
   119     void NotifyL( Swi::RSisRegistryEntry& aPackageEntry );
   120 
   120 
   121 private:
   121 private:
   122     // from CActive
   122     // from CActive
   123 
   123 
   124     /**
   124     /**
   131      */
   131      */
   132     void DoCancel();
   132     void DoCancel();
   133 
   133 
   134     /**
   134     /**
   135      * Error handling: ignore error.
   135      * Error handling: ignore error.
   136      * @param aErr Error code.
   136      * @param aError Error code.
   137      */
   137      */
   138     TInt RunError( TInt aError );
   138     TInt RunError( TInt aError );
   139 
   139 
   140 private:
   140 private:
   141     // from MApaAppListServObserver
   141     // from MApaAppListServObserver
   142 
   142 
   143     void HandleAppListEvent( TInt aEvent );
   143     void HandleAppListEvent( TInt aEvent );
   144 
   144 
   145 public:
       
   146     /**
       
   147      * Schedule appscanner run.
       
   148      * Self complete active object.
       
   149      */
       
   150     void ScheduleScan();
       
   151 
       
   152 private:
   145 private:
   153     // new methods
   146     // new methods
   154 
   147 
   155     /**
   148     /**
   156      * Gets collectionId of download collection
   149      * Gets collectionId of download collection.
   157      * @result id of download collection
   150      * @result id of download collection.
   158      */
   151      */
   159     TInt GetCollectionDownloadIdL();
   152     TInt GetCollectionDownloadIdL();
   160 
   153 
   161     /**
   154     /**
   162      * Gets collectionId of all collection
   155      * Gets collectionId of all collection.
   163      * @result id of all collection
   156      * @result id of all collection.
   164      */
   157      */
   165     TInt GetAllCollectionIdL();
   158     TInt GetAllCollectionIdL();
   166 
   159 
   167     /**
   160     /**
   168      * Adds application entry to downloaded collection
   161      * Adds application entry to downloaded collection.
   169      * @param aEntryId application entry id.
   162      * @param aEntryId application entry id.
   170      */
   163      */
   171     void AddEntryToDownloadedCollectionL( TInt aEntryId );
   164     void AddEntryToDownloadedCollectionL( TInt aEntryId );
   172 
   165 
   173     /**
   166     /**
   174      * Add application entry to predefined collection
   167      * Add application entry to predefined collection.
   175      * @param aEntry application entry.
   168      * @param aEntry application entry.
   176      * @param aUpdate is entry updated by a client
   169      * @param aUpdate is entry updated by a client.
   177      */
   170      */
   178     void AddEntryToPredefinedCollectionL( CCaInnerEntry* aEntry,
   171     void AddEntryToPredefinedCollectionL( CCaInnerEntry* aEntry,
   179             TBool aUpdate = EFalse );
   172             TBool aUpdate = EFalse );
   180 
   173 
   181     /**
   174     /**
   182      * Create predefined collection
   175      * Create predefined collection.
   183      * @param aGroupName group name.
   176      * @param aGroupName group name.
   184      * @result id of new created collection
   177      * @result id of a newly created collection.
   185      */
   178      */
   186     TInt CreatePredefinedCollectionL( const TDesC& aGroupName );
   179     TInt CreatePredefinedCollectionL( const TDesC& aGroupName );
   187 
   180 
   188     /**
   181     /**
   189      * Add collection to all collection.
   182      * Add collection to all collection.
   190      * @param aCollectionId collection id to add.
   183      * @param aCollectionId collection id to add.
   191      */
   184      */
   192     void AddCollectionToAllCollectionL( TInt aCollectionId );
   185     void AddCollectionToAllCollectionL( TInt aCollectionId );
   193 
   186 
   194     /**
   187     /**
   195      * Removes application entry from downloaded collection
   188      * Removes application entry from downloaded collection.
   196      * @param aEntryId application entry id.
   189      * @param aEntryId application entry id.
   197      */
   190      */
   198     void RemoveEntryFromDownloadedL( TInt aEntryId );
   191     void RemoveEntryFromDownloadedL( TInt aEntryId );
   199 
   192 
   200     TBool HandleLockDeleteFlagUpdateL( CCaInnerEntry* aItem );
   193     /**
       
   194      * Updates application's removable and visible flags.
       
   195      * @param aItem menu item.
       
   196      * @return ETrue if flags were updated.
       
   197      */
       
   198     TBool HandleRemovableVisibleFlagsUpdateL( CCaInnerEntry* aItem );
   201 
   199 
   202     /**
   200     /**
   203      * Updates application's missing and visible flags.
   201      * Updates application's missing and visible flags.
   204      * Add new menu item referring to this application.
       
   205      * @param aItem menu item.
   202      * @param aItem menu item.
   206      * @return ETrue if flags were updated
   203      * @return ETrue if flags were updated.
   207      */
   204      */
   208     TBool HandleMissingVisibleFlagsUpdate( CCaInnerEntry* aItem );
   205     TBool HandleMissingVisibleFlagsUpdate( CCaInnerEntry* aItem );
   209 
   206 
   210     /**
   207     /**
   211      * Updates visible flag.
   208      * Updates visible flag.
   212      * @param aItem menu item.
   209      * @param aItem menu item.
   213      * @param aUid Application's uid.
   210      * @return ETrue if visible flag was updated.
   214      * @return ETrue if visible flag was updated
       
   215      */
   211      */
   216     TBool HandleVisibleFlagUpdate( CCaInnerEntry* aItem );
   212     TBool HandleVisibleFlagUpdate( CCaInnerEntry* aItem );
   217 
   213 
   218     /**
   214     /**
   219      * Updates used flag.
   215      * Updates used flag.
   220      * @param aItem menu item.
   216      * @param aItem menu item.
   221      * @param aUid Application's uid.
   217      * @return ETrue if used flag was updated.
   222      * @return ETrue if used flag was updated
       
   223      */
   218      */
   224     TBool HandleUsedFlagUpdate( CCaInnerEntry* aItem );
   219     TBool HandleUsedFlagUpdate( CCaInnerEntry* aItem );
       
   220 
   225     /**
   221     /**
   226      * Updates mmc attribute.
   222      * Updates mmc attribute.
   227      * @param aItem menu item.
   223      * @param aItem menu item.
   228      * @param aUid Application's uid.
       
   229      * @param aMmcId MMC ID of currently inserted MMC, or 0.
   224      * @param aMmcId MMC ID of currently inserted MMC, or 0.
   230      * @return ETrue if mmc attribute was updated
   225      * @return ETrue if mmc attribute was updated.
   231      */
   226      */
   232     TBool HandleMmcAttrUpdateL( CCaInnerEntry* aItem, TUint aMmcId );
   227     TBool HandleMmcAttrUpdateL( CCaInnerEntry* aItem, TUint aMmcId );
   233 
   228 
   234     /**
   229     /**
   235      * Check if application is in rom
   230      * Check if application is in rom.
   236      * Add new menu item referring to this application.
   231      * Add new menu item referring to this application.
   237      * @param aUid uid applications
   232      * @return ETrue if app is in rom.
   238      * @return ETrue if app is in rom
       
   239      */
   233      */
   240     TBool IsInRomL( TInt aUid );
   234     TBool IsInRomL( TInt aUid );
   241 
   235 
   242     /**
   236     /**
   243      * Get applications from AppArc
   237      * Get applications from AppArc.
   244      * @param aArray RArray with applications
   238      * @param aArray RArray with applications' uids.
   245      */
   239      */
   246     void GetApaItemsL( RArray<TCaAppAtributes>& aArray );
   240     void GetApaItemsL( RArray<TUint>& aArray );
   247 
   241 
   248     /**
   242     /**
   249      * Remove application from array (found in AppArc)
   243      * Remove application from array (found in AppArc).
   250      * @param aArray RArray with application
   244      * @param aArray RArray with applications' uids.
   251      * @param aUid uid of application to remove
   245      * @param aUid uid of application to remove.
   252      */
   246      */
   253     void RemoveApp( RArray<TCaAppAtributes>& aArray, TInt32 aUid );
   247     void RemoveApp( RArray<TUint>& aArray, TInt32 aUid );
   254 
   248 
   255     /**
   249     /**
   256      * Get applications from CaStorage
   250      * Get applications from CaStorage.
       
   251      * @param aArray RPointerArray with CCaInnerEntries.
       
   252      * contains applications.
       
   253      */
       
   254     void GetCaAppEntriesL( RPointerArray<CCaInnerEntry>& aArray );
       
   255 
       
   256     /**
       
   257      * Remove sat application from array(found in CaStorage).
   257      * @param aArray RPointerArray with CCaInnerEntries
   258      * @param aArray RPointerArray with CCaInnerEntries
   258      * contains applications
   259      * contains applications.
   259      */
       
   260     void GetCaAppEntriesL( RPointerArray<CCaInnerEntry>& aArray );
       
   261 
       
   262     /**
       
   263      * Remove sat application from array(found in CaStorage)
       
   264      * @param aArray RPointerArray with CCaInnerEntries
       
   265      * contains applications
       
   266      */
   260      */
   267     void RemoveSatAppL( RPointerArray<CCaInnerEntry>& aArray );
   261     void RemoveSatAppL( RPointerArray<CCaInnerEntry>& aArray );
   268 
   262 
   269     /**
   263     /**
   270      * Ensure that HsApplicaiton is not visible: Add HsApplication
   264      * Ensure that HsApplicaiton is not visible: Add HsApplication.
   271      * as hidden to CaStorage or remove HsApplication entry
   265      * as hidden to CaStorage or remove HsApplication entry
   272      * from array (found in CaStorage).
   266      * from array (found in CaStorage).
   273      * @param aArray RPointerArray with CCaInnerEntries
   267      * @param aArray RPointerArray with CCaInnerEntries
   274      * contains application
   268      * contains application.
   275      */
   269      */
   276     void HandleHsAppEntryL( RPointerArray<CCaInnerEntry>& aArray );
   270     void HandleHsAppEntryL( RPointerArray<CCaInnerEntry>& aArray );
   277 
   271 
   278     /**
   272     /**
   279      * Get application with specified uid from CaStorage
   273      * Get application with specified uid from CaStorage.
   280      * @param aUid RPointerArray with CCaInnerEntries
   274      * @param aUid RPointerArray with CCaInnerEntries.
   281      * @param aArray RPointerArray with CCaInnerEntries
   275      * @param aArray RPointerArray with CCaInnerEntries
   282      * contains application
   276      * contains application.
   283      */
   277      */
   284     void GetCaAppEntriesL( TInt aUid, RPointerArray<CCaInnerEntry>& aArray );
   278     void GetCaAppEntriesL( TInt aUid, RPointerArray<CCaInnerEntry>& aArray );
   285 
   279 
   286     /**
   280     /**
   287      * New application is found, no menu item refers to it.
   281      * New application is found, no menu item refers to it.
   291      */
   285      */
   292     void AddAppEntryL( TUint aUid, TUint aCurrentMmcId );
   286     void AddAppEntryL( TUint aUid, TUint aCurrentMmcId );
   293 
   287 
   294     /**
   288     /**
   295      * Removes given uid from iInstalledPackages.
   289      * Removes given uid from iInstalledPackages.
   296      * Add new menu item referring to this application.
   290      * @param aUid Application uid.
   297      * @param aUid Application capability.
       
   298      */
   291      */
   299     void RemoveFromInstalledPackages( TUint aUid );
   292     void RemoveFromInstalledPackages( TUint aUid );
   300 
   293 
   301     /**
   294     /**
   302      * Set information from TApaAppInfo to entry
   295      * Set information from TApaAppInfo to entry.
   303      * @param aEntry CCaInnerEntry with application.
   296      * @param aEntry CCaInnerEntry with application.
   304      * @return ETrue if app info was updatedd
   297      * @return ETrue if app info was updatedd
   305      */
   298      */
   306     TBool SetApaAppInfoL( CCaInnerEntry* aEntry );
   299     TBool SetApaAppInfoL( CCaInnerEntry* aEntry );
   307 
   300 
   308     /**
   301     /**
   309      * Find the default folder (folder having attribute 'default="1"').
   302      * Handle items which are in the menu but no corresponding app is present:
   310      * If not found, return 0.
   303      * - Items that are on a recently used MMC get "missing" flag but kept.
   311      * @param aFolderId Dedault folder or 0.
       
   312      */
       
   313     void DefaultFolderL( TInt& aFolderId );
       
   314 
       
   315     /**
       
   316      * Handle items are in the menu but no corresponding app is present:
       
   317      * - Items that are on a recently used MMC are get "missing" flag but kept.
       
   318      * - Items that are not on MMC or the MMC is not recently used, are
   304      * - Items that are not on MMC or the MMC is not recently used, are
   319      *   removed form the menu.
   305      *   removed from the menu.
   320      * @param aItems Missing items.
   306      * @param aItems Missing items.
   321      */
   307      */
   322     void HandleMissingItemsL( RPointerArray<CCaInnerEntry>& aCaEnties );
   308     void HandleMissingItemsL( RPointerArray<CCaInnerEntry>& aCaEnties );
   323 
   309 
   324     /**
   310     /**
   332      * @param aEntry entry.
   318      * @param aEntry entry.
   333      */
   319      */
   334     void SetMissingFlagL( CCaInnerEntry* aEntry );
   320     void SetMissingFlagL( CCaInnerEntry* aEntry );
   335 
   321 
   336     /**
   322     /**
   337      * Set "visible" flag.
   323      * Clear "visible" flag (and also "missing" and "used").
   338      * @param aEntry entry.
   324      * @param aEntry entry.
   339      */
   325      */
   340     void ClearVisibleFlagL( CCaInnerEntry* aEntry );
   326     void ClearVisibleFlagL( CCaInnerEntry* aEntry );
   341 
   327 
   342     /**
   328     /**
   345      */
   331      */
   346     TUint UpdateMmcHistoryL();
   332     TUint UpdateMmcHistoryL();
   347 
   333 
   348     /**
   334     /**
   349      * Get current MMC id. 0 if no MMC is inserted, or in case of any errors.
   335      * Get current MMC id. 0 if no MMC is inserted, or in case of any errors.
   350      * @return Current MMC id, or 0.
   336      * @return Current MMC id or 0.
   351      */
   337      */
   352     TUint CurrentMmcId() const;
   338     TUint CurrentMmcId() const;
   353 
   339 
   354     /**
   340     /**
   355      * Check if file is on given default drive type.
   341      * Check if file is on a given default drive type.
   356      * @param aFileName File name.
   342      * @param aFileName File name.
   357      * @return ETrue if aFileName is on given default drive type.
   343      * @param aDefaultDrive default drive type
       
   344      * @return ETrue if aFileName is on a given default drive type.
   358      */
   345      */
   359     TBool IsFileInDrive( const TDesC& aFileName,
   346     TBool IsFileInDrive( const TDesC& aFileName,
   360             const DriveInfo::TDefaultDrives& aDefaultDrive ) const;
   347             const DriveInfo::TDefaultDrives& aDefaultDrive ) const;
   361 
   348 
   362     /**
   349     /**
   363      * Check if application is installed on given drive type.
   350      * Check if application is installed on a given drive type.
   364      * @param aUid app uid.
   351      * @param aUid app uid.
   365      * @param aDefaultDrive drive type.
   352      * @param aDefaultDrive default drive type.
   366      * @return ETrue if app is installed on given drive type.
   353      * @return ETrue if app is installed on a given drive type.
   367      */
   354      */
   368     TBool IsAppInDriveL( const TUid aUid,
   355     TBool IsAppInDriveL( const TUid aUid,
   369             const DriveInfo::TDefaultDrives& aDefaultDrive ) const;
   356             const DriveInfo::TDefaultDrives& aDefaultDrive ) const;
   370 
   357 
   371     /**
   358     /**
   388      * @return ETrue if drive is in use.
   375      * @return ETrue if drive is in use.
   389      */
   376      */
   390     TBool IsDriveInUse( const DriveInfo::TDefaultDrives& aDefaultDrive );
   377     TBool IsDriveInUse( const DriveInfo::TDefaultDrives& aDefaultDrive );
   391 
   378 
   392     /**
   379     /**
   393      * Add application to storage or update entry if necessary
   380      * Add application to storage or update entry if necessary.
   394      * @param aCaEnties with applications from storage
   381      * @param aCaEnties with applications from storage.
   395      * @param aApaItem application item with uid and hidden flag on or off
   382      * @param aAppUid application uid.
   396      * @param aMmcId unique mmc id
   383      * @param aMmcId unique mmc id.
   397      */
   384      */
   398     void UpdateApplicationEntryL( RPointerArray<CCaInnerEntry>& aCaEnties,
   385     void UpdateApplicationEntryL( RPointerArray<CCaInnerEntry>& aCaEnties,
   399             const TCaAppAtributes& aApaItem, TUint aMmcId );
   386             TUint aAppUid, TUint aMmcId );
   400 
   387 
   401     /**
   388     /**
   402      * Update entry from storage
   389      * Update entry from storage.
   403      * @param aEntry application entry
   390      * @param aEntry application entry.
   404      * @param aMmcId unique mmc id
   391      * @param aMmcId unique mmc id.
   405      */
   392      */
   406     void UpdateAppEntryL( CCaInnerEntry* aEntry, TUint aMmcId );
   393     void UpdateAppEntryL( CCaInnerEntry* aEntry, TUint aMmcId );
   407 
   394 
   408     /**
   395     /**
   409      * Get all application from storage and visible from apparc
   396      * Get all applications from storage and visible from apparc
   410      * and update if necessary
   397      * and update if necessary.
   411      */
   398      */
   412     void UpdateApplicationEntriesL();
   399     void UpdateApplicationEntriesL();
   413 
   400 
   414     /**
   401     /**
   415      * Notifys storage abaut updated apps
   402      * Notifys storage about updated apps.
   416      */
   403      */
   417     void InstallationNotifyL();
   404     void InstallationNotifyL();
   418 
   405 
   419     /**
   406     /**
   420      * Make not empty collections with not hidden apps visible.
   407      * Make not empty collections with not hidden apps visible.
   421      */
   408      */
   422     void MakeNotEmptyCollectionsVisibleL();
   409     void MakeNotEmptyCollectionsVisibleL();
   423 
   410 
   424     /**
   411     /**
   425      * Make collection visible if has visible entry.
   412      * Make collection visible if has visible entry.
   426      * @param aEntry application entry
   413      * @param aEntry application entry.
   427      */
   414      */
   428     void MakeCollectionVisibleIfHasVisibleEntryL( CCaInnerEntry* aEntry );
   415     void MakeCollectionVisibleIfHasVisibleEntryL( CCaInnerEntry* aEntry );
       
   416     
       
   417     /**
       
   418      * Adds or updates component id attribute in entry based on SCR provided data
       
   419      * @param appInfo application data carrying full path name of application file.
       
   420      * @param aEntry entry being updated with component id attribute.
       
   421      * @return ETrue when component id attribute of the entry has been added or changed.
       
   422      */
       
   423     TBool UpdateComponentIdL( TApaAppInfo& appInfo, 
       
   424         CCaInnerEntry& aEntry ) const;
       
   425 
       
   426     /**
       
   427      * Schedule appscanner run.
       
   428      * Self complete active object.
       
   429      */
       
   430     void ScheduleScan();
   429 
   431 
   430 private:
   432 private:
   431     // data
   433     // data
   432 
   434 
   433     RApaLsSession iApaLsSession; ///< AppArc session. Own.
   435     RApaLsSession iApaLsSession; ///< AppArc session. Own.
   434     CApaAppListNotifier* iNotifier; ///< Change notifier. Own.
   436     CApaAppListNotifier* iNotifier; ///< Change notifier. Own.
   435     CCaInstallNotifier* iInstallNotifier;///< Install notifier. Own.
   437     CCaInstallNotifier* iInstallNotifier; ///< Install notifier. Own.
   436     CCaSrvMmcHistory* iMmcHistory; ///< MMC history. Own.
   438     CCaSrvMmcHistory* iMmcHistory; ///< MMC history. Own.
   437     RFs iFs; ///< File Server Session. Own.
   439     RFs iFs; ///< File Server Session. Own.
   438 
   440     Usif::RSoftwareComponentRegistry iSoftwareRegistry;
   439     CCaStorageProxy& iCaStorageProxy;///< not own
   441 
   440     CCaSrvEngUtils& iSrvEngUtils;//<not own
   442     CCaStorageProxy& iCaStorageProxy; ///< Not own
   441     RArray<TInt> iInstalledPackages;
   443     CCaSrvEngUtils& iSrvEngUtils; ///< Not own
       
   444     RArray<TInt> iInstalledPackages; ///< Own.
   442 
   445 
   443     TInt iCollectionDownloadId;
   446     TInt iCollectionDownloadId;
   444     TInt iAllCollectionId;
   447     TInt iAllCollectionId;
   445 CA_STORAGE_TEST_FRIEND_CLASS    (T_casrvAppScaner)
   448 CA_STORAGE_TEST_FRIEND_CLASS    (T_casrvAppScaner)
   446 
   449 
   447     };
   450     };
   448 
   451 
   449 /**
       
   450  * Application atributes.
       
   451  * Object contains uid and hidden flag
       
   452  */
       
   453 class TCaAppAtributes
       
   454     {
       
   455 
       
   456 public:
       
   457     /**
       
   458      * Constructor.
       
   459      * @param aUid uid application.
       
   460      */
       
   461     TCaAppAtributes( TUint aUid );
       
   462 
       
   463     /*
       
   464      * Get uid
       
   465      * @return application uid
       
   466      */
       
   467     TUint GetUid() const;
       
   468 
       
   469     /*
       
   470      * Match application items
       
   471      * @param item1 first item to matching.
       
   472      * @param item2 second item to matching.
       
   473      */
       
   474     static TBool MatchItems( const TCaAppAtributes& item1,
       
   475             const TCaAppAtributes& item2 );
       
   476 
       
   477 private:
       
   478     // data
       
   479 
       
   480     TUint iUid;///< uid application
       
   481 
       
   482     };
       
   483 
       
   484 #endif /* CASRVAPPSCANNER_H_ */
   452 #endif /* CASRVAPPSCANNER_H_ */