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 }