CVPbkContactManager Class Reference
class CVPbkContactManager : public CBase |
Virtual Phonebook Contact Manager. Contact Manager is the root access point to Virtual Phonebook engine functionality. The client can specify the list of stores in the constructor he/she is interested in or load additional plug-ins later on. In addition to loading the implementing plug-ins the client must open the stores. Clients should share the contact manager instance within their context, otherwise e.g. field types from two different instances will not produce the matches as the matching is based on pointer comparison.
Examples of absolute URI stores: Default contact database: "cntdb://contacts.cdb" LDAP store: "ldap://www.telnumbers.com/" The URI scheme name is used to resolve a store capable of supporting this type of store. The actual store implementations are ECom plugins.
VPbkEng.lib
Nested Classes and Structures
Public Member Functions |
---|
| ~CVPbkContactManager() |
IMPORT_C MVPbkContactOperationBase * | CommitContactsL(const TArray< MVPbkStoreContact * > &, MVPbkBatchOperationObserver &) |
IMPORT_C MVPbkContactOperationBase * | CompressStoresL(MVPbkBatchOperationObserver &) |
IMPORT_C MVPbkContactAttributeManager & | ContactAttributeManagerL() |
IMPORT_C MVPbkContactStoreList & | ContactStoresL() |
IMPORT_C MVPbkContactOperationBase * | CopyContactsL(const MVPbkContactLinkArray &, MVPbkContactStore *, MVPbkBatchOperationObserver &) |
IMPORT_C MVPbkContactViewBase * | CreateContactViewLC(MVPbkContactViewObserver &, const CVPbkContactViewDefinition &, const MVPbkFieldTypeList &) |
IMPORT_C MVPbkContactLinkArray * | CreateLinksLC(const TDesC8 &) |
IMPORT_C MVPbkContactLinkArray * | CreateLinksLC(RReadStream &) |
IMPORT_C MVPbkContactOperationBase * | DeleteContactsL(const MVPbkContactLinkArray &, MVPbkBatchOperationObserver &) |
IMPORT_C const MVPbkFieldTypeList & | FieldTypes() |
IMPORT_C MVPbkContactOperationBase * | FindL(const TDesC &, const MVPbkFieldTypeList &, MVPbkContactFindObserver &) |
IMPORT_C MVPbkContactOperationBase * | FindL(const MDesC16Array &, const MVPbkFieldTypeList &, MVPbkContactFindFromStoresObserver &, const TCallBack &) |
IMPORT_C MVPbkContactOperationBase * | FindL(const MDesC16Array &, const MVPbkFieldTypeList &, MVPbkContactFindFromStoresObserver &, const TCallBack &, const CDesC16ArrayFlat &) |
IMPORT_C RFs & | FsSession() |
IMPORT_C void | LoadContactStoreL(const TVPbkContactStoreUriPtr &) |
IMPORT_C MVPbkContactOperationBase * | MatchPhoneNumberL(const TDesC &, TInt, MVPbkContactFindObserver &) |
IMPORT_C CVPbkContactManager * | NewL(const CVPbkContactStoreUriArray &, RFs *) |
IMPORT_C CVPbkContactManager * | NewL(TSecurityInfo, const CVPbkContactStoreUriArray &, RFs *) |
IMPORT_C MVPbkContactOperationBase * | RetrieveContactL(const MVPbkContactLink &, MVPbkSingleContactOperationObserver &) |
Constructor & Destructor Documentation
CVPbkContactManager(TSecurityInfo, RFs *)
Member Functions Documentation
CommitContactsL(const TArray< MVPbkStoreContact * > &, MVPbkBatchOperationObserver &)
CompressStoresL(MVPbkBatchOperationObserver &)
Compresses all stores asynchronously. NOTE: Not all stores are able to implement compression to their repositories.
ConstructL(const CVPbkContactStoreUriArray &)
ContactAttributeManagerL()
Attribute manager is used for handling contact attributes like speed dialing or defaults.
ContactStoresL()
The contact store list is used to handle a set of stores. After creation of manager the client can use the list to open all stores.
CopyContactsL(const MVPbkContactLinkArray &, MVPbkContactStore *, MVPbkBatchOperationObserver &)
Copies all contacts in aContactLinks to aTargetStore asynchronously. If aTargetStore is NULL, contacts are copied to the store where they already are, ie. the contacts are duplicated.
CreateCompositeViewLC(MVPbkContactViewObserver &, const CVPbkContactViewDefinition &, const MVPbkFieldTypeList &)
CreateContactViewLC(MVPbkContactViewObserver &, const CVPbkContactViewDefinition &, const MVPbkFieldTypeList &)
Creates a new contact view specified by the view definition. The view can not be used before it has notified the observer that it is ready.
CVPbkSortOrder
Parameters
MVPbkContactViewObserver & aObserver | the observer for view events. |
const CVPbkContactViewDefinition & aViewDefinition | Definition of the view to create |
const MVPbkFieldTypeList & aSortOrder | a list of field types that defines fields that are used in sorting. View contacts have these fields. However, the store can have restrictions for types that can be used in the sort order. The sort order has no effect for shared views that have already been created. |
CreateLinksLC(const TDesC8 &)
Creates an array of links corresponding to a packaged link or links. Packed links have been obtained by packing a link or a link array and they can be used for example for IPC but not for saving links. Loads the store plug-ins that are capable of creating the appropriate links.
MVPbkContactLink::PackLC MVPbkContactLinkArray::PackLC
Parameters
const TDesC8 & aPackedLinks | packed links |
CreateLinksLC(RReadStream &)
Parameters
RReadStream & aStream | a stream that contains a link or links. |
CreateOptimizedCompositeViewLC(MVPbkContactViewObserver &, const CVPbkContactViewDefinition &, const MVPbkFieldTypeList &)
DeleteContactsL(const MVPbkContactLinkArray &, MVPbkBatchOperationObserver &)
Deletes contacts defined in link array asynchronously.
FieldTypes()
The contact manager owns a master list of field types that clients use. The store implementation then maps their native types to Virtual Phonebook types. Clients don't create field type objects themselves but use always references to types offered by this function.
FindL(const TDesC &, const MVPbkFieldTypeList &, MVPbkContactFindObserver &)
Searches the contact stores for a contact that contains the given string in one of the field defined by given field type list asynchronously. NOTE: In some cases the find matches also other fields than those specified in aFieldTypes. Always loop through the results to check match in the required fields.
Parameters
const TDesC & aSearchString | String to search for. |
const MVPbkFieldTypeList & aFieldTypes | List of field types that the search will include. a field type list: use CVPbkFieldTypeRefsList and append the types that are needed from the master field type list (FieldTypes()) to the reference list. Selection can be done in a dynamic way using CVPbkFieldTypeSelector or static way using resource ids of the field types. |
MVPbkContactFindObserver & aObserver | Observer for the find process. |
FindL(const MDesC16Array &, const MVPbkFieldTypeList &, MVPbkContactFindFromStoresObserver &, const TCallBack &)
Finds a string containing text that is stored in one or more fields asynchronously. Client can give multiple find words. All the words must match to separated data. E.g. if there are two find words: "Jo" and "Jo" then field data "John Johnson" matches but "John Doe" doesn't if the word parser uses white space as a word separator.
NOTE: The accuracy of the results depends on the implementation of the store to carry out the find operation. The performance can also vary depending on the store.
Parameters
const MDesC16Array & aSearchStrings | strings that are compared to field data. |
const MVPbkFieldTypeList & aFieldTypes | types of the fields that are used. Constructing a fieldtype list: use CVPbkFieldTypeRefsList and append the types that are needed from the master fieldtype list (FieldTypes()) to the reference list. Selection can be done in a dynamic way using CVPbkFieldTypeSelector or static way using resource ids of the fieldtypes. |
MVPbkContactFindFromStoresObserver & aObserver | an observer for asynchronous operation. |
const TCallBack & aWordParserCallBack | a client implementation of word parser function that separates the field data into words. Parameter to function is TVPbkWordParserParam. |
FindL(const MDesC16Array &, const MVPbkFieldTypeList &, MVPbkContactFindFromStoresObserver &, const TCallBack &, const CDesC16ArrayFlat &)
Finds a string containing text that is stored in one or more fields asynchronously. Client can give multiple find words. All the words must match to separated data. E.g. if there are two find words: "Jo" and "Jo" then field data "John Johnson" matches but "John Doe" doesn't if the word parser uses white space as a word separator.
NOTE: The accuracy of the results depends on the implementation of the store to carry out the find operation. The performance can also vary depending on the store.
Parameters
const MDesC16Array & aSearchStrings | strings that are compared to field data. |
const MVPbkFieldTypeList & aFieldTypes | types of the fields that are used. Constructing a fieldtype list: use CVPbkFieldTypeRefsList and append the types that are needed from the master fieldtype list (FieldTypes()) to the reference list. Selection can be done in a dynamic way using CVPbkFieldTypeSelector or static way using resource ids of the fieldtypes. |
MVPbkContactFindFromStoresObserver & aObserver | an observer for asynchronous operation. |
const TCallBack & aWordParserCallBack | a client implementation of word parser function that separates the field data into words. Parameter to function is TVPbkWordParserParam. |
const CDesC16ArrayFlat & aStoreEntriesArray | an array that lists the store entries |
FindStore(const TVPbkContactStoreUriPtr &)
FsSession()
IMPORT_C RFs & | FsSession | ( | ) | |
Returns the file server session of the contact manager.
LoadContactStoreL(const TVPbkContactStoreUriPtr &)
Loads a store plug-in for given URI and adds aURI to the list of stores handled by this manager. If there is no store plug-in for the aURI then nothing changes.
MatchPhoneNumberL(const TDesC &, TInt, MVPbkContactFindObserver &)
Searches the contact stores for a phone number using defined amount of digits from the end of the number asynchronously. The store implementations determine, which field types are included in the search.
Parameters
const TDesC & aPhoneNumber | Phone number to search for. |
TInt aMaxMatchDigits | Maximum number of digits to match from the end of the number. |
MVPbkContactFindObserver & aObserver | Observer for the find process. |
NewL(const CVPbkContactStoreUriArray &, RFs *)
Creates a contact manager instance and loads the plug-ins that can handle the stores corresponding to the aURIList.
Parameters
const CVPbkContactStoreUriArray & aURIList | Universal Resource Identifier list of the stores to be loaded initially. |
RFs * aFs = NULL | File system handle. NULL opens a new connection. |
NewL(TSecurityInfo, const CVPbkContactStoreUriArray &, RFs *)
Creates a contact manager instance and loads the plug-ins that can handle the stores corresponding to the aURIList.
Parameters
TSecurityInfo aSecurityInfo | Security info from caller to be passed for stores. Stores can check security info and deside if client can use service. |
const CVPbkContactStoreUriArray & aURIList | Universal Resource Identifier list of the stores to be loaded initially. |
RFs * aFs = NULL | File system handle. NULL opens a new connection. |
RetrieveContactL(const MVPbkContactLink &, MVPbkSingleContactOperationObserver &)
Retrieves asynchronously a contact that is individualized by a contact link. Delete the operation for canceling.
Member Data Documentation
MVPbkContactAttributeManager * iAttributeManager
CVPbkContactStoreDomainList * iContactStoreDomains
MVPbkFieldTypeList * iFieldTypes
TSecurityInfo
iSecurityInfo
CContactStoreLoader * iStoreLoader
CContactStoreLoader * | iStoreLoader | [private] |
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.