--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/ctsydispatchlayer/src/cphonebookondispatcher.cpp Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,634 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include "cphonebookondispatcher.h"
+
+#include <ctsy/ltsy/mltsydispatchphonebookoninterface.h>
+#include <ctsy/pluginapi/mmmessagemanagercallback.h>
+#include <ctsy/serviceapi/mmtsy_ipcdefs.h>
+
+#include <ctsy/ltsy/ltsylogger.h>
+#include "ctsydispatcherpanic.h"
+#include "tdispatcherholder.h"
+
+CPhonebookOnDispatcher::CPhonebookOnDispatcher(
+ MLtsyDispatchFactoryV1& aLtsyFactory,
+ MmMessageManagerCallback& aMessageManagerCallback,
+ CRequestQueueOneShot& aRequestAsyncOneShot)
+ : iLtsyFactoryV1(aLtsyFactory),
+ iMessageManagerCallback(aMessageManagerCallback),
+ iRequestAsyncOneShot(aRequestAsyncOneShot)
+ {
+ } // CPhonebookOnDispatcher::CPhonebookOnDispatcher
+
+
+CPhonebookOnDispatcher::~CPhonebookOnDispatcher()
+ {
+ } // CPhonebookOnDispatcher::~CPhonebookOnDispatcher
+
+
+CPhonebookOnDispatcher* CPhonebookOnDispatcher::NewLC(
+ MLtsyDispatchFactoryV1& aLtsyFactory,
+ MmMessageManagerCallback& aMessageManagerCallback,
+ CRequestQueueOneShot& aRequestAsyncOneShot)
+ {
+ TSYLOGENTRYEXIT;
+ CPhonebookOnDispatcher* self =
+ new (ELeave) CPhonebookOnDispatcher(aLtsyFactory, aMessageManagerCallback, aRequestAsyncOneShot);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ } // CPhonebookOnDispatcher::NewLC
+
+
+CPhonebookOnDispatcher* CPhonebookOnDispatcher::NewL(
+ MLtsyDispatchFactoryV1& aLtsyFactory,
+ MmMessageManagerCallback& aMessageManagerCallback,
+ CRequestQueueOneShot& aRequestAsyncOneShot)
+ {
+ TSYLOGENTRYEXIT;
+ CPhonebookOnDispatcher* self =
+ CPhonebookOnDispatcher::NewLC(aLtsyFactory, aMessageManagerCallback, aRequestAsyncOneShot);
+ CleanupStack::Pop (self);
+ return self;
+ } // CPhonebookOnDispatcher::NewL
+
+
+void CPhonebookOnDispatcher::ConstructL()
+/**
+ * Second phase constructor.
+ */
+ {
+ TSYLOGENTRYEXIT;
+
+ // Get the Licensee LTSY interfaces related to PhonebookOn functionality
+ // from the factory
+ if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhonebookOnFuncUnitId, MLtsyDispatchPhonebookOnStoreRead::KLtsyDispatchPhonebookOnStoreReadApiId))
+ {
+ TAny* storeReadInterface = NULL;
+ iLtsyFactoryV1.GetDispatchHandler(
+ MLtsyDispatchPhonebookOnStoreRead::KLtsyDispatchPhonebookOnStoreReadApiId,
+ storeReadInterface);
+ iLtsyDispatchPhonebookOnStoreRead =
+ static_cast<MLtsyDispatchPhonebookOnStoreRead*>(storeReadInterface);
+ __ASSERT_DEBUG(iLtsyDispatchPhonebookOnStoreRead, CtsyDispatcherPanic(EInvalidNullPtr));
+ }
+
+ if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhonebookOnFuncUnitId, MLtsyDispatchPhonebookOnStoreDeleteAll::KLtsyDispatchPhonebookOnStoreDeleteAllApiId))
+ {
+ TAny* storeDeleteAllInterface = NULL;
+ iLtsyFactoryV1.GetDispatchHandler(
+ MLtsyDispatchPhonebookOnStoreDeleteAll::KLtsyDispatchPhonebookOnStoreDeleteAllApiId,
+ storeDeleteAllInterface);
+ iLtsyDispatchPhonebookOnStoreDeleteAll =
+ static_cast<MLtsyDispatchPhonebookOnStoreDeleteAll*>(storeDeleteAllInterface);
+ __ASSERT_DEBUG(iLtsyDispatchPhonebookOnStoreDeleteAll, CtsyDispatcherPanic(EInvalidNullPtr));
+ }
+
+ if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhonebookOnFuncUnitId, MLtsyDispatchPhonebookOnStoreReadEntry::KLtsyDispatchPhonebookOnStoreReadEntryApiId))
+ {
+ TAny* storeReadEntryInterface = NULL;
+ iLtsyFactoryV1.GetDispatchHandler(
+ MLtsyDispatchPhonebookOnStoreReadEntry::KLtsyDispatchPhonebookOnStoreReadEntryApiId,
+ storeReadEntryInterface);
+ iLtsyDispatchPhonebookOnStoreReadEntry =
+ static_cast<MLtsyDispatchPhonebookOnStoreReadEntry*>(storeReadEntryInterface);
+ __ASSERT_DEBUG(iLtsyDispatchPhonebookOnStoreReadEntry, CtsyDispatcherPanic(EInvalidNullPtr));
+ }
+
+ if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhonebookOnFuncUnitId, MLtsyDispatchPhonebookOnStoreGetInfo::KLtsyDispatchPhonebookOnStoreGetInfoApiId))
+ {
+ TAny* storeGetInfoInterface = NULL;
+ iLtsyFactoryV1.GetDispatchHandler(
+ MLtsyDispatchPhonebookOnStoreGetInfo::KLtsyDispatchPhonebookOnStoreGetInfoApiId,
+ storeGetInfoInterface);
+ iLtsyDispatchPhonebookOnStoreGetInfo =
+ static_cast<MLtsyDispatchPhonebookOnStoreGetInfo*>(storeGetInfoInterface);
+ __ASSERT_DEBUG(iLtsyDispatchPhonebookOnStoreGetInfo, CtsyDispatcherPanic(EInvalidNullPtr));
+ }
+
+ if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhonebookOnFuncUnitId, MLtsyDispatchPhonebookOnStoreGetReadStoreSize::KLtsyDispatchPhonebookOnStoreGetReadStoreSizeApiId))
+ {
+ TAny* storeGetReadStoreSizeInterface = NULL;
+ iLtsyFactoryV1.GetDispatchHandler(
+ MLtsyDispatchPhonebookOnStoreGetReadStoreSize::KLtsyDispatchPhonebookOnStoreGetReadStoreSizeApiId,
+ storeGetReadStoreSizeInterface);
+ iLtsyDispatchPhonebookOnStoreGetReadStoreSize =
+ static_cast<MLtsyDispatchPhonebookOnStoreGetReadStoreSize*>(storeGetReadStoreSizeInterface);
+ __ASSERT_DEBUG(iLtsyDispatchPhonebookOnStoreGetReadStoreSize, CtsyDispatcherPanic(EInvalidNullPtr));
+ }
+
+ if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhonebookOnFuncUnitId, MLtsyDispatchPhonebookOnStoreDeleteEntry::KLtsyDispatchPhonebookOnStoreDeleteEntryApiId))
+ {
+ TAny* storeDeleteEntryInterface = NULL;
+ iLtsyFactoryV1.GetDispatchHandler(
+ MLtsyDispatchPhonebookOnStoreDeleteEntry::KLtsyDispatchPhonebookOnStoreDeleteEntryApiId,
+ storeDeleteEntryInterface);
+ iLtsyDispatchPhonebookOnStoreDeleteEntry =
+ static_cast<MLtsyDispatchPhonebookOnStoreDeleteEntry*>(storeDeleteEntryInterface);
+ __ASSERT_DEBUG(iLtsyDispatchPhonebookOnStoreDeleteEntry, CtsyDispatcherPanic(EInvalidNullPtr));
+ }
+
+ if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhonebookOnFuncUnitId, MLtsyDispatchPhonebookOnStoreWriteEntry::KLtsyDispatchPhonebookOnStoreWriteEntryApiId))
+ {
+ TAny* storeWriteEntryInterface = NULL;
+ iLtsyFactoryV1.GetDispatchHandler(
+ MLtsyDispatchPhonebookOnStoreWriteEntry::KLtsyDispatchPhonebookOnStoreWriteEntryApiId,
+ storeWriteEntryInterface);
+ iLtsyDispatchPhonebookOnStoreWriteEntry =
+ static_cast<MLtsyDispatchPhonebookOnStoreWriteEntry*>(storeWriteEntryInterface);
+ __ASSERT_DEBUG(iLtsyDispatchPhonebookOnStoreWriteEntry, CtsyDispatcherPanic(EInvalidNullPtr));
+ }
+
+ if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhonebookOnFuncUnitId, MLtsyDispatchPhonebookOnStoreWrite::KLtsyDispatchPhonebookOnStoreWriteApiId))
+ {
+ TAny* storeWriteInterface = NULL;
+ iLtsyFactoryV1.GetDispatchHandler(
+ MLtsyDispatchPhonebookOnStoreWrite::KLtsyDispatchPhonebookOnStoreWriteApiId,
+ storeWriteInterface);
+ iLtsyDispatchPhonebookOnStoreWrite =
+ static_cast<MLtsyDispatchPhonebookOnStoreWrite*>(storeWriteInterface);
+ __ASSERT_DEBUG(iLtsyDispatchPhonebookOnStoreWrite, CtsyDispatcherPanic(EInvalidNullPtr));
+ }
+
+ if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhonebookOnFuncUnitId, MLtsyDispatchPhonebookOnStoreGetStoreSize::KLtsyDispatchPhonebookOnStoreGetStoreSizeApiId))
+ {
+ TAny* storeGetStoreSizeInterface = NULL;
+ iLtsyFactoryV1.GetDispatchHandler(
+ MLtsyDispatchPhonebookOnStoreGetStoreSize::KLtsyDispatchPhonebookOnStoreGetStoreSizeApiId,
+ storeGetStoreSizeInterface);
+ iLtsyDispatchPhonebookOnStoreGetStoreSize =
+ static_cast<MLtsyDispatchPhonebookOnStoreGetStoreSize*>(storeGetStoreSizeInterface);
+ __ASSERT_DEBUG(iLtsyDispatchPhonebookOnStoreGetStoreSize, CtsyDispatcherPanic(EInvalidNullPtr));
+ }
+
+ } // CPhonebookOnDispatcher::ConstructL
+
+void CPhonebookOnDispatcher::SetDispatcherHolder(TDispatcherHolder& aDispatcherHolder)
+/**
+ * Set the dispatcher holder.
+ *
+ * @param aDispatcherHolder Reference to dispatcher holder.
+ */
+ {
+ TSYLOGENTRYEXIT;
+
+ iDispatcherHolder = &aDispatcherHolder;
+ } // CPhonebookOnDispatcher::SetDispatcherHolder
+
+TInt CPhonebookOnDispatcher::DispatchStoreReadL(const CMmDataPackage* aDataPackage)
+/**
+ * Unpack data related to EMmTsyONStoreReadIPC
+ * and pass request on to Licensee LTSY.
+ *
+ * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
+ * the Licensee LTSY does not support this request.
+ */
+ {
+ TSYLOGENTRYEXIT;
+ TInt ret = KErrNotSupported;
+
+ __ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
+
+ TInt index = 0;
+ aDataPackage->UnPackData(index);
+
+ // Call Handle... method in Licensee LTSY
+ if (iLtsyDispatchPhonebookOnStoreRead)
+ {
+ ret = iLtsyDispatchPhonebookOnStoreRead->HandleStoreReadReqL(index);
+ }
+
+ return TSYLOGSETEXITERR(ret);
+ } // CPhonebookOnDispatcher::DispatchStoreReadL
+
+TInt CPhonebookOnDispatcher::DispatchStoreDeleteAllL()
+/**
+ * Pass request on to Licensee LTSY.
+ *
+ * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
+ * the Licensee LTSY does not support this request.
+ */
+ {
+ TSYLOGENTRYEXIT;
+ TInt ret = KErrNotSupported;
+
+ // Call Handle... method in Licensee LTSY
+ if (iLtsyDispatchPhonebookOnStoreDeleteAll)
+ {
+ ret = iLtsyDispatchPhonebookOnStoreDeleteAll->HandleStoreDeleteAllReqL();
+ }
+
+ return TSYLOGSETEXITERR(ret);
+ } // CPhonebookOnDispatcher::DispatchStoreDeleteAllL
+
+TInt CPhonebookOnDispatcher::DispatchStoreReadEntryL(const CMmDataPackage* aDataPackage)
+/**
+ * Unpack data related to EMmTsyONStoreReadEntryIPC
+ * and pass request on to Licensee LTSY.
+ *
+ * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
+ * the Licensee LTSY does not support this request.
+ */
+ {
+ TSYLOGENTRYEXIT;
+ TInt ret = KErrNotSupported;
+
+ __ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
+
+ TInt index = 0;
+ aDataPackage->UnPackData(index);
+
+ // Call Handle... method in Licensee LTSY
+ if (iLtsyDispatchPhonebookOnStoreReadEntry)
+ {
+ ret = iLtsyDispatchPhonebookOnStoreReadEntry->HandleStoreReadEntryReqL(index);
+ }
+
+ return TSYLOGSETEXITERR(ret);
+ } // CPhonebookOnDispatcher::DispatchStoreReadEntryL
+
+TInt CPhonebookOnDispatcher::DispatchStoreGetInfoL()
+/**
+ * Pass request on to Licensee LTSY.
+ *
+ * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
+ * the Licensee LTSY does not support this request.
+ *
+ */
+ {
+ TSYLOGENTRYEXIT;
+ TInt ret = KErrNotSupported;
+
+ // Call Handle... method in Licensee LTSY
+ if (iLtsyDispatchPhonebookOnStoreGetInfo)
+ {
+ ret = iLtsyDispatchPhonebookOnStoreGetInfo->HandleStoreGetInfoReqL();
+ }
+
+ return TSYLOGSETEXITERR(ret);
+ } // CPhonebookOnDispatcher::DispatchStoreGetInfoL
+
+TInt CPhonebookOnDispatcher::DispatchStoreGetReadStoreSizeL()
+/**
+ * Pass request on to Licensee LTSY to retrieve the number of entries that are stored in the storage.
+ *
+ * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
+ * the Licensee LTSY does not support this request.
+ */
+ {
+ TSYLOGENTRYEXIT;
+ TInt ret = KErrNotSupported;
+
+ // Call Handle... method in Licensee LTSY
+ if (iLtsyDispatchPhonebookOnStoreGetReadStoreSize)
+ {
+ ret = iLtsyDispatchPhonebookOnStoreGetReadStoreSize->HandleStoreGetReadStoreSizeReqL();
+ }
+
+ return TSYLOGSETEXITERR(ret);
+ } // CPhonebookOnDispatcher::DispatchStoreGetReadStoreSizeL
+
+TInt CPhonebookOnDispatcher::DispatchStoreDeleteEntryL(const CMmDataPackage* aDataPackage)
+/**
+ * Unpack data related to EMmTsyONStoreDeleteIPC
+ * and pass request on to Licensee LTSY.
+ *
+ * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
+ * the Licensee LTSY does not support this request.
+ */
+ {
+ TSYLOGENTRYEXIT;
+ TInt ret = KErrNotSupported;
+
+ __ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
+
+ TInt index = 0;
+ aDataPackage->UnPackData(index);
+
+ // Call Handle... method in Licensee LTSY
+ if (iLtsyDispatchPhonebookOnStoreDeleteEntry)
+ {
+ ret = iLtsyDispatchPhonebookOnStoreDeleteEntry->HandleStoreDeleteEntryReqL(index);
+ }
+
+ return TSYLOGSETEXITERR(ret);
+ } // CPhonebookOnDispatcher::DispatchStoreDeleteEntryL
+
+TInt CPhonebookOnDispatcher::DispatchStoreWriteEntryL(const CMmDataPackage* aDataPackage)
+/**
+ * Unpack data related to EMmTsyONStoreWriteEntryIPC
+ * and pass request on to Licensee LTSY.
+ *
+ * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
+ * the Licensee LTSY does not support this request.
+ */
+ {
+ TSYLOGENTRYEXIT;
+ TInt ret = KErrNotSupported;
+
+ __ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
+
+ RMobileONStore::TMobileONEntryV1* mobileOnEntry = NULL;
+ aDataPackage->UnPackData(&mobileOnEntry);
+
+ __ASSERT_DEBUG(mobileOnEntry, CtsyDispatcherPanic(EInvalidNullPtr));
+
+ // Call Handle... method in Licensee LTSY
+ if (iLtsyDispatchPhonebookOnStoreWriteEntry)
+ {
+ ret = iLtsyDispatchPhonebookOnStoreWriteEntry->HandleStoreWriteEntryReqL(*mobileOnEntry);
+ }
+
+ return TSYLOGSETEXITERR(ret);
+ } // CPhonebookOnDispatcher::DispatchStoreWriteEntryL
+
+TInt CPhonebookOnDispatcher::DispatchStoreWriteL(const CMmDataPackage* aDataPackage)
+/**
+ * Unpack data related to EMmTsyONStoreWriteIPC
+ * and pass request on to Licensee LTSY.
+ *
+ * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
+ * the Licensee LTSY does not support this request.
+ */
+ {
+ TSYLOGENTRYEXIT;
+ TInt ret = KErrNotSupported;
+
+ __ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
+
+ RMobileONStore::TMobileONEntryV1Pckg* data = NULL;
+ aDataPackage->UnPackData(data);
+ RMobileONStore::TMobileONEntryV1& mobileOnEntry = (*data)();
+
+ // Call Handle... method in Licensee LTSY
+ if (iLtsyDispatchPhonebookOnStoreWrite)
+ {
+ ret = iLtsyDispatchPhonebookOnStoreWrite->HandleStoreWriteReqL(mobileOnEntry);
+ }
+
+ return TSYLOGSETEXITERR(ret);
+ } // CPhonebookOnDispatcher::DispatchStoreWriteL
+
+TInt CPhonebookOnDispatcher::DispatchStoreGetStoreSizeL()
+/**
+ * Pass request on to Licensee LTSY to retrieve the number of entries that can be stored in the storage.
+ *
+ * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
+ * the Licensee LTSY does not support this request.
+ */
+ {
+ TSYLOGENTRYEXIT;
+ TInt ret = KErrNotSupported;
+
+ // Call Handle... method in Licensee LTSY
+ if (iLtsyDispatchPhonebookOnStoreGetStoreSize)
+ {
+ ret = iLtsyDispatchPhonebookOnStoreGetStoreSize->HandleStoreGetStoreSizeReqL();
+ }
+
+ return TSYLOGSETEXITERR(ret);
+ } // CPhonebookOnDispatcher::DispatchStoreGetStoreSizeL
+
+
+//
+// Callback handlers follow
+//
+
+void CPhonebookOnDispatcher::CallbackStoreRead(TInt aError, TInt aIndex, const TDesC& aName, const TDesC& aNumber)
+/**
+ * Callback function to be used by the request to complete
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreReadComp()
+ *
+ * @param aError KErrNone on success, or another error code indicating the error otherwise.
+ * @param aIndex The index of the entry.
+ * @param aName The name stored in the entry. The length of this should not be more than 20.
+ * @param aNumber The number stored in the ON entry. The length of this should not be more than 100.
+ *
+ * @see RMobileONStore::Read()
+ */
+ {
+ TSYLOGENTRYEXITARGS(_L8("aError=%d, aIndex=%d"), aError, aIndex);
+
+ // Pack the data to return to the Common TSY
+ TONStoreMsg onStoreMsg;
+
+ onStoreMsg.iLocation = aIndex;
+ onStoreMsg.iName.Copy(aName);
+ onStoreMsg.iTelNumber.Copy(aNumber);
+
+ TONStoreMsg* onStoreMsgPtr = &onStoreMsg;
+
+ CMmDataPackage dataPackage;
+ dataPackage.PackData(&onStoreMsgPtr);
+
+ iMessageManagerCallback.Complete(EMmTsyONStoreReadIPC, &dataPackage, aError);
+ } // CPhonebookOnDispatcher::CallbackStoreRead
+
+void CPhonebookOnDispatcher::CallbackStoreDeleteAll(TInt aError)
+/**
+ * Callback function to be used by the request to complete
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreDeleteAllComp()
+ *
+ * @param aError The error code to be returned to the CTSY Dispatcher.
+ *
+ * @see RMobileONStore::DeleteAll()
+ */
+ {
+ TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
+
+ iMessageManagerCallback.Complete(EMmTsyONStoreDeleteAllIPC, aError);
+
+ } // CPhonebookOnDispatcher::CallbackStoreDeleteAll
+
+void CPhonebookOnDispatcher::CallbackStoreReadEntry(TInt aError, TInt aIndex, const TDesC& aName, const TDesC& aNumber)
+/**
+ * Callback function to be used by the request to complete
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreReadEntryComp()
+ *
+ * @param aError KErrNone on success, or another error code indicating the error otherwise.
+ * @param aIndex The index of the entry.
+ * @param aName The name stored in the entry. The length of this should not be more than 20.
+ * @param aNumber The number stored in the ON entry. The length of this should not be more than 100.
+ *
+ * @see RMobileONStore::Read()
+ */
+ {
+ TSYLOGENTRYEXITARGS(_L8("aError=%d, aIndex=%d"), aError, aIndex);
+
+ TONStoreMsg onStoreMsg;
+
+ // Pack the data to return to the Common TSY
+ onStoreMsg.iLocation = aIndex;
+ onStoreMsg.iName.Copy(aName);
+ onStoreMsg.iTelNumber.Copy(aNumber);
+
+ CMmDataPackage dataPackage;
+ dataPackage.PackData(&onStoreMsg);
+
+ iMessageManagerCallback.Complete(EMmTsyONStoreReadEntryIPC, &dataPackage, aError);
+
+ } // CPhonebookOnDispatcher::CallbackStoreReadEntry
+
+void CPhonebookOnDispatcher::CallbackStoreGetInfo(
+ TInt aError, TInt aNumOfEntries, TInt aUsedEntries, TInt aMaxNameLength, TInt aMaxNumberLength)
+/**
+ * Callback function to be used by the request to complete
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreGetInfoComp()
+ *
+ * @param aError KErrNone on success, or another error code indicating the error otherwise.
+ * @param aNumOfEntries The number of entries.
+ * @param aUsedEntries The number of used entries.
+ * @param aMaxNameLength The length of a name.
+ * @param aMaxNumberLength The length of a number.
+ *
+ * @see RMobileONStore::GetInfo()
+ */
+ {
+ TSYLOGENTRYEXITARGS(_L8("aError=%d, aNumOfEntries=%d, aUsedEntries=%d, aMaxNameLength=%d, aMaxNumberLength=%d"), aError, aNumOfEntries, aUsedEntries, aMaxNameLength, aMaxNumberLength);
+
+ // Pack the data to return to the Common TSY
+ TServiceType serviceType;
+ serviceType.iNumOfEntries = aNumOfEntries;
+ serviceType.iUsedEntries = aUsedEntries;
+ serviceType.iNameLen = aMaxNameLength;
+ serviceType.iNumLen = aMaxNumberLength;
+
+ CMmDataPackage dataPackage;
+ dataPackage.PackData(&serviceType);
+
+ iMessageManagerCallback.Complete(EMmTsyONStoreGetInfoIPC, &dataPackage, aError);
+
+ } // CPhonebookOnDispatcher::CallbackStoreGetInfo
+
+void CPhonebookOnDispatcher::CallbackStoreGetReadStoreSize(TInt aError, TInt aSize)
+/**
+ * Callback function to be used by the request to complete
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreGetReadStoreSizeComp()
+ *
+ * @param aError The error code to be returned to the CTSY Dispatcher.
+ * @param aSize The number of entries stored in the storage.
+ *
+ * @see CRetrieveMobilePhoneONList::Start()
+ */
+ {
+ TSYLOGENTRYEXITARGS(_L8("aError=%d, aSize=%d"), aError, aSize);
+
+ // Pack the data to return to the Common TSY
+ CMmDataPackage dataPackage;
+ dataPackage.PackData(&aSize);
+
+ iMessageManagerCallback.Complete(EMmTsyONStoreReadSizeIPC, &dataPackage, aError);
+
+ } // CPhonebookOnDispatcher::CallbackStoreGetReadStoreSize
+
+void CPhonebookOnDispatcher::CallbackStoreDeleteEntry(TInt aError)
+/**
+ * Callback function to be used by the request to complete
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreDeleteEntryComp()
+ *
+ * @param aError The error code to be returned to the CTSY Dispatcher.
+ *
+ * @see RMobileONStore::Delete()
+ */
+ {
+ TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
+
+ iMessageManagerCallback.Complete(EMmTsyONStoreDeleteIPC, aError);
+
+ } // CPhonebookOnDispatcher::CallbackStoreDeleteEntry
+
+void CPhonebookOnDispatcher::CallbackStoreWriteEntry(TInt aError)
+/**
+ * Callback function to be used by the request to complete
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreWriteEntryComp()
+ *
+ * @param aError The error code to be returned to the CTSY Dispatcher.
+ *
+ * @see RMobileONStore::StoreAllL()
+ */
+ {
+ TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
+
+ iMessageManagerCallback.Complete(EMmTsyONStoreWriteEntryIPC, aError);
+
+ } // CPhonebookOnDispatcher::CallbackStoreWriteEntry
+
+void CPhonebookOnDispatcher::CallbackStoreWrite(TInt aError, TInt aLocation)
+/**
+ * Callback function to be used by the request to complete
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreWriteComp()
+ *
+ * @param aError The error code to be returned to the CTSY Dispatcher.
+ * @param aLocation The location where the ON entry was stored.
+ *
+ * @see RMobileONStore::Write()
+ */
+ {
+ TSYLOGENTRYEXITARGS(_L8("aError=%d, aLocation=%d"), aError, aLocation);
+
+ // Pack the data to return to the Common TSY
+ CMmDataPackage dataPackage;
+ dataPackage.PackData(&aLocation);
+
+ iMessageManagerCallback.Complete(EMmTsyONStoreWriteIPC, &dataPackage, aError);
+
+ } // CPhonebookOnDispatcher::CallbackStoreWrite
+
+void CPhonebookOnDispatcher::CallbackStoreGetStoreSize(TInt aError, TInt aSize)
+/**
+ * Callback function to be used by the request to complete
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreGetStoreSizeComp()
+ *
+ * @param aError The error code to be returned to the CTSY Dispatcher.
+ * @param aSize The number of entries that can be stored in the storage.
+ *
+ * @see RMobileONStore::StoreAllL()
+ */
+ {
+ TSYLOGENTRYEXITARGS(_L8("aError=%d, aSize=%d"), aError, aSize);
+
+ CMmDataPackage dataPackage;
+ dataPackage.PackData(&aSize);
+
+ iMessageManagerCallback.Complete(EMmTsyONStoreWriteSizeIPC, &dataPackage, aError);
+
+ } // CPhonebookOnDispatcher::CallbackStoreGetStoreSize
+
+void CPhonebookOnDispatcher::CallbackSync(CRequestQueueOneShot::TIpcDataPackage& aIpcDataPackage)
+/**
+ * Part of the MDispatcherCallback interface. Used to complete requests handled
+ * synchronously by the Licensee LTSY asynchronously back to the Common TSY.
+ *
+ * @param aIpcDataPackage Package encapsulating the request.
+ *
+ * @see MDispatcherCallback::CallbackSync
+ */
+ {
+ TSYLOGENTRYEXIT;
+
+ switch (aIpcDataPackage.iIpc)
+ {
+
+ default:
+ LOG(_L8("WARNING: CPhonebookOnDispatcher::CallbackSync unhandled IPC=%d"), aIpcDataPackage.iIpc);
+ __ASSERT_DEBUG(NULL, CtsyDispatcherPanic(EUnhandledCtsyIpc));
+ break;
+ } // switch (aIpcDataPackage.iIpc)
+
+ } // CPhonebookOnDispatcher::CallbackSync
+
+
+