diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/101_f5465_8rss_source.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/101_f5465_8rss_source.html Tue Mar 30 16:16:55 2010 +0100 @@ -0,0 +1,113 @@ + + +
+ +00001 /* +00002 * ============================================================================ +00003 * Name : EComCalculator plugin resource from 101F5465.rss +00004 * Part of : EComCalculator +00005 * Created : 29/05/2006 by Forum Nokia +00006 * Version : 2.0 +00007 * Copyright: Nokia Corporation +00008 * ============================================================================ +00009 */ +00010 +00011 // 101F5465.RSS. The name should be same as the UID of the plugin dll +00012 // in 2nd edition, +00013 // see EComImplementation_2x.mmp +00014 // +00015 // Registry file for the CCalculationInterfaceDefinition implementation +00016 // collection. Gives description of implementations so that framework can +00017 // search and list them. +00018 // +00019 // Notes for resolution: +00020 // When client asks ECOM framework to find implementation for specific +00021 // interface (typically in interface's NewL method), the framework uses +00022 // resolver to compare the given TEComResolverParams data to +00023 // IMPLEMENTATION_INFO::default_data below. +00024 // For example, in the client code there could be +00025 // +00026 // TEComResolverParams resolverParams; +00027 // resolverParams.SetDataType(_L("sum")); +00028 // TAny* ptr = REComSession::CreateImplementationL( +00029 // KCalculateInterfaceDefinitionUid, // interface definition +00030 // // UID = 0x10009DC1 +00031 // _FOFF(CCalculationInterfaceDefinition,iDtor_ID_Key), +00032 // resolverParams); +00033 // +00034 // The framework will use default resolver (because custom resolver id +00035 // is not specified), and compare the "sum" to default_data fields in +00036 // this resource file. The resolver find the implementation with ID +00037 // 0x10009DC7 and returns CImplementationClassPlus instance (mapping of +00038 // IDs to implementations is done in proxy.cpp) +00039 +00040 #include "RegistryInfo.rh" +00041 +00042 // Declares info for two implementations +00043 RESOURCE REGISTRY_INFO theInfo +00044 { +00045 // UID for the DLL. See mmp files +00046 //__SERIES60_3X__ can't be used in resource files +00047 #ifdef EKA2 +00048 dll_uid = 0xE01F5465; +00049 #else +00050 dll_uid = 0x101F5465; +00051 #endif +00052 // Declare array of interface info. This dll contains implementations for +00053 // only one interface (CCalculationInterfaceDefinition). +00054 interfaces = +00055 { +00056 INTERFACE_INFO +00057 { +00058 // UID of interface that is implemented +00059 #ifdef EKA2 +00060 interface_uid = 0xE0009DC1; +00061 #else +00062 interface_uid = 0x10009DC1; +00063 #endif +00064 +00065 implementations = +00066 { +00067 IMPLEMENTATION_INFO +00068 { +00069 #ifdef EKA2 +00070 implementation_uid = 0xE0009DC7; +00071 #else +00072 implementation_uid = 0x10009DC7; +00073 #endif +00074 version_no = 1; +00075 display_name = "Plus implementation"; +00076 default_data = "sum"; +00077 opaque_data = ""; +00078 }, +00079 IMPLEMENTATION_INFO +00080 { +00081 #ifdef EKA2 +00082 implementation_uid = 0xE0009DC8; +00083 #else +00084 implementation_uid = 0x10009DC8; +00085 #endif +00086 +00087 version_no = 1; +00088 display_name = "Multiply implementation"; +00089 default_data = "multiply"; // in resolution phase this +00090 // relates to +00091 // TEComResolverParams::DataType(); +00092 opaque_data = ""; +00093 } +00094 }; +00095 } +00096 }; +00097 } +