appfw/apparchitecture/apserv/apsserv.h
branchRCL_3
changeset 19 924385140d98
parent 0 2e3d3ce01487
child 20 c2c61fdca848
equal deleted inserted replaced
18:0818dd463d41 19:924385140d98
     1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    53 	IMPORT_C static CApaAppArcServer* NewL();
    53 	IMPORT_C static CApaAppArcServer* NewL();
    54 	IMPORT_C static CApaAppArcServer* Self();
    54 	IMPORT_C static CApaAppArcServer* Self();
    55 
    55 
    56 	inline RWsSession& WsSession();
    56 	inline RWsSession& WsSession();
    57 	
    57 	
    58 	inline const CApaFsMonitor& AppFsMonitor() const {return *iAppFsMonitor;}
       
    59 	
       
    60 	inline CApaScanningRuleBasedPlugIns* RuleBasedPlugIns();
    58 	inline CApaScanningRuleBasedPlugIns* RuleBasedPlugIns();
    61 		
    59 		
    62 	// Application list stuff
    60 	// Application list stuff
    63 	inline CApaAppList& AppList();
    61 	inline CApaAppList& AppList();
    64 	void UpdateApps();
    62 	TPtrC NativeExecutableL(TUid aNonNativeApplicationType);
    65 	IMPORT_C TCallBack RescanCallBack();
    63 
    66 	
    64 #ifndef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
    67 	void RegisterNonNativeApplicationTypeL(TUid aApplicationType, const TDesC& aNativeExecutable);
    65     void UpdateApps();
    68 	void DeregisterNonNativeApplicationTypeL(TUid aApplicationType);
    66     IMPORT_C TCallBack RescanCallBack();
    69 	TPtrC NativeExecutableL(TUid aNonNativeApplicationType) const;
    67     void UpdateAppsByForceRegistration();   
    70 	
    68     void RegisterNonNativeApplicationTypeL(TUid aApplicationType, const TDesC& aNativeExecutable);
       
    69     void DeregisterNonNativeApplicationTypeL(TUid aApplicationType);
       
    70     inline const CApaFsMonitor& AppFsMonitor() const {return *iAppFsMonitor;}
    71 	IMPORT_C void HandleInstallationStartEvent();
    71 	IMPORT_C void HandleInstallationStartEvent();
    72 	IMPORT_C void HandleInstallationEndEventL();
    72 	IMPORT_C void HandleInstallationEndEventL();
       
    73 #endif
    73 	
    74 	
    74 	// MIME-type recognition
    75 	// MIME-type recognition
    75 	inline CApaDataRecognizer* MimeTypeRecognizer();
    76 	inline CApaDataRecognizer* MimeTypeRecognizer();
    76 	CRecognitionResult* RecognizeDataAsCRecognitionResultL(RFile& aFile, TInt aPreferredBufSize);
    77 	CRecognitionResult* RecognizeDataAsCRecognitionResultL(RFile& aFile, TInt aPreferredBufSize);
    77 	TDataRecognitionResult RecognizeDataL(const TDesC& aName, const TDesC8& aBuffer);
    78 	TDataRecognitionResult RecognizeDataL(const TDesC& aName, const TDesC8& aBuffer);
    99 	void InitialListPopulationComplete();
   100 	void InitialListPopulationComplete();
   100 public: // from MBackupOperationObserver
   101 public: // from MBackupOperationObserver
   101 	void HandleBackupOperationEventL(const TBackupOperationAttributes& aBackupOperationAttributes);
   102 	void HandleBackupOperationEventL(const TBackupOperationAttributes& aBackupOperationAttributes);
   102 public:	//
   103 public:	//
   103 	IMPORT_C ~CApaAppArcServer();
   104 	IMPORT_C ~CApaAppArcServer();
       
   105 #ifndef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
   104 	TBool NonNativeRecovery() const;
   106 	TBool NonNativeRecovery() const;
   105 	void SetNonNativeRecovery(TBool aValue);
   107 	void SetNonNativeRecovery(TBool aValue);
       
   108 #else
       
   109     void UpdateAppListL(RArray<TApaAppUpdateInfo>* aAppUpdateInfo, TUid aSecureID);
       
   110 #endif
   106 	TBool LoadMbmIconsOnDemand() const;
   111 	TBool LoadMbmIconsOnDemand() const;
   107 	void UpdateAppsByForceRegistration();
   112 
   108 private:
   113 private:
   109 	CApaAppArcServer(TInt aPriority);
   114 	CApaAppArcServer(TInt aPriority);
   110 	void ConstructL();
   115 	void ConstructL();
   111 	virtual CSession2* NewSessionL(const TVersion& aVersion,const RMessage2& aMessage) const;
   116 	virtual CSession2* NewSessionL(const TVersion& aVersion,const RMessage2& aMessage) const;
   112 	static TInt AppFsNotifyWithForcedRegistrationsResetCallBack(TAny* aPtr);
       
   113 	static TInt AppFsNotifyCallBack(TAny* aPtr);
       
   114 	static TInt PlugInNotifyCallBack(TAny* aPtr);
   117 	static TInt PlugInNotifyCallBack(TAny* aPtr);
   115 	static TInt TypeStoreNotifyCallback(TAny* aPtr);
   118 	static TInt TypeStoreNotifyCallback(TAny* aPtr);
   116 	void UpdatePlugIns();
   119 	void UpdatePlugIns();
   117 	void UpdateTypeStore();
   120 	void UpdateTypeStore();
   118 	void DoUpdateTypeStoreL();
   121 	void DoUpdateTypeStoreL();
       
   122 	
       
   123 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
       
   124     void InitNonNativeApplicationTypeArrayL();
       
   125     TPtrC FindAndAddNonNativeRuntimeMappingL(TUid aNonNativeApplicationType);
       
   126 #else
       
   127     static TInt AppFsNotifyWithForcedRegistrationsResetCallBack(TAny* aPtr);
       
   128     static TInt AppFsNotifyCallBack(TAny* aPtr);
   119 	void InternalizeNonNativeApplicationTypeArrayL();
   129 	void InternalizeNonNativeApplicationTypeArrayL();
   120 	void ExternalizeNonNativeApplicationTypeArrayL(TInt aIndexToIgnore=-1) const;
   130     void ExternalizeNonNativeApplicationTypeArrayL(TInt aIndexToIgnore=-1) const;
       
   131     void ConstructPathsToMonitorL();    
       
   132 #endif
   121 	static void DeleteLastNonNativeApplicationType(TAny* aThis);
   133 	static void DeleteLastNonNativeApplicationType(TAny* aThis);
   122 	void NotifyScanComplete();
   134 	void NotifyScanComplete();
   123 	void DeleteCustomAppInfoList();
   135 	void DeleteCustomAppInfoList();
   124 	void LoadRecognizersLC();
   136 	void LoadRecognizersLC();
   125 	void LoadRecognizersL();
   137 	void LoadRecognizersL();
   129 	TInt DoUnloadRecognizers();
   141 	TInt DoUnloadRecognizers();
   130 	TBool CachedRecognitionResult(const TParseBase& aParser, TDataRecognitionResult& aResult) const;
   142 	TBool CachedRecognitionResult(const TParseBase& aParser, TDataRecognitionResult& aResult) const;
   131 	CRecognitionResult* CachedRecognitionResult(const RFile& aFile, const TParseBase& aParser) const;
   143 	CRecognitionResult* CachedRecognitionResult(const RFile& aFile, const TParseBase& aParser) const;
   132 	void CacheRecognitionResultL(const TParseBase& aParser, const TDataRecognitionResult& aResult);
   144 	void CacheRecognitionResultL(const TParseBase& aParser, const TDataRecognitionResult& aResult);
   133 	void CacheRecognitionResultL(const RFile& aFile, const TParseBase& aParser, const TDataRecognitionResult& aResult);
   145 	void CacheRecognitionResultL(const RFile& aFile, const TParseBase& aParser, const TDataRecognitionResult& aResult);
   134 	void ConstructPathsToMonitorL();
       
   135 private:
   146 private:
   136 	enum
   147 	enum
   137 		{
   148 		{
   138 		EOwnsFileRecognizer=0x01,
   149 		EOwnsFileRecognizer=0x01,
   139 		EOwnsAppList=0x02
   150 		EOwnsAppList=0x02
   155 	RFs iFs;
   166 	RFs iFs;
   156 	TInt iRecognizerUsageCount;
   167 	TInt iRecognizerUsageCount;
   157 	CApaAppList* iAppList;
   168 	CApaAppList* iAppList;
   158 	CPeriodic* iRecognizerUnloadTimer;
   169 	CPeriodic* iRecognizerUnloadTimer;
   159 	CApaScanningDataRecognizer* iMimeTypeRecognizer;
   170 	CApaScanningDataRecognizer* iMimeTypeRecognizer;
       
   171 #ifndef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK	
   160 	CApaFsMonitor* iAppFsMonitor;
   172 	CApaFsMonitor* iAppFsMonitor;
       
   173 #endif
   161 	CApaFsMonitor* iTypeStoreMonitor;
   174 	CApaFsMonitor* iTypeStoreMonitor;
   162 	CTypeStoreManager* iMimeTypeToAppMappingsManager;
   175 	CTypeStoreManager* iMimeTypeToAppMappingsManager;
   163 	TTime iTypeStoreModified;
   176 	TTime iTypeStoreModified;
   164 	CBaBackupSessionWrapper* iBaBackupSessionWrapper;
   177 	CBaBackupSessionWrapper* iBaBackupSessionWrapper;
   165 	CApaEComMonitor* iRecEcomMonitor;
   178 	CApaEComMonitor* iRecEcomMonitor;
   172 	update. It means that there is a list fo updated apps that needs to be rolled back.
   185 	update. It means that there is a list fo updated apps that needs to be rolled back.
   173 	*/
   186 	*/
   174 	TBool iNonNativeRecovery;
   187 	TBool iNonNativeRecovery;
   175 
   188 
   176 	TBool iLoadRecognizersOnDemand;
   189 	TBool iLoadRecognizersOnDemand;
       
   190 #ifndef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK	
   177 	CApaAppInstallationMonitor* iAppInstallationMonitor; //CApaAppInstallationMonitor monitors installation and uninstallation of applications.
   191 	CApaAppInstallationMonitor* iAppInstallationMonitor; //CApaAppInstallationMonitor monitors installation and uninstallation of applications.
       
   192     RBuf iNonNativeApplicationTypeRegistry;	
       
   193     TInt iForceRegistrationStatus;
       
   194 #endif
   178 	TBool iLoadMbmIconsOnDemand;
   195 	TBool iLoadMbmIconsOnDemand;
   179 	RBuf iNonNativeApplicationTypeRegistry;
   196 
   180 	TInt iForceRegistrationStatus;
   197 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
       
   198     RArray<TApaAppUpdateInfo> iAppUpdateInfo;
       
   199 #endif
       
   200 	
   181 	};
   201 	};
   182 
   202 
   183 
   203 
   184 /**
   204 /**
   185 The TApaAppViewIconSizeData class encapsulates the attributes that specify how to identify an icon for a particular
   205 The TApaAppViewIconSizeData class encapsulates the attributes that specify how to identify an icon for a particular