appinstaller/AppinstUi/sisxsifplugin/inc/sisxsifpluginactiveimpl.h
changeset 29 26b6f0522fd8
parent 25 98b66e4fb0be
child 33 8110bf1194d1
equal deleted inserted replaced
25:98b66e4fb0be 29:26b6f0522fd8
    33 }
    33 }
    34 
    34 
    35 namespace Usif
    35 namespace Usif
    36 {
    36 {
    37     class CSisxSifPluginUiHandler;
    37     class CSisxSifPluginUiHandler;
       
    38     class CSisxSifPluginUiHandlerSilent;
    38 
    39 
    39     /**
    40     /**
    40      *  SISX SIF plugin active implementation
    41      *  SISX SIF plugin active implementation
    41      *  Universal Software Install Framework (USIF) plugin for native SISX
    42      *  Universal Software Install Framework (USIF) plugin for native SISX
    42      *  installation. CSisxSifPluginActiveImpl is active object that takes
    43      *  installation. CSisxSifPluginActiveImpl is active object that takes
    73                 TRequestStatus& aStatus );
    74                 TRequestStatus& aStatus );
    74 
    75 
    75     private:    // new functions
    76     private:    // new functions
    76         CSisxSifPluginActiveImpl();
    77         CSisxSifPluginActiveImpl();
    77         void ConstructL();
    78         void ConstructL();
    78         void CompleteRequest( TRequestStatus& aStatus, TInt aResult );
    79         Swi::MUiHandler& UiHandlerL( TBool aUseSilentMode = EFalse );
    79         void CommonRequestPreamble( const TSecurityContext& aSecurityContext,
    80         void CommonRequestPreamble( const COpaqueNamedParams& aInputParams,
    80                 const COpaqueNamedParams& aInputParams, COpaqueNamedParams& aOutputParams,
    81                 COpaqueNamedParams& aOutputParams, TRequestStatus& aStatus );
    81                 TRequestStatus& aStatus );
    82         void CompleteClientRequest( TInt aResult );
    82         void DoInstallL( const TDesC& aFileName );
    83         void DoInstallL( const TDesC& aFileName );
    83         void DoUninstallL( TComponentId aComponentId, TRequestStatus& aStatus );
    84         void DoUninstallL( TComponentId aComponentId );
    84         void DoActivateL( TComponentId aComponentId );
    85         void DoActivateL( TComponentId aComponentId );
    85         void DoDeactivateL( TComponentId aComponentId );
    86         void DoDeactivateL( TComponentId aComponentId );
    86         TInt ConvertToSifErrorCode( TInt aSwiErrorCode );
    87         TInt ConvertToSifErrorCode( TInt aSwiErrorCode );
    87         TComponentId GetLastInstalledComponentIdL();
    88         TComponentId GetLastInstalledComponentIdL();
    88         TBool NeedUserCapabilityL();
    89         TBool RequiresUserCapabilityL();
    89         void ProcessSilentInstallL();
    90         void ProcessSilentInstallL();
       
    91         void ProcessSilentUninstallL();
    90         void SetSilentInstallFileL( const TDesC& aFileName );
    92         void SetSilentInstallFileL( const TDesC& aFileName );
    91         void SetSilentInstallFile( RFile& aFileHandle );
    93         void SetSilentInstallFile( RFile& aFileHandle );
    92         static TInt GrantCapabilitiesHelpCallback( TAny* aPtr );
    94         static TInt GrantCapabilitiesHelpCallback( TAny* aPtr );
    93 
    95 
    94     private:    // data
    96     private:    // data
    95         RFs iFs;
    97         RFs iFs;
    96         Swi::CAsyncLauncher* iAsyncLauncher;
    98         Swi::CAsyncLauncher* iAsyncLauncher;
    97         CSisxSifPluginUiHandler* iUiHandler;
    99         CSisxSifPluginUiHandler* iUiHandler;
       
   100         CSisxSifPluginUiHandlerSilent* iUiHandlerSilent;
    98         Swi::CInstallPrefs* iInstallPrefs;
   101         Swi::CInstallPrefs* iInstallPrefs;
    99         TRequestStatus* iClientStatus;
   102         TRequestStatus* iClientStatus;
   100         const COpaqueNamedParams* iInputParams;
   103         const COpaqueNamedParams* iInputParams;
   101         COpaqueNamedParams* iOutputParams;
   104         COpaqueNamedParams* iOutputParams;
   102         CComponentInfo* iComponentInfo;
   105         CComponentInfo* iComponentInfo;
   103         HBufC* iFileName;
   106         HBufC* iFileName;
   104         RFile* iFileHandle;         // not owned
   107         RFile* iFileHandle;             // not owned
   105         TBool iSilentInstall;       // ETrue when silent install has been requested
   108         TBool iUseSilentMode;
   106         TBool iInstallRequest;      // ETrue when install requestes has been made
   109         TBool iIsPackageCheckedForSilentInstall;
       
   110 
       
   111         enum TOperationType
       
   112             {
       
   113             ENone,
       
   114             EGetComponentInfo,
       
   115             EInstall,
       
   116             EUninstall,
       
   117             EActivate,
       
   118             EDeactivate
       
   119             };
       
   120         TOperationType iOperation;
   107         };
   121         };
   108 
   122 
   109 }   // namespace Usif
   123 }   // namespace Usif
   110 
   124 
   111 #endif      // C_SISXSIFPLUGINIMPL_H
   125 #endif      // C_SISXSIFPLUGINIMPL_H