commonutilities/common/src/glxtnmonitor.cpp
author hgs
Mon, 20 Sep 2010 12:39:08 +0530
changeset 65 ccee5c4b0de4
parent 42 5e1df1b52eb3
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
     1
/*
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
     2
* ============================================================================
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
     3
*  Name        : glxscreensavermonitor.cpp
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
     4
*  Part of     : GLX / Collection Data Source Framework
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
     5
*  Description : 
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
     6
*  Version     : %version:  1 % 
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
     7
*
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
     8
*  Copyright © 2006-2007 Nokia.  All rights reserved.
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
     9
*  This material, including documentation and any related computer
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    10
*  programs, is protected by copyright controlled by Nokia.  All
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    11
*  rights are reserved.  Copying, including reproducing, storing,
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    12
*  adapting or translating, any or all of this material requires the
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    13
*  prior written consent of Nokia.  This material also contains
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    14
*  confidential information which may not be disclosed to others
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    15
*  without the prior written consent of Nokia.
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    16
* ============================================================================
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    17
*/
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    18
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    19
#include "glxtnmonitor.h"
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    20
#include <glxlog.h>
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    21
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    22
//#include <ScreenSaverInternalPSKeys.h>
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    23
#include <e32debug.h>
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    24
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    25
const TUid KTAGDPSNotification = { 0x2001FD51 };
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    26
//const TInt KForceBackgroundGeneration = 0x00000010;
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    27
const TInt KItemsleft = 0x00000008;
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    28
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    29
CGlxTNMonitor::CGlxTNMonitor( MGlxTNObserver *observer )
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    30
: CActive( CActive::EPriorityHigh ),
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    31
  iObserver( observer )
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    32
{    
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    33
}
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    34
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    35
// ---------------------------------------------------------------------------
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    36
// ~CGlxPauseMonitor.
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    37
// Destructor.
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    38
// ---------------------------------------------------------------------------
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    39
//
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    40
CGlxTNMonitor::~CGlxTNMonitor()
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    41
{
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    42
	Cancel();
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    43
	iScreenSaverProperty.Close();
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    44
}
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    45
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    46
// ---------------------------------------------------------------------------
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    47
// NewL
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    48
// ---------------------------------------------------------------------------
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    49
//
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    50
EXPORT_C CGlxTNMonitor* CGlxTNMonitor::NewL( MGlxTNObserver *observer  )
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    51
{
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    52
    //GLX_LOG_ENTRY_EXIT("CGlxTNMonitor::NewL");    
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    53
    CGlxTNMonitor* self = new (ELeave) CGlxTNMonitor( observer );
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    54
    CleanupStack::PushL( self );
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    55
    self->ConstructL();
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    56
    CleanupStack::Pop( self );
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    57
    return self;
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    58
}
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    59
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    60
// ---------------------------------------------------------------------------
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    61
// ConstructL.
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    62
// Second-phase constructor.
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    63
// ---------------------------------------------------------------------------
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    64
//
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    65
void CGlxTNMonitor::ConstructL()
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    66
{
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    67
    iScreenSaverProperty.Attach( KTAGDPSNotification, KItemsleft );
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    68
	CActiveScheduler::Add( this );
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    69
    RunL();
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    70
}
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    71
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    72
void CGlxTNMonitor::RunL()
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    73
{	
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    74
	GLX_LOG_ENTRY_EXIT("CGlxTNMonitor::RunL");    
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    75
    // resubscribe before processing new value to prevent missing updates
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    76
	iScreenSaverProperty.Subscribe( iStatus );
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    77
    SetActive();
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    78
	//User::WaitForRequest(iStatus);
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    79
    TInt intValue;
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    80
	TInt err = iScreenSaverProperty.Get( intValue ) ;
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    81
	if ( err != KErrNotFound ){
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    82
	    iObserver->updateTNCount( intValue );
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    83
	}
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    84
}
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    85
    
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    86
// ---------------------------------------------------------------------------
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    87
// DoCancel
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    88
// ---------------------------------------------------------------------------
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    89
//
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    90
void CGlxTNMonitor::DoCancel()
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    91
{
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    92
	iScreenSaverProperty.Cancel();
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    93
}
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    94
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    95
// ---------------------------------------------------------------------------
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    96
// RunError
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    97
// ---------------------------------------------------------------------------
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    98
//
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
    99
TInt CGlxTNMonitor::RunError( TInt )
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
   100
{
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
   101
    GLX_LOG_ENTRY_EXIT("CGlxTNMonitor::RunError");       
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
   102
    return KErrNone;
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
   103
}
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
   104
5e1df1b52eb3 201019_01
hgs
parents:
diff changeset
   105