hs_app_idlefw/plugins/wsplugin/src/hs_app_logslaunchhandler.cpp
author fdim
Wed, 31 Mar 2010 12:29:10 +0300
branchv5backport
changeset 43 690b4f151c12
permissions -rw-r--r--
Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited). homescreen_srv compiles with these changes. Although more warnings appear. Also I've changed uid of homescreen.exe, ailaunch.exe. Renamed idlefw files, located in hs_app_idlefw.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
43
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
     1
/*
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
     2
* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies).
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
     3
* All rights reserved.
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
     4
* This component and the accompanying materials are made available
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
     6
* which accompanies this distribution, and is available
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
     8
*
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
     9
* Initial Contributors:
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    11
*
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    12
* Contributors:
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    13
*
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    14
* Description:  Logs app launch handler for Active Idle WS Plug-in.
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    15
*
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    16
*/
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    17
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    18
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    19
#include "hs_app_logslaunchhandler.h"
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    20
#include "hs_app_uistate.h"
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    21
#include <e32property.h>
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    22
#include <e32event.h>
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    23
#include <e32keys.h>
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    24
#include <activeidle2internalpskeys.h>
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    25
#include <activeidle2domainpskeys.h>
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    26
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    27
namespace AiWsPlugin {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    28
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    29
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    30
CLogsLaunchHandler::CLogsLaunchHandler()
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    31
    {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    32
    }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    33
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    34
void CLogsLaunchHandler::ConstructL()
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    35
    {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    36
    // Read capability: ReadDeviceData.
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    37
    _LIT_SECURITY_POLICY_C1( KReadDevicePolicy, ECapabilityReadDeviceData );
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    38
    // Write capability: WriteDeviceData.
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    39
    _LIT_SECURITY_POLICY_C1( KWriteDevicePolicy, ECapabilityWriteDeviceData );
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    40
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    41
    // Initialize Shortcut Plug-in command API
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    42
    RProperty::Define(
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    43
        KUidSystemCategory,
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    44
        KPSUidShortcutCmd,
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    45
        RProperty::EText,
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    46
        KReadDevicePolicy,
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    47
        KWriteDevicePolicy
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    48
        );
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    49
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    50
    iTimer = CKeyHandlerTimer::NewL( this );
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    51
    }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    52
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    53
CLogsLaunchHandler* CLogsLaunchHandler::NewLC()
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    54
    {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    55
    CLogsLaunchHandler* self = new(ELeave) CLogsLaunchHandler;
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    56
    CleanupStack::PushL( self );
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    57
    self->ConstructL();
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    58
    return self;
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    59
    }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    60
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    61
CLogsLaunchHandler::~CLogsLaunchHandler()
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    62
    {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    63
     if ( iTimer)
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    64
     {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    65
     iTimer->Cancel();
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    66
     delete iTimer;
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    67
     }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    68
    }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    69
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    70
void CLogsLaunchHandler::SetUiStateQuery( MUiState& aUiState )
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    71
    {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    72
    iUiState = &aUiState;
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    73
    }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    74
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    75
void CLogsLaunchHandler::FocusChanged( TBool /*aState*/ )
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    76
    {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    77
    // Focus status is queried from iUiState
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    78
    }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    79
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    80
TBool CLogsLaunchHandler::OfferRawEvent(const TRawEvent& aRawEvent)
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    81
    {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    82
    TInt reactOnSendKey = 1;
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    83
    TInt err = RProperty::Get( KPSUidAiInformation, KActiveIdleActOnSendKey, reactOnSendKey );
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    84
    if ( err != KErrNone )
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    85
        {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    86
        reactOnSendKey = 1;
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    87
        }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    88
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    89
    TBool consumed = EFalse;
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    90
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    91
    if ( reactOnSendKey )
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    92
        {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    93
        switch( aRawEvent.Type() )
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    94
            {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    95
            case TRawEvent::EKeyDown:
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    96
                {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    97
                if ( iUiState->HasFocus() && aRawEvent.ScanCode() == EStdKeyYes )
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    98
                    {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
    99
                    const TTimeIntervalMicroSeconds32 KLongKeyPress(600000);
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   100
                    iTimer->Cancel();
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   101
                    iTimer->After(KLongKeyPress);
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   102
                    consumed = ETrue;
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   103
                    }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   104
                break;
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   105
                }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   106
            case TRawEvent::EKeyUp:
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   107
                {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   108
                if ( iUiState->HasFocus() && aRawEvent.ScanCode() == EStdKeyYes && iTimer->IsActive() )
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   109
                    {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   110
                    iTimer->Cancel();
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   111
                    RProperty::Set(
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   112
                        KUidSystemCategory,
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   113
                        KPSUidShortcutCmd,
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   114
                        KAiPSLaunchLogs );
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   115
                    consumed = ETrue;
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   116
                    }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   117
                break;
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   118
                }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   119
            }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   120
        }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   121
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   122
    return consumed;
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   123
    }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   124
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   125
void CLogsLaunchHandler::TimerDone()
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   126
    {
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   127
    RProperty::Set(
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   128
        KUidSystemCategory,
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   129
        KPSUidShortcutCmd,
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   130
        KAiPSLaunchNameDialer );
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   131
    }
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   132
690b4f151c12 Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
fdim
parents:
diff changeset
   133
} // namespace AiWsPlugin