locationtriggering/ltserver/ltserverlogic/src/lbtdeletesessiontriggers.cpp
author hgs
Wed, 03 Nov 2010 23:28:39 +0530
changeset 56 4e949f03ecc5
permissions -rw-r--r--
201044
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
56
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  Active Object operation for deletiong session triggers.
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
// INCLUDE FILES
hgs
parents:
diff changeset
    20
#include "lbtglobal.h"
hgs
parents:
diff changeset
    21
#include "lbtdeletesessiontriggers.h"
hgs
parents:
diff changeset
    22
#include "lbtcontainer.h"
hgs
parents:
diff changeset
    23
#include "lbtnotificationmap.h"
hgs
parents:
diff changeset
    24
#include "lbttriggerchangeevent.h"
hgs
parents:
diff changeset
    25
#include "lbtcontainerupdatefilter.h"
hgs
parents:
diff changeset
    26
#include "lbtserverconsts.h"
hgs
parents:
diff changeset
    27
#include "lbtdeletesessiontriggerobserver.h"
hgs
parents:
diff changeset
    28
#include "lbtlogger.h"
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
// ===================== MEMBER FUNCTIONS =====================
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    33
// CLbtDeleteSessionTriggers::NewLC
hgs
parents:
diff changeset
    34
// Symbian Two - phase constructor
hgs
parents:
diff changeset
    35
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    36
//
hgs
parents:
diff changeset
    37
CLbtDeleteSessionTriggers* CLbtDeleteSessionTriggers::NewL(MLbtDeleteSessionTriggerObserver& aObserver,
hgs
parents:
diff changeset
    38
															CLbtContainer& aContainer,CLbtNotificationMap& aNotificationMap)
hgs
parents:
diff changeset
    39
	{
hgs
parents:
diff changeset
    40
	FUNC_ENTER("CLbtDeleteSessionTriggers::NewL");
hgs
parents:
diff changeset
    41
	CLbtDeleteSessionTriggers* deleteSessionTriggers=new( ELeave ) CLbtDeleteSessionTriggers(aObserver,aContainer,aNotificationMap);
hgs
parents:
diff changeset
    42
	CleanupStack::PushL(deleteSessionTriggers);
hgs
parents:
diff changeset
    43
	deleteSessionTriggers->ConstructL();
hgs
parents:
diff changeset
    44
	CleanupStack::Pop(deleteSessionTriggers);
hgs
parents:
diff changeset
    45
	return(deleteSessionTriggers);
hgs
parents:
diff changeset
    46
	}
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    50
// CLbtDeleteSessionTriggers::CLbtDeleteSessionTriggers
hgs
parents:
diff changeset
    51
// C++ Default constructor
hgs
parents:
diff changeset
    52
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    53
//
hgs
parents:
diff changeset
    54
CLbtDeleteSessionTriggers::CLbtDeleteSessionTriggers(MLbtDeleteSessionTriggerObserver& aObserver,CLbtContainer& aContainer,
hgs
parents:
diff changeset
    55
							CLbtNotificationMap& aNotificationMap):CActive( EPriorityStandard ),iObserver(aObserver),
hgs
parents:
diff changeset
    56
							iContainer(aContainer),iNotificationMap(aNotificationMap)
hgs
parents:
diff changeset
    57
	{
hgs
parents:
diff changeset
    58
	FUNC_ENTER("CLbtDeleteSessionTriggers::CLbtDeleteSessionTriggers");
hgs
parents:
diff changeset
    59
	CActiveScheduler::Add(this);
hgs
parents:
diff changeset
    60
	}
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    63
// CLbtDeleteSessionTriggers::ConstructL
hgs
parents:
diff changeset
    64
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    65
//
hgs
parents:
diff changeset
    66
void CLbtDeleteSessionTriggers::ConstructL()
hgs
parents:
diff changeset
    67
	{
hgs
parents:
diff changeset
    68
	
hgs
parents:
diff changeset
    69
	}
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    72
// CLbtDeleteSessionTriggers::~CLbtDeleteSessionTriggers
hgs
parents:
diff changeset
    73
// Destructor
hgs
parents:
diff changeset
    74
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    75
//
hgs
parents:
diff changeset
    76
