Join Now

Attempt to create a CSY module

Carbider | 10 January, 2008 14:55

So yes.
I've stand on the way of creating my own CSY module.

It is some kind of a reckless scheme for me. I have no any assurance it will help me in my researches. Furthermore, the web-search on "create custom CSY module" brings me back to my own blog post about serial protocols. Cool.
I call this adventure as a crazy attempt because it demands to throw together a lot of components without strong hope it will bring to essential result.

But the rays of hope are:

1. When creating new IAP, one of the Data Base fields is: "MODEM_CSY_NAME".
Some previous adventurers used it to set as "BTCOMM". Hmm good.
2. It is possible to create new serial modules. How? The search returns me back to my posts. The discussion boards speak only about connecting to modules.
3. There is a framework on Symbian OS called "Ecom". Ecom provides interaction between clients and polymorphic DLLs, which CSY modules, at my sight, are.

The Ecom's (symbian.com/../v9.2docs/../EcomArch) so-called plug-ins are polymorphic DLLs. Those DLLs provide the interface, the implementation and the factory functions (which instantiate concrete classes).

As it is said here, Serial protocol modules also have Service providers (interface implementations), Protocol Factories (that are called to instantiate serial service provider) as well.

Looks pretty familiar to understand the serial modules are finally polymorphic DLLs too.

Thus let’s try to accommodate my own DLL instead of BTCOMM.CSY.

By these conditions I've imported the Ecom example from SDK to launch and explore.
The example is situated in SDK folder:
/Symbian/9.2/S60_3rd_FP1/Examples/SysLibs/ECom/

and has 3 sub-folders:
-» InterfaceClient
-» InterfaceDefinition
-» InterfaceImplementation

After unsuccessful build I’ve noticed the given project depends on extra sources at the 'examples' folder.
It was 'CommonFramework' situated at '/Symbian/9.2/S60_3rd_FP1/Examples/'.

So I’ve copied entire 'CommonFramework' inside ‘Ecom’ and modified some paths.

In '/InterfaceClient/InterfaceClient.mmp'
USERINCLUDE   ../..CommonFramework
to
USERINCLUDE   ../CommonFramework

The familiar change at file: 'Ecom/.cdtproject'

So to be exact with my creepy idea we need:
-» Create new IAP,
-» Go to CommDB database and change this IAP record field 'MODEM_CSY_NAME' to newly-fledged polymorphic DLL.
-» See if there is any way DLL can be launched after user picks hackneyed IAP.
-» Maybe to rename DLL to CSY as well.
-» Of course, the final goal is that DLL to start working as serial module plug-in.

Besides there is work to divine the appropriate entry point to serial module DLL.

Meanwhile the project was built successfully and I've got two DLLs as a result.
The 'ExampleResolver.dll' and the 'EComExample.dll'.
As expected, they are not extension ".csy" provided.
The 'ExampleResolver.dll' is an Interface Definition.
The 'EComExample.dll' is an Interface Implementation.

Putting their names to CommDB records didn’t bring any results.
Even giving them 'csy' extension wouldn't help.

Being on this stage I'm still wondering if anybody knows:
1. How to write a proper CSY module.
2. How to create a Bluetooth Access Point. Which tables and rows of CommDB should be affected for this purpose.

I'll appreciate any comments on this subjects.

 
 
Powered by LifeType