diff -r 7aa6007702af -r 61b27eec6533 languageinterworkingfw/servicehandler/inc/liwresolver.h --- a/languageinterworkingfw/servicehandler/inc/liwresolver.h Fri Apr 16 15:54:49 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,134 +0,0 @@ -/* -* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "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: Declares custom ECom resolver. -* -*/ - - - - - - -#ifndef _LIW_RESOLVER_H -#define _LIW_RESOLVER_H - -#include "liwuids.hrh" -#include -#include -#include - -// FORWARD DECLARATIONS -class TEComResolverParams; - -// DynFeature resolver's UID -const TUid KLiwResolverImplUid = { KLiwResolverImplUidValue }; - -/** - * Implements a non-default resolver. - * - * This controls the identification, (resolution), of which implementation - * will be used to satisfy an interface implementation instantiation. - */ -class CLiwResolver : public CResolver - { - public: - - /** - * Factory function - * @param aRegistry - */ - static CLiwResolver* NewL(MPublicRegistry& aRegistry); - - /** - * Destructor. - */ - virtual ~CLiwResolver(); - - /** - * Request that the resolver identify the most appropriate interface implementation. - * - * @param aInterfaceUid The interface for which implementations are requested. - * @param aAdditionalParameters Data to be used to refine the search further. - * @return The Uid of the best fit interface implementation - - * KNullUid if no match is found. - */ - TUid IdentifyImplementationL(TUid aInterfaceUid, - const TEComResolverParams& aAdditionalParameters) const; - - /** - * List all the implementations which satisfy the specified interface. - * - * @param aInterfaceUid The interface for which implementations are requested - * @param aAdditionalParameters Data to be used to refine the search further - * @return Pointer to an array of suitable implementations. - * Ownership of this array is passed to the calling function. - */ - RImplInfoArray* ListAllL(TUid aInterfaceUid, - const TEComResolverParams& aAdditionalParameters) const; - - private: - - /** - * Constructor. - * @param aRegistry - */ - explicit CLiwResolver(MPublicRegistry& aRegistry); - - /** - * Called by IdentifyImplementationL to select an appropriate implementation from a - * list of possibles. - * - * @param aImplementationsInfo Information on the potential implementations - * @param aAdditionalParameters The data to match against to detemine the implementation - * @return The Uid of the selected implementation - - * KNullUid if no match is found - */ - TUid Resolve(const RImplInfoArray& aImplementationsInfo, - const TEComResolverParams& aAdditionalParameters) const; - - /** - * Searches for a match of a data type on an implementation type. - * Match returns ETrue if aMatchType is found within aImplementationType according - * to the following rules: - * - * 1) aImplementationType is treated as a series of descriptors separated by double - * bars (||). ETrue is returned if aMatchType matches exactly any of the short - * descriptors. If no double bar is present then aImplementationType is treated as a - * single descriptor. - * - * 2) If aUseWildcards == ETrue then a '?' in aMatchType will be matched to any single - * character and '*' will be matched to any series of characters. - * - * @param aImplementationType The implementation data type to search for a match - * @param aMatchType The data to search for - * @param aUseWildcards ETrue if wildcard matching should be allowed - * @return ETrue if a match was found, EFalse otherwise - */ - TBool Match(const TDesC8& aImplementationType, const TDesC8& aMatchType, - TBool aUseWildcards) const; - - TBool MatchServiceCmd(const TDesC8& aOpaqueData, const TDesC8& aServiceCmd) const; - - void ParseInput(const TDesC8& aParam, TDes8& aContent, TDes8& aOpaque) const; - - private: - - mutable RImplInfoArray* iImplementationInfoArray; - }; - - -#endif // LIW_RESOLVER_H - -// End of file -