examples/ForumNokia/EComCalculator/plugin/data/101F5465.rss

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     }

Generated by  doxygen 1.6.2