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 @@ + + + + +TB9.2 Example Applications: examples/ForumNokia/EComCalculator/plugin/data/101F5465.rss Source File + + + + + +

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
+ +