javamanager/javainstaller/javasifplugin/inc/javasifplugin.h
changeset 48 e0d6e9bd3ca7
parent 47 f40128debb5d
child 61 bf7ee68962da
equal deleted inserted replaced
47:f40128debb5d 48:e0d6e9bd3ca7
    23 
    23 
    24 #include <e32base.h>
    24 #include <e32base.h>
    25 #include <usif/sif/sifplugin.h>
    25 #include <usif/sif/sifplugin.h>
    26 
    26 
    27 #include "f32file.h"
    27 #include "f32file.h"
    28 #include "resultsserver.h"
    28 
       
    29 class ResultsServer;
    29 
    30 
    30 using namespace Usif;
    31 using namespace Usif;
    31 
    32 
    32 /**
    33 /**
    33  * The messages known by JavaSifPlugin.
    34  * The messages known by JavaSifPlugin.
    34  */
    35  */
    35 
    36 
    36 const int INSTALLER_CANCEL_MESSAGE_ID = 603;
    37 const int INSTALLER_CANCEL_MESSAGE_ID = 603;
    37 const int INSTALLER_CANCEL_RESPONSE_MESSAGE_ID = 604;
    38 const int INSTALLER_CANCEL_RESPONSE_MESSAGE_ID = 604;
    38 
    39 
    39 namespace Java
    40 namespace java
    40 {
    41 {
    41 namespace Installer
    42 namespace installer
    42 {
    43 {
    43 
    44 
    44 /**
    45 /**
    45  * This class implements the ECom KUidSifPlugin interface for midlet
    46  * This class implements the ECom KUidSifPlugin interface for midlet
    46  * installation for OMJ.
    47  * installation for OMJ.
   220      *  if needed. In this case aFileName is changed also.
   221      *  if needed. In this case aFileName is changed also.
   221      */
   222      */
   222     void CopyFilesIfNeededL(TFileName &aFileName);
   223     void CopyFilesIfNeededL(TFileName &aFileName);
   223 
   224 
   224     /**
   225     /**
       
   226      * Check if the file is Jad file. Argument KSifInParam_MimeType is
       
   227      * used for check if it exists.
       
   228      *
       
   229      * @param[in] aFileHandle the file to be checked
       
   230      * @param[in] aArguments Install request arguments
       
   231      * @param[out] aIsJad set to ETrue if the file is Jad file
       
   232      * @return KErrNone or Symbian error code
       
   233      */
       
   234     TInt IsJadFile(RFile& aFileHandle, const COpaqueNamedParams& aArguments, TBool& aIsJad);
       
   235 
       
   236     /**
       
   237      * Check if the file is Jad file.
       
   238      *
       
   239      * @param[in] aFileHandle the file to be checked
       
   240      * @param[out] aIsJad set to ETrue if the file is Jad file
       
   241      * @return KErrNone or Symbian error code
       
   242      */
       
   243     TInt IsJadFile(RFile& aFileHandle, TBool& aIsJad);
       
   244 
       
   245     /**
   225      * Uses the information in aArguments to create the correct command line for
   246      * Uses the information in aArguments to create the correct command line for
   226      * Java Installer.
   247      * Java Installer.
   227      *
   248      *
   228      * @param aCommandLine the buffer to be filled with command line arguments
   249      * @param[in][out] aCommandLine the buffer to be filled with command line arguments
   229      * @param aArguments The array of opaque params for the plug-in. An empty
   250      * @param[in]      aArguments The array of opaque params for the plug-in. An empty
   230      *   array may be passed.  The following param is defined for the "SCOMO Install
   251      *   array may be passed.  The following param is defined for the "SCOMO Install
   231      *   Inactive" operation:
   252      *   Inactive" operation:
   232      *   Name: InstallInactive, Type: Int, Value: ETrue
   253      *   Name: InstallInactive, Type: Int, Value: ETrue
   233      *   If a plug-in receives this param, it must install a component normally but the SCOMO
   254      *   If a plug-in receives this param, it must install a component normally but the SCOMO
   234      *   State should remain EDeactivated.
   255      *   State should remain EDeactivated.
   235      */
   256      */
   236     void BuildInstallCommandLine(
   257     void BuildInstallCommandLine(
   237         TBuf<1536>& aCommandLine,
   258         TPtr& aCommandLine,
   238         const COpaqueNamedParams& aArguments);
   259         const COpaqueNamedParams& aArguments);
       
   260 
       
   261     /**
       
   262      * Returns the value of int param found from aArguments or -1 if
       
   263      * the param is not found. Must be called only for int params
       
   264      * that have positive value range!
       
   265      *
       
   266      * @param[in] aName The name of the integer param to be obtained.
       
   267      * @param[in] aArguments The array of opaque params for the plug-in.
       
   268      * @return -1 if the named param if not found, otherwise the value of the
       
   269      */
       
   270     TInt GetPositiveIntParam(
       
   271         const TDesC& aName,
       
   272         const COpaqueNamedParams& aArguments);
       
   273 
       
   274     /**
       
   275      * Start ResultsServer for receiving Comms message(s) from
       
   276      * Java Installer
       
   277      *
       
   278      * @param[in][out] aResults If Comms message contains installation or
       
   279      *  uninstallation operation results, they will be stored in this variable
       
   280      * @param[in][out] aComponentInfo If Comms message contains contains details of
       
   281      *  a component, they will be stored into this variable
       
   282      * @return
       
   283      */
       
   284     TInt StartResultsServer(
       
   285         COpaqueNamedParams& aResults,
       
   286         CComponentInfo& aComponentInfo);
   239 
   287 
   240     /**
   288     /**
   241      * If Java Installer is already running, set error category EInstallerBusy etc
   289      * If Java Installer is already running, set error category EInstallerBusy etc
   242      * to aResults, set aStatus to KErrAlreadyExists and return ETrue
   290      * to aResults, set aStatus to KErrAlreadyExists and return ETrue
   243      * @param[in][out] aResults
   291      * @param[in][out] aResults
   246      */
   294      */
   247     TBool ExitIfJavaInstallerRunning(
   295     TBool ExitIfJavaInstallerRunning(
   248         COpaqueNamedParams& aResults,
   296         COpaqueNamedParams& aResults,
   249         TRequestStatus& aStatus);
   297         TRequestStatus& aStatus);
   250 
   298 
   251     /**
       
   252      * If Java Installer is already running,
       
   253      * set aStatus to KErrAlreadyExists and return ETrue
       
   254      * @param[in][out] aStatus
       
   255      * @return ETrue if Java Installer is running
       
   256      */
       
   257     TBool ExitIfJavaInstallerRunning(TRequestStatus& aStatus);
       
   258 
       
   259 private: //  Data
   299 private: //  Data
   260 
   300 
   261     TRequestStatus* iStatus;
   301     RFs mRFs;
   262     RFs iRFs;
   302     RArray<RProcess> mHandlesToClose;
   263     RArray<RProcess> iHandlesToClose;
   303     ResultsServer*   mResultsServer;
   264     ResultsServer*   iResultsServer;
   304 
   265 
   305     COpaqueNamedParams* mDummyResults;
   266     COpaqueNamedParams* iDummyResults;
   306     CComponentInfo*     mDummyInfo;
   267     CComponentInfo*     iDummyInfo;
       
   268 };
   307 };
   269 
   308 
   270 } // Installer
   309 } // Installer
   271 } // Java
   310 } // Java
   272 
   311