cbsref/telephonyrefplugins/atltsy/handler/src/cltsyphonebookenhandler.cpp
author hgs
Thu, 07 Oct 2010 11:24:36 +0100
changeset 76 91e0f833dd8b
parent 44 8b72faa1200f
permissions -rw-r--r--
201039_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
44
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     1
// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     2
// All rights reserved.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     7
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     8
// Initial Contributors:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    10
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    11
// Contributors:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    12
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    13
// Description:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    14
// CLtsyPhonebookEnHandler
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    15
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    16
#include <ctsy/ltsy/cctsydispatchercallback.h>
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    17
#include <mmtsy_ipcdefs.h>
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    18
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    19
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    20
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    21
#include "cltsyphonebookenhandler.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    22
#include <ctsy/ltsy/ltsylogger.h>
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    23
#include "ltsymacros.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    24
#include "globalphonemanager.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    25
#include "atphbkengetinfo.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    26
#include "atphbkenread.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    27
#include "atphbkenreadall.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    28
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    29
CLtsyPhonebookEnHandler::CLtsyPhonebookEnHandler(
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    30
	CCtsyDispatcherCallback& aCtsyDispatcherCallback,CGlobalPhonemanager* aGloblePhone)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    31
	:iCtsyDispatcherCallback(aCtsyDispatcherCallback),iGloblePhone(aGloblePhone)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    32
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    33
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    34
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    35
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    36
	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    37
