diff -r 4816d766a08a -r f345bda72bc4 Symbian3/PDK/Source/GUID-641A276D-F618-50CE-BA5A-658DCC26BAB5.dita --- a/Symbian3/PDK/Source/GUID-641A276D-F618-50CE-BA5A-658DCC26BAB5.dita Tue Mar 30 11:42:04 2010 +0100 +++ b/Symbian3/PDK/Source/GUID-641A276D-F618-50CE-BA5A-658DCC26BAB5.dita Tue Mar 30 11:56:28 2010 +0100 @@ -1,198 +1,198 @@ - - - - - -Creating -an Implementation Project File An implementation project file is a .mmp file, which specifies the -essential elements of the implementation. The project files are used for project -development. The implementation project file contains information (source -file, build file) about the implementation that is being built.The -format of implementation project file is dependent on the version of the Symbian -platform used. The differences basically reflect the introduction of platform -security into Symbian OS v9.0 and later versions. - -For creating a plug-in -project file for Symbian OS v9.1 and later: - - -Set TARGET to the standard DLL name. TARGET contains -the final binary name of the project generated. -The plug-in DLL file is stored along other binaries in the\Sys\Bin directory. -The plug-in framework does not discover plug-ins installed in the pre v9.1 -location, \System\Libs\Plugins. - - -Set TARGETTYPE to PLUGIN. TARGETTYPE specifies -the type of binary. -Set TARGETTYPE to PLUGIN3 for DLLs supporting the extension -interfaces. PLUGIN3 DLLs are given the UID2 value of 0x10009D93. - - -Set UID to plug-in framework DLL recognition UID followed -by the unique UID of the plug-in. -UID of the plug-in must be the same as the one specified in the dll_uid member -in the registration -resource file. - - -Set VENDORID to the vendor creating the plug-ins. - - -Set CAPABILITY to the capabilities of the plug-in in -the variable. -If the plug-in is assigned no capabilities, only client processes with -no capabilities can use them. -For more information, see ECom -and the Platform Security Architecture. - - -Set SOURCEPATH to the path where the source files exist. -The path set in this variable must be relative to the path of the project -file. - - -Set SOURCE to the name of the source file. - - -Set USERINCLUDE to the path where the user provided -header files are available. -The path set in this variable must be relative to the path of the project -file. - - -Set SYSTEMINCLUDE to\epoc32\include\ecom. SYSTEMINCLUDE specifies -the path to OS provided header files. - - -Set RESOURCE to the registration resource file of the -implementation. -From v9.1, the name of the registration resource file must be the same -as that of the executable. -For example, if the plug-in is foo.dll, then its -registration resource file must be called foo.rsc. This -is because plug-in framework uses the names of the registration resource file -to find the plug-in DLLs. -A simple START RESOURCE statement is of the following -form: -START RESOURCE foo.rss -END -This builds a file named foo.rsc. Registration -resource files are always built into the target directory \Resource\Plugins. -There is no need to explicitly set the target directory for the .rsc file -in the project file, the build tools take care of it. -Where the registration resource source file is still named after the -UID of the DLL, the built resource file can be renamed to be the same as the -DLL, using the TARGET keyword. For example: -START RESOURCE 10009DB0.rss -TARGET foo.rsc -END -This builds the 10009DB0.rss source file into \Resource\Plugins\foo.rsc. - - -Set the variable LIBRARY to ecom.lib. -The binary links against the specified .lib file. - - - - -

For creating a plug-in project file for Symbian OS v9.0 and earlier:

- - -Set TARGET to the standard DLL name. TARGET contains -the final binary name of the project generated. - - -Set TARGETTYPE as ECOMIIC. TARGETTYPE specifies -the type of binary. - - -Set UID to the plug-in framework DLL recognition UID -followed by the unique UID of the plug-in. -Unique UID of the plug-in must be the same as the one specified in the dll_uid member -in the registration -resource file. - - -Set SOURCEPATH to the path where the source files exist. -The path set for this variable must be relative to the path of the project -file. - - -Set SOURCE to the name of the source file. - - -Set USERINCLUDE to the path where the user provided -header files are available. -The path set in this variable must be relative to the path of the project -file. - - -Set SYSTEMINCLUDE to\epoc32\include\ecom. -SYSTEMINCLUDE specifies the path to OS provided header files. - - -Set RESOURCE to the registration resource file of the -implementation. -The registration resource file .rss need not have the same name as the -DLL. It is required to be named after the UID of the DLL. - - -Set LIBRARY to ecom.lib. The binary -links to the .lib file. - - -
-
-Creating an -implementation project file example

For Symbian OS v9.1 and -later

// ExampleInterfaceImplementation.mmp -// -TARGET ExampleInterfaceImplementation.dll -TARGETTYPE PLUGIN - -// ECom Dll recognition UID followed by the unique dll UID -UID 0x10009D8D 0x10009DB0 - -VENDORID 0x70000001 - -CAPABILITY All -TCB - -SOURCEPATH \ExampleInterfaceImplementation -SOURCE ExampleInterfaceImplementation.cpp - -USERINCLUDE \ExampleInterfaceImplementation \inc -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE \epoc32\include\ecom - -START RESOURCE 10009DB0.rss -TARGET ExampleInterfaceImplementation.rsc -END - -LIBRARY euser.lib -LIBRARY ecom.lib

For Symbian OS v9.0 and earlier

