--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/ctsydispatchlayer/exportinc/mltsydispatchphonebookinterface.h Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,595 @@
+// 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:
+// This file contains all the interfaces classes that can be implemented by
+// the Licensee LTSY relating to Phonebook related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHPHONEBOOKINTERFACE_H_
+#define MLTSYDISPATCHPHONEBOOKINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <etelmm.h>
+
+#include <ctsy/serviceapi/cmmsmsutility.h>
+
+namespace DispatcherPhonebook
+ {
+
+ /**
+ * This namespace contains all types relating to the phonebook dispatcher.
+ */
+
+ /**
+ * Enum containing all the supported phonebook types
+ */
+ enum TPhonebook
+ {
+ EIccAdn = 0, //Abbriviated Dailling Numbers
+ EIccBdn, //Barred Dailling Numbers
+ EIccSdn, //Service Dialling numbers
+ EIccFdn, //Fixed Dialling numbers
+ EIccVmb, //Voice Mail Box
+ EIccMbdn, //Mailbox dialling numbers
+ EUnknown
+ };
+
+ class TPhonebookStoreInfoV1
+ {
+
+ /**
+ * This structure contains the details required by the CTSY about the various
+ * phonebook stores, it is used in the initialisation procedure.
+ *
+ * Total Entries - The total number of entries the store can contain.
+ * Maximum Text Length - The maximum length of a text field in the store.
+ * Maximum Number Length - The maximum length of a number in the store.
+ * Capabilities - The Bit field of the stores capabilities (RMobilePhoneStore::TMobilePhoneStoreCaps).
+ * Maximum Fields Per Entry - The maximum number of fields in a given entry.
+ */
+
+ public:
+
+ TPhonebookStoreInfoV1() :
+ iAdnTotalEntries(-1),
+ iAdnMaximumTextLength(-1),
+ iAdnMaximumNumberLength(-1),
+ iFdnTotalEntries(-1),
+ iFdnMaximumTextLength(-1),
+ iFdnMaximumNumberLength(-1),
+ iSdnTotalEntries(-1),
+ iSdnMaximumTextLength(-1),
+ iSdnMaximumNumberLength(-1),
+ iVmbTotalEntries(-1),
+ iVmbMaximumTextLength(-1),
+ iVmbMaximumNumberLength(-1),
+ iVmbCapabilities(0),
+ iMbdnTotalEntries(-1),
+ iMbdnMaximumTextLength(-1),
+ iMbdnMaximumNumberLength(-1),
+ iMbdnCapabilities(0),
+ iSecondNameMaximumFieldsPerEntry(-1),
+ iSecondNameMaximumLength(-1),
+ iEmailMaximumFieldsPerEntry(-1),
+ iEmailMaximumLength(-1),
+ iAdditionalNumberMaximumFieldsPerEntry(-1),
+ iAdditionalNumberMaximumLength(-1)
+ {
+ }
+
+ //Abbriviated Dailling Numbers
+ TInt iAdnTotalEntries;
+ TInt iAdnMaximumTextLength;
+ TInt iAdnMaximumNumberLength;
+
+ //Fixed Dialling numbers
+ TInt iFdnTotalEntries;
+ TInt iFdnMaximumTextLength;
+ TInt iFdnMaximumNumberLength;
+
+ //Service Dialling numbers
+ TInt iSdnTotalEntries;
+ TInt iSdnMaximumTextLength;
+ TInt iSdnMaximumNumberLength;
+
+ //Voice Mail Box
+ TInt iVmbTotalEntries;
+ TInt iVmbMaximumTextLength;
+ TInt iVmbMaximumNumberLength;
+ TInt iVmbCapabilities;
+
+ //Mailbox dialling numbers
+ TInt iMbdnTotalEntries;
+ TInt iMbdnMaximumTextLength;
+ TInt iMbdnMaximumNumberLength;
+ TInt iMbdnCapabilities;
+
+ //3G Information - Second Names
+ TInt iSecondNameMaximumFieldsPerEntry;
+ TInt iSecondNameMaximumLength;
+
+ //3G Information - Email Address
+ TInt iEmailMaximumFieldsPerEntry;
+ TInt iEmailMaximumLength;
+
+ //3G Information - Additional Number
+ TInt iAdditionalNumberMaximumFieldsPerEntry;
+ TInt iAdditionalNumberMaximumLength;
+ };
+
+
+ struct TSmsData
+ {
+ public:
+ TBuf8<231> iSmsMsg;
+ TBuf<KMaxAddressBufferSize> iServiceCentre;
+ RMobilePhone::TMobileTON iMobileScTON;
+ RMobilePhone::TMobileNPI iMobileScNPI;
+ TInt8 iMessageStatus;
+ };
+
+ }
+
+
+class MLtsyDispatchPhonebookStoreReadEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreReadEntryApiId = KDispatchPhonebookFuncUnitId + 1;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreReadIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreReadEntryComp()
+ *
+ * Implementation of this interface should request to read a number of entries from a given phonebook.
+ * The entries are returned in the callback.
+ *
+ *
+ * @param aPhonebook The phonebook to read entries from.
+ * @param aIndex Specifies the index to start reading from, must be >= 1.
+ * @param aNumSlots Specifies the number of slots to read, must be >= 1 and <= total number of slots.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhoneBookStore::Read()
+ */
+ virtual TInt HandleStoreReadEntryReqL(DispatcherPhonebook::TPhonebook aPhonebook, TInt aIndex, TInt aNumberOfSlots) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreReadEntry
+
+
+
+class MLtsyDispatchPhonebookStoreDeleteEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreDeleteEntryApiId = KDispatchPhonebookFuncUnitId + 2;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreDeleteIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreDeleteEntryComp()
+ *
+ * Implementation of this interface should request to delete an entry from a given phonebook, the
+ * callback indicates when the operation has been completed.
+ *
+ *
+ * @param aPhonebook The phonebook to delete an entry from.
+ * @param aIndex The entry index in the phonebook to delete.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhoneBookStore::Delete()
+ *
+ */
+ virtual TInt HandleStoreDeleteEntryReqL(DispatcherPhonebook::TPhonebook aPhonebook, TInt aIndex) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreDeleteEntry
+
+
+
+class MLtsyDispatchPhonebookStoreCache : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreCacheApiId = KDispatchPhonebookFuncUnitId + 3;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreCacheIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreCacheComp()
+ *
+ * Implementation of this interface should request to cache a given phonebook, the entire
+ * phonebook entries are returned in the callback.
+ *
+ *
+ * @param aPhonebook The phonebook to cache.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreCacheReqL(DispatcherPhonebook::TPhonebook aPhonebook) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreCache
+
+
+
+class MLtsyDispatchPhonebookStoreCacheCancel : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreCacheCancelApiId = KDispatchPhonebookFuncUnitId + 4;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreCacheCancelIPC
+ * request from the CTSY.
+ *
+ * It is a request call that has no complete call.
+ *
+ *
+ * Implementation of this interface should request to cancel an outstanding cache of a given phonebook.
+ *
+ * @param aPhonebook The phonebook to cancel the pending cache.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreCacheCancelReqL(DispatcherPhonebook::TPhonebook aPhonebook) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreCacheCancel
+
+
+
+class MLtsyDispatchPhonebookStoreGetPhonebookInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreGetPhonebookInfoApiId = KDispatchPhonebookFuncUnitId + 5;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreGetInfoIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreGetPhonebookInfoComp()
+ *
+ * Implementation of this interface should request to get the information of a given phonebook. The
+ * callback should be completed with the information.
+ *
+ * This call to the LTSY is only used when the CTSY requires the information about the number of used entries
+ * in a phonebook, thus calls to RMobilePhoneBookStore::GetInfo() on cached phonebooks can be completed immediately
+ * as the CTSY will already hold this information.
+ *
+ *
+ * @param aPhonebook The phonebook to retrieve the information from.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhoneBookStore::GetInfo()
+ *
+ */
+ virtual TInt HandleStoreGetPhonebookInfoReqL(DispatcherPhonebook::TPhonebook aPhonebook) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreGetPhonebookInfo
+
+
+
+class MLtsyDispatchPhonebookStoreInitialise : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreInitialiseApiId = KDispatchPhonebookFuncUnitId + 6;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreInitIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreInitialiseComp()
+ *
+ * Implementation of this interface should request to initialise the phonebook store, the callback should
+ * be completed when store initialisation is completed.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreInitialiseReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreInitialise
+
+
+
+class MLtsyDispatchPhonebookStoreDeleteAll : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreDeleteAllApiId = KDispatchPhonebookFuncUnitId + 7;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreDeleteAllIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreDeleteAllComp()
+ *
+ * Implementation of this interface should request to delete all entries from a given phonebook, the
+ * callback indicates when the operation is completed.
+ *
+ *
+ * @param aPhonebook The phonebook to delete all entries from.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhoneBookStore::DeleteAll()
+ *
+ */
+ virtual TInt HandleStoreDeleteAllReqL(DispatcherPhonebook::TPhonebook aPhonebook) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreDeleteAll
+
+
+
+class MLtsyDispatchPhonebookStoreWriteEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreWriteEntryApiId = KDispatchPhonebookFuncUnitId + 8;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreWriteIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreWriteEntryComp()
+ *
+ * Implementation of this interface should request to write an entry to a given phonebook.
+ * The callback indicates when the operation is complete.
+ *
+ *
+ * @param aPhonebook The phonebook to be written to.
+ * @param aEntry The entry to be written, this is coded as a TLV, this can be decoded either
+ * directly via a CPhoneBookBuffer() or via the CPhoneBookEntry::InternalizeFromTlvEntry() utility.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhoneBookStore::Write()
+ * @see CPhoneBookBuffer()
+ * @see CPhoneBookEntry::InternalizeFromTlvEntry()
+ *
+ */
+ virtual TInt HandleStoreWriteEntryReqL(DispatcherPhonebook::TPhonebook aPhonebook, const TDesC8& aEntry) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreWriteEntry
+
+
+
+class MLtsyDispatchPhonebookGetPhoneStoreInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookGetPhoneStoreInfoApiId = KDispatchPhonebookFuncUnitId + 9;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetPhoneStoreInfo
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookGetPhoneStoreInfoComp()
+ *
+ * Implementation of this interface should request to get the information of a given store. The
+ * callback should be completed with the information.
+ *
+ *
+ * @param aStoreName The name of the store to retrieve the information from (e.g. KETelIccFdnPhoneBook).
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhone::GetPhoneStoreInfo()
+ */
+ virtual TInt HandleGetPhoneStoreInfoReqL(const TDesC& aStoreName) = 0;
+
+ }; // class MLtsyDispatchPhonebookGetPhoneStoreInfo
+
+
+
+class MLtsyDispatchPhonebookSmsStoreReadAll : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookSmsStoreReadAllApiId = KDispatchPhonebookFuncUnitId + 10;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStoreReadAllPhase1
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookSmsStoreReadAllComp()
+ *
+ * Implementation of this interface should handle phase 1 of reading all entries in the SMS storage.
+ *
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsStoreReadAllReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookSmsStoreReadAll
+
+
+
+class MLtsyDispatchPhonebookSmsStoreDeleteEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookSmsStoreDeleteEntryApiId = KDispatchPhonebookFuncUnitId + 11;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStoreDelete
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookSmsStoreDeleteEntryComp()
+ *
+ * Implementation of this interface should handle deletion of an entry in the SMS storage.
+ *
+ * @param aIndex index of the entry to be deleted.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsStoreDeleteEntryReqL(TInt aIndex) = 0;
+
+ }; // class MLtsyDispatchPhonebookSmsStoreDeleteEntry
+
+
+
+class MLtsyDispatchPhonebookSmsStoreDeleteAll : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookSmsStoreDeleteAllApiId = KDispatchPhonebookFuncUnitId + 12;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStoreDeleteAll
+ * request from the CTSY.
+ *
+ * Implementation of this interface should handle deletion of all entries in the SMS storage.
+ *
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookSmsStoreDeleteAllComp()
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsStoreDeleteAllReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookSmsStoreDeleteAll
+
+
+
+class MLtsyDispatchPhonebookSmsStoreGetInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookSmsStoreGetInfoApiId = KDispatchPhonebookFuncUnitId + 13;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStoreGetInfo
+ * request from the CTSY.
+ *
+ * Implementation of this interface should handle retrieval information of the SMS storage.
+ *
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookSmsStoreGetInfoComp()
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsStoreGetInfoReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookSmsStoreGetInfo
+
+
+
+class MLtsyDispatchPhonebookSmsStoreReadEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookSmsStoreReadEntryApiId = KDispatchPhonebookFuncUnitId + 14;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStoreRead
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookSmsStoreReadEntryComp()
+ *
+ * Implementation of this interface should handle reading of an entry in the SMS storage.
+ *
+ * @param aIndex the index of the entry to read from.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsStoreReadEntryReqL(TInt aIndex) = 0;
+
+ }; // class MLtsyDispatchPhonebookSmsStoreReadEntry
+
+
+
+class MLtsyDispatchPhonebookSmsStoreWriteEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookSmsStoreWriteEntryApiId = KDispatchPhonebookFuncUnitId + 15;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStoreWrite
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookSmsStoreWriteEntryComp()
+ *
+ * Implementation of this interface should handle the storing of a Gsm Sms entry.
+ *
+ * Defines contents of a fixed-size, stored GSM SMS entry.
+ *
+ * @param aMobileGsmEntry Defines contents of a fixed-size GSM SMS entry to be stored.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsStoreWriteEntryReqL(const RMobileSmsStore::TMobileGsmSmsEntryV1& aMobileGsmEntry) = 0;
+
+ }; // class MLtsyDispatchPhonebookSmsStoreWriteEntry
+
+
+#endif /*MLTSYDISPATCHPHONEBOOKINTERFACE_H_*/