appinstaller/AppinstUi/Daemon/Src/programstatus.cpp
branchRCL_3
changeset 25 7333d7932ef7
parent 0 ba25891c3a9e
child 26 8b7f4e561641
equal deleted inserted replaced
24:5cc91383ab1e 25:7333d7932ef7
    20 #include <SWInstallerInternalPSKeys.h>
    20 #include <SWInstallerInternalPSKeys.h>
    21 
    21 
    22 #include "programstatus.h"
    22 #include "programstatus.h"
    23 #include "SWInstDebug.h"
    23 #include "SWInstDebug.h"
    24 
    24 
    25 namespace Swi
    25 using namespace Swi;
       
    26 
       
    27 
       
    28 // -----------------------------------------------------------------------
       
    29 // Two-phased constructor
       
    30 // -----------------------------------------------------------------------
       
    31 //        
       
    32 CProgramStatus* CProgramStatus::NewL( TInt aProcessStatus )
    26     {
    33     {
    27     // -----------------------------------------------------------------------
    34     CProgramStatus* self = NewLC( aProcessStatus );
    28     // Two-phased constructor
    35     CleanupStack::Pop( self );
    29     // -----------------------------------------------------------------------
    36     return self;
    30     //        
    37     }
    31     CProgramStatus* CProgramStatus::NewL( TInt aProcessStatus )
    38 
    32         {
    39 
    33         CProgramStatus* self = NewLC( aProcessStatus );
    40 // -----------------------------------------------------------------------
    34         CleanupStack::Pop( self );
    41 // Two-phased constructor
    35         return self;
    42 // -----------------------------------------------------------------------
    36         }
    43 //      
       
    44 CProgramStatus* CProgramStatus::NewLC( TInt aProcessStatus )
       
    45     {
       
    46     CProgramStatus* self = new (ELeave) CProgramStatus;
       
    47     CleanupStack::PushL( self );
       
    48     self->ConstructL( aProcessStatus );
       
    49     return self;    
       
    50     }
    37     
    51     
       
    52 
       
    53 // -----------------------------------------------------------------------
       
    54 // 2nd phase constructor
       
    55 // -----------------------------------------------------------------------
       
    56 //      
       
    57 void CProgramStatus::ConstructL( TInt aProcessStatus )
       
    58     {                           
       
    59     iGeneralProcessStatus = aProcessStatus;   
       
    60     // Define PS keys for UI. 
       
    61     DefinePSKeyForUI();
       
    62     }
       
    63 
       
    64 
       
    65 // -----------------------------------------------------------------------
       
    66 // C++ destructor
       
    67 // -----------------------------------------------------------------------
       
    68 //      
       
    69 CProgramStatus::~CProgramStatus()
       
    70     {
       
    71     }
       
    72 
       
    73 
       
    74 // -----------------------------------------------------------------------
       
    75 // Set program status.
       
    76 // -----------------------------------------------------------------------
       
    77 //      
       
    78 void CProgramStatus::SetProgramStatus( TInt aProcessStatus )
       
    79     {
       
    80     iGeneralProcessStatus = aProcessStatus;
       
    81     }
       
    82 
       
    83 
       
    84 // -----------------------------------------------------------------------
       
    85 // Get program status.
       
    86 // -----------------------------------------------------------------------
       
    87 //      
       
    88 TInt CProgramStatus::GetProgramStatus()
       
    89     {
       
    90     return iGeneralProcessStatus;
       
    91     }
       
    92 
       
    93 
       
    94 // -----------------------------------------------------------------------
       
    95 // Set program status to idle.
       
    96 // -----------------------------------------------------------------------
       
    97 //       
       
    98 void CProgramStatus::SetProgramStatusToIdle()
       
    99     {
       
   100     iGeneralProcessStatus = EStateIdle;
       
   101     }
       
   102 
       
   103 // -----------------------------------------------------------------------
       
   104 // Define PS key for UI and set the key value. 
       
   105 // -----------------------------------------------------------------------
       
   106 //      
       
   107 void CProgramStatus::DefinePSKeyForUI()
       
   108     {                
       
   109     _LIT_SECURITY_POLICY_C1( KReadProtection, ECapability_None );
       
   110     _LIT_SECURITY_POLICY_C1( KWriteProtection, ECapabilityWriteDeviceData );
    38     
   111     
    39     // -----------------------------------------------------------------------
   112     // Define the property.
    40     // Two-phased constructor
   113     TInt err = RProperty::Define( 
    41     // -----------------------------------------------------------------------
   114         KPSUidSWInstallerUiNotification, 
    42     //      
   115         KSWInstallerDisableDaemonNotes, 
    43     CProgramStatus* CProgramStatus::NewLC( TInt aProcessStatus )
   116         RProperty::EInt,
    44         {
   117         KReadProtection,
    45         CProgramStatus* self = new (ELeave) CProgramStatus;
   118         KWriteProtection );
    46         CleanupStack::PushL( self );
   119     
    47         self->ConstructL( aProcessStatus );
   120     FLOG_1( _L("[CProgramStatus] RProperty::Define error = %d "), err );
    48         return self;    
   121            
    49         }
   122     // If key is not set when Daemon starts, set value.
       
   123     if ( err == KErrNone )
       
   124         {  
       
   125         // Key can be set to False at this point. Correct PS key will 
       
   126         // be read in AO's RunL.
       
   127         TInt keyValue = EFalse;
    50         
   128         
    51     
   129         err = RProperty::Set( 
    52     // -----------------------------------------------------------------------
       
    53     // 2nd phase constructor
       
    54     // -----------------------------------------------------------------------
       
    55     //      
       
    56     void CProgramStatus::ConstructL( TInt aProcessStatus )
       
    57         {                           
       
    58         iGeneralProcessStatus = aProcessStatus;   
       
    59         // Define PS keys for UI. 
       
    60         DefinePSKeyForUI();
       
    61         }
       
    62     
       
    63     
       
    64     // -----------------------------------------------------------------------
       
    65     // C++ destructor
       
    66     // -----------------------------------------------------------------------
       
    67     //      
       
    68     CProgramStatus::~CProgramStatus()
       
    69         {
       
    70         }
       
    71  
       
    72     
       
    73     // -----------------------------------------------------------------------
       
    74     // Set program status.
       
    75     // -----------------------------------------------------------------------
       
    76     //      
       
    77     void CProgramStatus::SetProgramStatus( TInt aProcessStatus )
       
    78         {
       
    79         iGeneralProcessStatus = aProcessStatus;
       
    80         }
       
    81     
       
    82     
       
    83     // -----------------------------------------------------------------------
       
    84     // Get program status.
       
    85     // -----------------------------------------------------------------------
       
    86     //      
       
    87     TInt CProgramStatus::GetProgramStatus()
       
    88         {
       
    89         return iGeneralProcessStatus;
       
    90         }
       
    91     
       
    92     
       
    93     // -----------------------------------------------------------------------
       
    94     // Set program status to idle.
       
    95     // -----------------------------------------------------------------------
       
    96     //       
       
    97     void CProgramStatus::SetProgramStatusToIdle()
       
    98         {
       
    99         iGeneralProcessStatus = EStateIdle;
       
   100         }
       
   101   
       
   102     // -----------------------------------------------------------------------
       
   103     // Define PS key for UI and set the key value. 
       
   104     // -----------------------------------------------------------------------
       
   105     //      
       
   106     void CProgramStatus::DefinePSKeyForUI()
       
   107         {                
       
   108         _LIT_SECURITY_POLICY_C1( KReadProtection, ECapability_None );
       
   109         _LIT_SECURITY_POLICY_C1( KWriteProtection, ECapabilityWriteDeviceData );
       
   110         
       
   111         // Define the property.
       
   112         TInt err = RProperty::Define( 
       
   113             KPSUidSWInstallerUiNotification, 
   130             KPSUidSWInstallerUiNotification, 
   114             KSWInstallerDisableDaemonNotes, 
   131             KSWInstallerDisableDaemonNotes, 
   115             RProperty::EInt,
   132             keyValue );
   116             KReadProtection,
       
   117             KWriteProtection );
       
   118         
   133         
   119         FLOG_1( _L("[CProgramStatus] RProperty::Define error = %d "), err );
   134         FLOG_1( _L("[CProgramStatus] RProperty::Set error = %d "), err );
   120                
   135         }                  
   121         // If key is not set when Daemon starts, set value.
   136     }
   122         if ( err == KErrNone )
       
   123             {  
       
   124             // Key can be set to False at this point. Correct PS key will 
       
   125             // be read in AO's RunL.
       
   126             TInt keyValue = EFalse;
       
   127             
       
   128             err = RProperty::Set( 
       
   129                 KPSUidSWInstallerUiNotification, 
       
   130                 KSWInstallerDisableDaemonNotes, 
       
   131                 keyValue );
       
   132             
       
   133             FLOG_1( _L("[CProgramStatus] RProperty::Set error = %d "), err );
       
   134             }                  
       
   135         }
       
   136     
       
   137     } // namespace
       
   138 
   137 
       
   138   
   139 //EOF
   139 //EOF
   140     
   140