CLtsyPhonebookEnHandler::~CLtsyPhonebookEnHandler()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    38
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    39
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    40
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    41
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    42
CLtsyPhonebookEnHandler* CLtsyPhonebookEnHandler::NewLC(
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    43
		CCtsyDispatcherCallback& aCtsyDispatcherCallback,CGlobalPhonemanager* aGloblePhone)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    44
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    45
	TSYLOGENTRYEXIT;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    46
	CLtsyPhonebookEnHandler* self = new (ELeave) CLtsyPhonebookEnHandler(aCtsyDispatcherCallback,aGloblePhone);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    47
	CleanupStack::PushL(self);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    48
	self->ConstructL();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    49
	return self;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    50
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    51
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    52
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    53
CLtsyPhonebookEnHandler* CLtsyPhonebookEnHandler::NewL(CCtsyDispatcherCallback& aCtsyDispatcherCallback,CGlobalPhonemanager* aGloblePhone)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    54
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    55
	TSYLOGENTRYEXIT;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    56
	CLtsyPhonebookEnHandler* self=
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    57
			CLtsyPhonebookEnHandler::NewLC(aCtsyDispatcherCallback,aGloblePhone);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    58
	CleanupStack::Pop(self);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    59
	return self;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    60
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    61
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    62
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    63
void CLtsyPhonebookEnHandler::ConstructL()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    64
/**
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    65
 * Second phase constructor.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    66
 */
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    67
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    68
	TSYLOGENTRYEXIT;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    69
	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    70
	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    71
	} // CLtsyPhonebookEnHandler::ConstructL
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    72
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    73
TBool CLtsyPhonebookEnHandler::IsInterfaceSupported(TLtsyDispatchInterfaceApiId aDispatchApiId)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    74
/**
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    75
 * Returns whether a Dispatch Interface APi is supported or not.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    76
 * 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    77
 * @param aDispatchApiId Id of Dispatch interface being queried
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    78
 * @return indication whether interface is supported or not
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    79
 */
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    80
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    81
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    82
	switch(aDispatchApiId)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    83
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    84
		// Insert ApiIds when support is provided in LTSY e.g.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    85
		// case MLtsyDispatchPhoneBootNotifySimStatusReady::KLtsyDispatchPhoneBootNotifySimStatusReadyApiId: return ETrue;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    86
		case  KLtsyDispatchPhonebookEnStoreGetInfoApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    87
			return ETrue;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    88
		case KLtsyDispatchPhonebookEnStoreReadAllApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    89
			return ETrue;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    90
		case KLtsyDispatchPhonebookEnStoreReadEntryApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    91
			return ETrue;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    92
		default:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    93
			return EFalse;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    94
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    95
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    96
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    97
void CLtsyPhonebookEnHandler::IsCallbackIndicatorSupported(TLtsyDispatchIndIdGroup /*aIdGroup*/, TUint32& /*aIndIdBitMask*/)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    98
/**
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    99
 * Returns the set of callback indicators that are supported.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   100
 * 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   101
* @param aIdGroup ID of group that is being queried e.g. aIdGroup=EIndIdGroup1
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   102
* @param aIndIdBitMask [out] argument that should return a bitmask indicating which indicator callbacks are supported.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   103
 */
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   104
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   105
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   106
	//Create bitmask with bitset for each indicator ID that is supported. E.g.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   107
	/*
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   108
	if(aIdGroup == EIndIdGroup1)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   109
		aIndIdBitMask = KLtsyDispatchPhoneNotifyNetworkModeChangeIndId | 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   110
						KLtsyDispatchPhoneNotifyEgprsInfoChangeIndId | 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   111
						KLtsyDispatchPhoneNotifySignalStrengthChangeIndId;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   112
	else
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   113
		aIndIdBitMask = 0; //no indicators from other groups supported
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   114
	*/
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   115
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   116
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   117
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   118
TInt CLtsyPhonebookEnHandler::HandleStoreGetInfoReqL()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   119
/**
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   120
 * This request is completed by invoking
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   121
 * CCtsyDispatcherCallback::CallbackPhonebookEnStoreGetInfoComp()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   122
 *
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   123
 * @return KErrNone on success, KErrNotSupported if this request is not supported,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   124
 * or another error code to indicate the failure otherwise.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   125
 */
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   126
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   127
	TSYLOGENTRYEXIT;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   128
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   129
	TInt ret = iGloblePhone->CheckGlobalPhoneStatus();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   130
	if( KErrNone == ret )
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   131
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   132
		CAtPhbkEnGetInfo* atPhbkEnGetInfo = CAtPhbkEnGetInfo::NewL(*iGloblePhone,iCtsyDispatcherCallback);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   133
		//Setting Port active
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   134
		iGloblePhone->iEventSignalActive = ETrue;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   135
		iGloblePhone->SetActiveRequest(atPhbkEnGetInfo);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   136
		atPhbkEnGetInfo->StartRequest();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   137
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   138
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   139
	return TSYLOGSETEXITERR(ret);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   140
	} // CLtsyPhonebookEnHandler::HandleStoreGetInfoReqL
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   141
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   142
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   143
TInt CLtsyPhonebookEnHandler::HandleStoreReadAllReqL()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   144
/**
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   145
 * This request is completed by invoking
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   146
 * CCtsyDispatcherCallback::CallbackPhonebookEnStoreReadAllComp()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   147
 *
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   148
 * @return KErrNone on success, KErrNotSupported if this request is not supported,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   149
 * or another error code to indicate the failure otherwise.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   150
 */
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   151
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   152
	TSYLOGENTRYEXIT;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   153
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   154
	TInt ret = iGloblePhone->CheckGlobalPhoneStatus();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   155
	if( KErrNone == ret )
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   156
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   157
		CAtPhbkEnReadAll* atPhbkEnReadAll = CAtPhbkEnReadAll::NewL(*iGloblePhone,iCtsyDispatcherCallback);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   158
		//Setting Port active
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   159
		iGloblePhone->iEventSignalActive = ETrue;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   160
		iGloblePhone->SetActiveRequest(atPhbkEnReadAll);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   161
		atPhbkEnReadAll->StartRequest();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   162
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   163
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   164
	return TSYLOGSETEXITERR(ret);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   165
	} // CLtsyPhonebookEnHandler::HandleStoreReadAllReqL
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   166
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   167
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   168
TInt CLtsyPhonebookEnHandler::HandleStoreReadEntryReqL(TInt aIndex)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   169
/**
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   170
 * This request is completed by invoking
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   171
 * CCtsyDispatcherCallback::CallbackPhonebookEnStoreReadEntryComp()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   172
 *
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   173
 * @param aIndex index of the EN entry.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   174
 *
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   175
 * @return KErrNone on success, KErrNotSupported if this request is not supported,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   176
 * or another error code to indicate the failure otherwise.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   177
 */
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   178
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   179
	TSYLOGENTRYEXIT;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   180
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   181
	TInt ret = iGloblePhone->CheckGlobalPhoneStatus();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   182
	if( KErrNone == ret )
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   183
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   184
		CAtPhbkEnRead* atPhbkEnRead = CAtPhbkEnRead::NewL(*iGloblePhone,iCtsyDispatcherCallback);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   185
		//Setting Port active
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   186
		iGloblePhone->iEventSignalActive = ETrue;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   187
		iGloblePhone->SetActiveRequest(atPhbkEnRead);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   188
		atPhbkEnRead->SetIndex(aIndex);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   189
		atPhbkEnRead->StartRequest();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   190
	    }
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   191
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   192
	return TSYLOGSETEXITERR(ret);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   193
	} // CLtsyPhonebookEnHandler::HandleStoreReadEntryReqL
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   194
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   195
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   196
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   197
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   198