examples/SysLibs/ECom/InterfaceDefinition/ExampleResolver.h

00001 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
00002 // All rights reserved.
00003 // This component and the accompanying materials are made available
00004 // under the terms of "Eclipse Public License v1.0"
00005 // which accompanies this distribution, and is available
00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
00007 //
00008 // Initial Contributors:
00009 // Nokia Corporation - initial contribution.
00010 //
00011 // Contributors:
00012 //
00013 // Description:
00014 //
00015 
00016 #ifndef __EXAMPLERESOLVER_H__
00017 #define __EXAMPLERESOLVER_H__
00018 
00019 #include <resolver.h>
00020 #include <publicregistry.h>
00021 
00022 class TEComResolverParams;
00023 
00024 // Example resolver's UID
00025 const TUid KExResolverUid = {0x10009DD0};
00026 
00033 class CExampleResolver : public CResolver
00034         {
00035 public:
00036         // Factory function: 
00037         static CExampleResolver* NewL(MPublicRegistry & aRegistry);
00038         ~CExampleResolver();
00039 
00046         TUid IdentifyImplementationL(TUid aInterfaceUid, 
00047                 const TEComResolverParams& aAdditionalParameters) const;
00048 
00056         RImplInfoArray* ListAllL(TUid aInterfaceUid, 
00057                 const TEComResolverParams& aAdditionalParameters) const;
00058 
00059 private:
00060         // Ctor
00061         explicit CExampleResolver(MPublicRegistry& aRegistry);
00062 
00070         TUid Resolve(const RImplInfoArray& aImplementationsInfo, 
00071                                  const TEComResolverParams& aAdditionalParameters) const;
00072 
00089         TBool Match(const TDesC8& aImplementationType, 
00090                                 const TDesC8& aMatchType, 
00091                                 TBool aUseWildcards) const;
00092 
00093 private:
00094         mutable RImplInfoArray* iImplementationInfoArray;
00095         };
00096 
00097 #endif // __EXAMPLERESOLVER_H__
00098 

Generated by  doxygen 1.6.2