00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef SWINSTAPI_H
00023 #define SWINSTAPI_H
00024
00025
00026 #include <aknserverapp.h>
00027 #include <SWInstDefs.h>
00028
00029
00030 class RFile;
00031
00032 namespace SwiUI
00033 {
00034
00035
00036 class CErrDetails;
00037
00038
00039
00046 class RSWInstLauncher : public RAknAppServiceBase
00047 {
00048 public:
00049
00053 IMPORT_C RSWInstLauncher();
00054
00061 IMPORT_C TInt Connect();
00062
00068 IMPORT_C void Close();
00069
00077 IMPORT_C TInt Install( const TDesC& aFileName );
00078
00083 IMPORT_C void Install( TRequestStatus& aReqStatus, const TDesC& aFileName );
00084
00091 IMPORT_C TInt Install( RFile& aFile );
00092
00097 IMPORT_C void Install( TRequestStatus& aReqStatus, RFile& aFile );
00098
00106 IMPORT_C TInt Install( const TDesC& aFileName, const TDesC8& aParams );
00107
00112 IMPORT_C void Install( TRequestStatus& aReqStatus,
00113 const TDesC& aFileName,
00114 const TDesC8& aParams );
00115
00123 IMPORT_C TInt Install( RFile& aFile, const TDesC8& aParams );
00124
00129 IMPORT_C void Install( TRequestStatus& aReqStatus,
00130 RFile& aFile,
00131 const TDesC8& aParams );
00132
00140 IMPORT_C TInt SilentInstall( const TDesC& aFileName, const TDesC8& aOptions );
00141
00146 IMPORT_C void SilentInstall( TRequestStatus& aReqStatus,
00147 const TDesC& aFileName,
00148 const TDesC8& aOptions );
00149
00157 IMPORT_C TInt SilentInstall( RFile& aFile, const TDesC8& aOptions );
00158
00163 IMPORT_C void SilentInstall( TRequestStatus& aReqStatus,
00164 RFile& aFile,
00165 const TDesC8& aOptions );
00166
00175 IMPORT_C TInt SilentInstall( const TDesC& aFileName,
00176 const TDesC8& aParams,
00177 const TDesC8& aOptions );
00178
00183 IMPORT_C void SilentInstall( TRequestStatus& aReqStatus,
00184 const TDesC& aFileName,
00185 const TDesC8& aParams,
00186 const TDesC8& aOptions );
00187
00196 IMPORT_C TInt SilentInstall( RFile& aFile,
00197 const TDesC8& aParams,
00198 const TDesC8& aOptions );
00199
00204 IMPORT_C void SilentInstall( TRequestStatus& aReqStatus,
00205 RFile& aFile,
00206 const TDesC8& aParams,
00207 const TDesC8& aOptions );
00208
00216 IMPORT_C TInt Uninstall( const TUid& aUid, const TDesC8& aMIME );
00217
00222 IMPORT_C void Uninstall( TRequestStatus& aReqStatus,
00223 const TUid& aUid,
00224 const TDesC8& aMIME );
00225
00234 IMPORT_C TInt SilentUninstall( const TUid& aUid,
00235 const TDesC8& aOptions,
00236 const TDesC8& aMIME );
00237
00242 IMPORT_C void SilentUninstall( TRequestStatus& aReqStatus,
00243 const TUid& aUid,
00244 const TDesC8& aOptions,
00245 const TDesC8& aMIME );
00246
00251 IMPORT_C TInt CancelAsyncRequest( TInt aReqToCancel );
00252
00253 IMPORT_C CErrDetails* GetLastErrorL();
00254
00261 IMPORT_C TInt CustomUninstall( TOperation aOperation,
00262 const TDesC8& aParams,
00263 const TDesC8& aMIME );
00264
00269 IMPORT_C void CustomUninstall( TRequestStatus& aReqStatus,
00270 TOperation aOperation,
00271 const TDesC8& aParams,
00272 const TDesC8& aMIME );
00273
00281 IMPORT_C TInt SilentCustomUninstall( TOperation aOperation,
00282 const TDesC8& aOptions,
00283 const TDesC8& aParams,
00284 const TDesC8& aMIME );
00285
00290 IMPORT_C void SilentCustomUninstall( TRequestStatus& aReqStatus,
00291 TOperation aOperation,
00292 const TDesC8& aOptions,
00293 const TDesC8& aParams,
00294 const TDesC8& aMIME );
00295
00296 protected:
00297
00304 void PanicClient( TInt aPanic ) const;
00305
00306 private:
00307
00313 TUid ServiceUid() const;
00314
00315 protected:
00316
00317 TBool iConnected;
00318
00319 private:
00320
00321 TAny* reserved1;
00322 TAny* reserved2;
00323 };
00324
00331 class RSWInstSilentLauncher : public RSWInstLauncher
00332 {
00333 public:
00334
00338 IMPORT_C RSWInstSilentLauncher();
00339
00348 IMPORT_C TInt Connect();
00349
00350 private:
00351
00357 virtual TUid ServiceUid() const;
00358
00359 private:
00360
00365 void ConstructServerName( TName& aServerName,
00366 TUid aAppServerUid,
00367 TUint aServerDifferentiator );
00368
00373 TUint StartServerL( TUid aAppUid );
00374
00379 void LaunchAppL( TUid aAppUid, TUint aServerDifferentiator, TThreadId& aThreadId );
00380
00381 private:
00382
00383 TAny* reserved;
00384 };
00385
00386 }
00387
00388 #endif // SWINSTAPI_H
00389
00390
00391
00392