This page describes how to migrate data recognizers to the secure version of the Symbian platform.
Converting data recognizers into ECOM plugins
.mmp)
file to specify an ECOM plug-in. For example: target EXAMPLEREC.DLL targettype PLUGIN UID 0x10009D8D <DLLUID> capability ProtServ sourcepath ..\path systeminclude ..\inc systeminclude ..\inc\ecom source EXAMPLEREC.CPP start resource <DLLUID>.RSC TARGET examplerec.rsc library EUSER.LIB APMIME.LIB
Changing the ECOM resource file - Change the ECOM resource file to specify:
interface UID. This
identifies the plugin scheme, and should be 0x101F7D87 for
data recognizers
implementation UID. This uniquely identifies the plugin.
For example:
#include <RegistryInfo.rh>
RESOURCE REGISTRY_INFO r_registry
{
dll_uid = <DLLUID>; // Should match the name of this file
// The name of the resource file is <DLLUID>.rss
interfaces =
{
INTERFACE_INFO
{
interface_uid = 0x101F7D87; // Const for all data recognizers
implementations =
{
IMPLEMENTATION_INFO
{
implementation_uid = <Unique Implementation Uid>;
version_no = 1;
display_name = "DataRecName";
default_data = "";
opaque_data = "";
}
};
}
};
}Changing the source code -
Both the data recognizer's.h and .cpp files
need code adding to create the data recognizer. For example: example.h
class CExampleDataRecognizer : public CApaDataRecognizerType
{
public:
static CApaDataRecognizerType* CreateRecognizerL();
}; example.cpp
CApaDataRecognizerType* CExampleDataRecognizer::CreateRecognizerL()
{
return new (ELeave) CExampleDataRecognizer ();
}
const TImplementationProxy ImplementationTable[] =
{
IMPLEMENTATION_PROXY_ENTRY(UNIQUE IMPLEMENTATION UID, CExampleDataRecognizer::CreateRecognizerL)
};
EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
{
aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
return ImplementationTable;
}
// Remove the previously EXPORTED function
EXPORT_C CApaDataRecognizerType* CreateRecognizer ()
{
}Converting data recognizers into pre-platform security style plugins
You can convert data recognizers into plug-ins of the sort used before Platform Security was introduced by:
.mmp)
file to specify a plug-in of the style used before Platform Security was introduced.
For example: target EXAMPLEREC.MDL targettype DLL UID 0x10003A37 <DLLUID> capability TrustedUI ProtServ sourcepath ..\path systeminclude ..\inc source EXAMPLEREC.CPP library EUSER.LIB APMIME.LIB
Changing the source
code - The data recognizer's .cpp file needs code
adding to create the data recognizer. For example:
example.cpp
EXPORT_C CApaDataRecognizerType* CreateRecognizer()
{
CExampleDataRecognizer * thing=NULL;
thing = new CExampleDataRecognizer();
return thing; // null if new failed
}