00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
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
00025 const TUid KExResolverUid = {0x10009DD0};
00026
00033 class CExampleResolver : public CResolver
00034 {
00035 public:
00036
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
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