// ExampleInterfaceImplementation.mmp -// -TARGET ExampleInterfaceImplementation.dll -TARGETTYPE ECOMIIC - -// ECom Dll recognition UID followed by the unique dll UID -UID 0x10009D8D 0x10009DB0 - -SOURCEPATH \ExampleInterfaceImplementation -SOURCE ExampleInterfaceImplementation.cpp - -USERINCLUDE \ExampleInterfaceImplementation \inc -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE \epoc32\include\ecom - -RESOURCE 10009DB0.rss - -LIBRARY euser.lib -LIBRARY ecom.lib
+ + + + + +Creating +an Implementation Project File An implementation project file is a .mmp file, which specifies the +essential elements of the implementation. The project files are used for project +development. The implementation project file contains information (source +file, build file) about the implementation that is being built.The +format of implementation project file is dependent on the version of the Symbian +platform used. The differences basically reflect the introduction of platform +security into Symbian OS v9.0 and later versions. + +For creating a plug-in +project file for Symbian OS v9.1 and later: + + +Set TARGET to the standard DLL name. TARGET contains +the final binary name of the project generated. +The plug-in DLL file is stored along other binaries in the\Sys\Bin directory. +The plug-in framework does not discover plug-ins installed in the pre v9.1 +location, \System\Libs\Plugins. + + +Set TARGETTYPE to PLUGIN. TARGETTYPE specifies +the type of binary. +Set TARGETTYPE to PLUGIN3 for DLLs supporting the extension +interfaces. PLUGIN3 DLLs are given the UID2 value of 0x10009D93. + + +Set UID to plug-in framework DLL recognition UID followed +by the unique UID of the plug-in. +UID of the plug-in must be the same as the one specified in the dll_uid member +in the registration +resource file. + + +Set VENDORID to the vendor creating the plug-ins. + + +Set CAPABILITY to the capabilities of the plug-in in +the variable. +If the plug-in is assigned no capabilities, only client processes with +no capabilities can use them. +For more information, see ECom +and the Platform Security Architecture. + + +Set SOURCEPATH to the path where the source files exist. +The path set in this variable must be relative to the path of the project +file. + + +Set SOURCE to the name of the source file. + + +Set USERINCLUDE to the path where the user provided +header files are available. +The path set in this variable must be relative to the path of the project +file. + + +Set SYSTEMINCLUDE to\epoc32\include\ecom. SYSTEMINCLUDE specifies +the path to OS provided header files. + + +Set RESOURCE to the registration resource file of the +implementation. +From v9.1, the name of the registration resource file must be the same +as that of the executable. +For example, if the plug-in is foo.dll, then its +registration resource file must be called foo.rsc. This +is because plug-in framework uses the names of the registration resource file +to find the plug-in DLLs. +A simple START RESOURCE statement is of the following +form: +START RESOURCE foo.rss +END +This builds a file named foo.rsc. Registration +resource files are always built into the target directory \Resource\Plugins. +There is no need to explicitly set the target directory for the .rsc file +in the project file, the build tools take care of it. +Where the registration resource source file is still named after the +UID of the DLL, the built resource file can be renamed to be the same as the +DLL, using the TARGET keyword. For example: +START RESOURCE 10009DB0.rss +TARGET foo.rsc +END +This builds the 10009DB0.rss source file into \Resource\Plugins\foo.rsc. + + +Set the variable LIBRARY to ecom.lib. +The binary links against the specified .lib file. + + + + +

For creating a plug-in project file for Symbian OS v9.0 and earlier:

+ + +Set TARGET to the standard DLL name. TARGET contains +the final binary name of the project generated. + + +Set TARGETTYPE as ECOMIIC. TARGETTYPE specifies +the type of binary. + + +Set UID to the plug-in framework DLL recognition UID +followed by the unique UID of the plug-in. +Unique UID of the plug-in must be the same as the one specified in the dll_uid member +in the registration +resource file. + + +Set SOURCEPATH to the path where the source files exist. +The path set for this variable must be relative to the path of the project +file. + + +Set SOURCE to the name of the source file. + + +Set USERINCLUDE to the path where the user provided +header files are available. +The path set in this variable must be relative to the path of the project +file. + + +Set SYSTEMINCLUDE to\epoc32\include\ecom. +SYSTEMINCLUDE specifies the path to OS provided header files. + + +Set RESOURCE to the registration resource file of the +implementation. +The registration resource file .rss need not have the same name as the +DLL. It is required to be named after the UID of the DLL. + + +Set LIBRARY to ecom.lib. The binary +links to the .lib file. + + +
+
+Creating an +implementation project file example

For Symbian OS v9.1 and +later

// ExampleInterfaceImplementation.mmp +// +TARGET ExampleInterfaceImplementation.dll +TARGETTYPE PLUGIN + +// ECom Dll recognition UID followed by the unique dll UID +UID 0x10009D8D 0x10009DB0 + +VENDORID 0x70000001 + +CAPABILITY All -TCB + +SOURCEPATH \ExampleInterfaceImplementation +SOURCE ExampleInterfaceImplementation.cpp + +USERINCLUDE \ExampleInterfaceImplementation \inc +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\ecom + +START RESOURCE 10009DB0.rss +TARGET ExampleInterfaceImplementation.rsc +END + +LIBRARY euser.lib +LIBRARY ecom.lib

For Symbian OS v9.0 and earlier

// ExampleInterfaceImplementation.mmp +// +TARGET ExampleInterfaceImplementation.dll +TARGETTYPE ECOMIIC + +// ECom Dll recognition UID followed by the unique dll UID +UID 0x10009D8D 0x10009DB0 + +SOURCEPATH \ExampleInterfaceImplementation +SOURCE ExampleInterfaceImplementation.cpp + +USERINCLUDE \ExampleInterfaceImplementation \inc +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\ecom + +RESOURCE 10009DB0.rss + +LIBRARY euser.lib +LIBRARY ecom.lib
\ No newline at end of file