class RMobilePhoneStore : public RTelSubSessionBase |
Abstract class used to define common phone storage actions and types
Clients open one of the specialised phone store classes that are derived from RMobilePhoneStore
Public Member Functions | |
---|---|
IMPORT_C void | Delete(TRequestStatus &, TInt) |
IMPORT_C void | DeleteAll(TRequestStatus &) |
IMPORT_C void | GetInfo(TRequestStatus &, TDes8 &) |
IMPORT_C void | NotifyStoreEvent(TRequestStatus &, TUint32 &, TInt &) |
IMPORT_C void | Read(TRequestStatus &, TDes8 &) |
IMPORT_C void | Write(TRequestStatus &, TDes8 &) |
Protected Member Functions | |
---|---|
RMobilePhoneStore() | |
IMPORT_C void | BaseConstruct(CMobilePhoneStorePtrHolder *) |
IMPORT_C void | Destruct() |
Public Member Enumerations | |
---|---|
enum | TMobilePhoneStoreCaps { KCapsWholeStore = 0x80000000, KCapsIndividualEntry = 0x40000000, KCapsReadAccess = 0x20000000, KCapsWriteAccess = 0x10000000, KCapsDeleteAll = 0x08000000, KCapsNotifyEvent = 0x04000000 } |
enum | TMobilePhoneStoreInfoExtId { KETelMobilePhoneStoreV1 = KETelExtMultimodeV1, KETelMobilePhonebookStoreV1, KETelMobileSmsStoreV1, KETelMobileNamStoreV1, KETelMobileONStoreV1, KETelMobileENStoreV1, KETelMobilePhonebookStoreV2 = KETelExtMultimodeV2, KETelMobilePhonebookStoreV5 = KEtelExtMultimodeV5 } |
enum | TMobilePhoneStoreType { EPhoneStoreTypeUnknown, EShortMessageStore, ENamStore, EPhoneBookStore, EEmergencyNumberStore, EOwnNumberStore } |
enum | TMobileStoreEvent { KStoreFull = 0x00000001, KStoreHasSpace = 0x00000002, KStoreEmpty = 0x00000004, KStoreEntryAdded = 0x00000008, KStoreEntryDeleted = 0x00000010, KStoreEntryChanged = 0x00000020, KStoreDoRefresh = 0x00000040 } |
Inherited Enumerations | |
---|---|
RTelSubSessionBase:TReqPriorityType |
Public Member Type Definitions | |
---|---|
typedef | TPckg< TMobilePhoneStoreInfoV1 > TMobilePhoneStoreInfoV1Pckg |
Protected Attributes | |
---|---|
CMobilePhoneStorePtrHolder * | iStorePtrHolder |
Inherited Attributes | |
---|---|
RTelSubSessionBase::iPtrHolder |
IMPORT_C void | BaseConstruct | ( | CMobilePhoneStorePtrHolder * | aPtrHolder | ) | [protected] |
CMobilePhoneStorePtrHolder * aPtrHolder |
IMPORT_C void | Delete | ( | TRequestStatus & | aReqStatus, |
TInt | aIndex | |||
) | const |
This member function deletes the entry in the slot.
Use RTelSubSessionBase::CancelAsyncRequest(EMobilePhoneStoreDelete) to cancel a previously placed asynchronous Delete() request.
TRequestStatus & aReqStatus | On return, KErrNone if successful, KErrNotFound if the slot is empty |
TInt aIndex | The slot entry to delete. |
IMPORT_C void | DeleteAll | ( | TRequestStatus & | aReqStatus | ) | const |
This member function deletes all the entries in the store.
Use RTelSubSessionBase::CancelAsyncRequest(EMobilePhoneStoreDeleteAll) to cancel a previously placed asynchronous DeleteAll() request.
TRequestStatus & aReqStatus | On return, KErrNone if successful, KErrNotFound if the store is empty |
IMPORT_C void | GetInfo | ( | TRequestStatus & | aReqStatus, |
TDes8 & | aInfo | |||
) | const |
This member function gets information about the selected store.
This information includes the store's name, the type of thing it stores, the total number of storage slots and the number of used slots. It does not give information about which slots are filled and which are empty.
Defined in RMobilePhoneBookStore::TMobilePhoneStoreInfoV1::iExtensionId is the type of class that is being used. See TMobilePhoneStoreInfoExtId for the different possible types.
Use RTelSubSessionBase::CancelAsyncRequest(EMobilePhoneStoreGetInfo) to cancel a previously placed asynchronous GetInfo() request.
TRequestStatus & aReqStatus | On return, KErrNone if successful. |
TDes8 & aInfo | On completion, a from RMobilePhoneBookStore::TMobilePhoneBookInfoV1 derived packaged class. |
IMPORT_C void | NotifyStoreEvent | ( | TRequestStatus & | aReqStatus, |
TUint32 & | aEvent, | |||
TInt & | aIndex | |||
) | const |
This member functions allows a client to be notified when one or more of the events occurs to the store.
These events allow a client to know the overall status of a store (full, empty etc.) and also when a slot within a store changes. A slot could change because another client or the phone has created, updated or deleted an entry.
Use RTelSubSessionBase::CancelAsyncRequest(EMobilePhoneStoreNotifyStoreEvent) to cancel a previously placed asynchronous NotifyStoreEvent() request.
TRequestStatus & aReqStatus | On return, KErrNone if successful |
TUint32 & aEvent | On completion, the TMobileStoreEvent. |
TInt & aIndex | On completion, the index of the changed slot. If multiple entries have been added or deleted then it will not be possible to return the indices of these entries, so the TSY could trigger the KStoreDoRefresh event. |
IMPORT_C void | Read | ( | TRequestStatus & | aReqStatus, |
TDes8 & | aEntry | |||
) | const |
This overloaded member function reads the entry in the slot specified.
This member function is implemented using a TDes8 descriptor for aEntry so that any kind of store entry can be read from any kind of store using this common member function. For example, a client will have opened one of the specialised store sub-sessions, e.g. RMobileONStore. The client will read a store entry by packaging the specialised store's entry definition into its associated packaged version. In the own number store example, the client will have a RMobileONStore::TMobileONEntryV1 which it will put into a RMobileONStore::TMobileONEntryV1Pckg. The packaged version will be passed to the Read() request.
This function has a specialised version in the RMobilePhoneBookStore
Use RTelSubSessionBase::CancelAsyncRequest(EMobilePhoneStoreRead) to cancel a previously placed asynchronous Read() request.
TRequestStatus & aReqStatus | On return, KErrNone if successful, KErrNotFound if the slot specified by iIndex is empty. |
TDes8 & aEntry | The iIndex field specifies what entry to read. On completion, the entry data will be filled in. |
IMPORT_C void | Write | ( | TRequestStatus & | aReqStatus, |
TDes8 & | aEntry | |||
) | const |
This overloaded member function writes the entry into the store.
This member function is implemented using a TDes8 descriptor for aEntry so that any kind of store entry can be read from any kind of store using this common member function. For example, a client will have opened one of the specialised store sub-sessions, eg. RMobileONStore. The client will read a store entry by packaging the specialised store's entry definition into its associated packaged version. In the own number store example, the client will have a RMobileONStore::TMobileONEntryV1 which it will put into a RMobileONStore::TMobileONEntryV1Pckg. The packaged version will be passed to the Write() request.
This function has a specialised version in the RMobilePhoneBookStore
Use RTelSubSessionBase::CancelAsyncRequest(EMobilePhoneStoreWrite) to cancel a previously placed asynchronous Write() request.
TRequestStatus & aReqStatus | On return, KErrNone if successful. |
TDes8 & aEntry | The packaged entry to write in the store. If aEntry.index==-1 the TSY will store the entry in the first free location and then return this location within aEntry.iIndex when it completes the request |
Store capabilities.
KCapsWholeStore = 0x80000000 |
The store can be accessed as a whole using the ReadAll() and StoreAll() member functions. |
KCapsIndividualEntry = 0x40000000 |
The store can be accessed one entry at a time using the RMobilePhoneStore::Read(), RMobilePhoneStore::Write() and RMobilePhoneStore::Delete() member functions. |
KCapsReadAccess = 0x20000000 |
The store can be accessed in order to read entries. |
KCapsWriteAccess = 0x10000000 |
The store can be accessed in order to write or delete entries. |
KCapsDeleteAll = 0x08000000 |
The TSY supports deleting all the store entries at once. |
KCapsNotifyEvent = 0x04000000 |
The TSY supports notification of store events such as entries added, deleted or store becoming full. |
The type of store information. As defined in TMobilePhoneStoreInfoV1::iExtensionId
Modes: Common
KETelMobilePhoneStoreV1 = KETelExtMultimodeV1 |
The iExtensionId contents indicate that the packaged class is a RMobilePhoneStore::TMobilePhoneStoreInfoV1. Modes: Common |
KETelMobilePhonebookStoreV1 |
The iExtensionId contents indicate that the packaged class is a RMobilePhoneBookStore::TMobilePhoneBookInfoV1. Modes: Common |
KETelMobileSmsStoreV1 |
Reserved for SMS store specific information class. Modes: Common |
KETelMobileNamStoreV1 |
The iExtensionId contents indicate that the packaged class is a RMobileNamStore::TMobileNamStoreInfoV1. Modes: CDMA 9.5 |
KETelMobileONStoreV1 |
The iExtensionId contents indicate that the packaged class is a RMobileONStore::TMobileONStoreInfoV1. Modes: Common |
KETelMobileENStoreV1 |
Reserved for Emergency Number store specific infoprmation class. Modes: Common |
KETelMobilePhonebookStoreV2 = KETelExtMultimodeV2 |
The iExtensionId contents indicate that the packaged class is a TMobilePhoneBookInfoV2. Modes: Common |
KETelMobilePhonebookStoreV5 = KEtelExtMultimodeV5 |
The iExtensionId contents indicate that the packaged class is a TMobilePhoneBookInfoV2. Modes: Common |
Types of store.
Modes: Common
EPhoneStoreTypeUnknown |
Store type is unknown. Modes: Common |
EShortMessageStore |
Store contains SMS messages. Modes: Common |
ENamStore |
Store contains NAM entries. Modes: CDMA 9.5 |
EPhoneBookStore |
Store contains PhoneBook entries. Modes: Common |
EEmergencyNumberStore |
Store contains emergency number entries. Modes: Common |
EOwnNumberStore |
Store contains own number entries. Modes: Common |
The store events. It is possible for more than one event to occur at the same time, therefore the events are a bitmask and should be tested as a bitmask.
Modes: Common
KStoreFull = 0x00000001 |
The store has become full. This event will trigger after the last possible entry in a store has been written. |
KStoreHasSpace = 0x00000002 |
The store was full but now has some space. This event will trigger after one or more entries have been deleted from a full store. |
KStoreEmpty = 0x00000004 |
The store is empty. This event will trigger after the last entry in a store has been deleted or if all entries are deleted at once. |
KStoreEntryAdded = 0x00000008 |
The store has a new entry, placed in the slot indicated by the aIndex parameter. |
KStoreEntryDeleted = 0x00000010 |
The store has deleted the entry that was in the slot indicated by the aIndex parameter. |
KStoreEntryChanged = 0x00000020 |
The store has changed the entry that was in the slot indicated by the aIndex parameter. |
KStoreDoRefresh = 0x00000040 |
The store contents have substantially changed and the TSY is recommending that the client performs a refresh by reading all the contents again. |
typedef TPckg< TMobilePhoneStoreInfoV1 > | TMobilePhoneStoreInfoV1Pckg |
A typedef'd packaged TMobilePhoneStoreInfoV1 for passing through a generic API member function.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.