CLbtDeleteSessionTriggers::~CLbtDeleteSessionTriggers()
hgs
parents:
diff changeset
    77
	{
hgs
parents:
diff changeset
    78
	FUNC_ENTER("CLbtDeleteSessionTriggers::~CLbtDeleteSessionTriggers");
hgs
parents:
diff changeset
    79
	Cancel();
hgs
parents:
diff changeset
    80
	}
hgs
parents:
diff changeset
    81
hgs
parents:
diff changeset
    82
hgs
parents:
diff changeset
    83
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    84
// CLbtDeleteSessionTriggers::DoCancel
hgs
parents:
diff changeset
    85
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    86
//
hgs
parents:
diff changeset
    87
void CLbtDeleteSessionTriggers::DoCancel()
hgs
parents:
diff changeset
    88
	{
hgs
parents:
diff changeset
    89
	FUNC_ENTER("CLbtDeleteSessionTriggers::DoCancel");
hgs
parents:
diff changeset
    90
	iContainer.CancelAsyncOperation(iAOIdentificationNum);
hgs
parents:
diff changeset
    91
	}
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    96
// CLbtDeleteSessionTriggers::DeleteSessionTriggers
hgs
parents:
diff changeset
    97
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    98
//
hgs
parents:
diff changeset
    99
void CLbtDeleteSessionTriggers::DeleteSessionTriggers(CLbtContainerUpdateFilter* aContainerFilter)
hgs
parents:
diff changeset
   100
	{
hgs
parents:
diff changeset
   101
	FUNC_ENTER("CLbtDeleteSessionTriggers::DeleteSessionTriggers");
hgs
parents:
diff changeset
   102
	iContainer.DeleteTriggers(aContainerFilter,iAOIdentificationNum,iStatus);
hgs
parents:
diff changeset
   103
	SetActive();
hgs
parents:
diff changeset
   104
	}
hgs
parents:
diff changeset
   105
hgs
parents:
diff changeset
   106
hgs
parents:
diff changeset
   107
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   108
// CLbtDeleteSessionTriggers::RunL
hgs
parents:
diff changeset
   109
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   110
//
hgs
parents:
diff changeset
   111
void CLbtDeleteSessionTriggers::RunL()
hgs
parents:
diff changeset
   112
	{
hgs
parents:
diff changeset
   113
	FUNC_ENTER("CLbtDeleteSessionTriggers::RunL");
hgs
parents:
diff changeset
   114
	// If there are no triggers to be deleted,DeleteTriggers method will return error code
hgs
parents:
diff changeset
   115
	// other than KErrNone in which case management library should not be notified.
hgs
parents:
diff changeset
   116
hgs
parents:
diff changeset
   117
	if(iStatus.Int()==KErrNone)
hgs
parents:
diff changeset
   118
		{
hgs
parents:
diff changeset
   119
		RMessage2 message;
hgs
parents:
diff changeset
   120
		TInt retValue=iNotificationMap.Retreive(message,ELbtNotifyTriggerChangeEvent,
hgs
parents:
diff changeset
   121
						CLbtServerLogicBase::TLbtManagementLibrary);
hgs
parents:
diff changeset
   122
		
hgs
parents:
diff changeset
   123
		if(retValue==KErrNone)
hgs
parents:
diff changeset
   124
			{
hgs
parents:
diff changeset
   125
			TLbtTriggerChangeEvent event;
hgs
parents:
diff changeset
   126
			event.iEventType = ELbtTriggerChangeEventMultiple;
hgs
parents:
diff changeset
   127
		
hgs
parents:
diff changeset
   128
			//Send notification to management library
hgs
parents:
diff changeset
   129
			TPckg<TLbtTriggerChangeEvent> eventChange(event);
hgs
parents:
diff changeset
   130
			if(LbtGlobal::Write(message,KParamChangeEvent,eventChange)==KErrNone)
hgs
parents:
diff changeset
   131
				{
hgs
parents:
diff changeset
   132
				LbtGlobal::RequestComplete(message,KErrNone);
hgs
parents:
diff changeset
   133
				}
hgs
parents:
diff changeset
   134
			}
hgs
parents:
diff changeset
   135
		}
hgs
parents:
diff changeset
   136
	iObserver.HandleDeleteSessionTriggersClosureL(this);	
hgs
parents:
diff changeset
   137
	}
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
// end of file
hgs
parents:
diff changeset
   140