diff -r 000000000000 -r bde4ae8d615e os/persistentdata/loggingservices/eventlogger/logcntmodel/inc/logcntmodel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/persistentdata/loggingservices/eventlogger/logcntmodel/inc/logcntmodel.h Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,85 @@ +// Copyright (c) 2006-2010 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: +// + +#ifndef __LOGCNTMODEL_H__ +#define __LOGCNTMODEL_H__ + +#include +#include "logcntdef.h" +#include + +/** Provides an interface to decouple the internal static dependency of LogEng on +Contacts. + +Rather than statically linking against a specific contacts implementation dll +the log engine dynamically loads a plugin implementation of this class, to remove any need for +a direct dependency on a specific Contacts implementation. + +The interface is provided to allow logeng to retrieve a string which contains contacts information +for a given phone number. + +@internalAll */ +class MLogCntModel + { +public: + /** Opens the contacts DB. + @capability ReadUserData WriteUserData */ + virtual void OpenContactsL()=0; + + /** Closes the contacts DB. + @capability None */ + virtual void CloseContacts()=0; + + /** Attempts to find a contact item ID for the contact items which contains + the specified telephone number in a telephone, fax or SMS type field. + If more than one contact item contains the telephone number this should be + treated the same as no contact found. + + @capability ReadUserData + @param aNumber Phone number string + @param aMatchLengthFromRight Number of digits from the right of the phone number to use + @return DB Id of the DB entry corresponding to the phone number, KLogNullContactId if none or more than one found */ + virtual TLogContactItemId MatchPhoneNumberL(const TDesC& aNumber, TInt aMatchLengthFromRight)=0; + + /** Gets the text data for the family and given name fields of a given contact Id. + + @capability ReadUserData + @param aContactId Contact Id to find data for + @param aName On return contains a string holding the family and given name in the desired format if found, a 0 length string otherwise. + The buffer for aName is supplied by the client and should be of a length sufficent to hold a standard contact string. + @param aNameFormat Desired format of returned string - Chinese or Western format */ + virtual void ReadContactNameL(TLogContactItemId aContactId, TDes& aName, TLogContactNameFormat aNameFormat)=0; + }; + +/** Interface UID to be used by all contacts model plugin's for log engine +@internalAll */ +#ifdef SYSLIBS_TEST + const TUid KUidEComLogCntInterface = {0x20008030}; +#else + const TUid KUidEComLogCntInterface = {0x20008029}; +#endif +/** Provides an interface for ECom plugins +@internalAll */ +class CLogCntModel: public CBase, public MLogCntModel + { +public: + IMPORT_C static CLogCntModel* NewL(); + IMPORT_C virtual ~CLogCntModel(); +private: + TUid iDtor_ID_Key; + }; + +#endif // __LOGCNTMODEL_H__ +