Join Now

Carbide code bookmarks

Carbider | 03 December, 2007 16:28

During last weeks I’ve took part in FN Wiki November Contest. Yeah it would be cool to have N95 here, in Sevastopol :-) However we’ll wait till the results.

 

I decided to contribute to Wiki with the articles and the examples of what I’ve learned about Symbian programming.

I want to post here some articles that are related to my blog.

 


The code bookmarks in Carbide.

Carbide is designed to make development process more effective. Here is one feature which is inherited from Eclipse and which I like. It is a Bookmarks feature.

It lets you to mark any line in your source code assigning a description. After that you can navigate to it with help of a bookmarks dialog.

 

You can put a bookmark simply pressing right mouse button on a line numbers tab.

Diagram 01 – Standard way to add bookmarks.

Diagram 01 – Standard way to add bookmarks.

But it is more comfortable to assign a hotkey. 

To assign a hotkey, go to Windows->Preferences. In filter text type “keys”. Select “Modify” tab. At “Command” section pick “Edit”. As a “name” pick “Add bookmark”. At the next “Key sequence” section press a key combination (I chose ALT+B). Press 'Add' button.

Now you can press Alt+B at any line to bookmark it. 

 

Diagram 2 – Assign a hotkey.

You can assign a hotkey to show Bookmarks window.
To do that repeat the same actions but pick “Views” at “Category” dropdown. And then pick “Show view (view: Bookmarks)” at name section. Select key combination. I chose “CTRL+ALT+B”.

 

 

Diagram 3 – Assign a hotkey to show bookmarks window.

Now you can navigate bookmarks by pressing Enter or double mouse click to pass to suitable line.

To make it more comfortable assign the Bookmarks view as a Fast View:

   

Diagram 4 – Make bookmarks view as a fast view

 

 

 

 

Now it can be easily removed by ESC key

and easily retrieved by CTRL+ALT+TAB hotkey.

 

 

 

The final navigation process will look like this:

 

 

Diagram 5 - Navigation


In my mind it is very convenient and greatly simplifies code navigation.

 

Symbian Networking interface

Carbider | 07 December, 2007 15:57

I've spent some time to examine the Symbian's networking architecture.
Since the TCP/IP connection should be established over Bluetooth® the new entry to CommDB database should be entered.
This can be performed by CCommsDatabase class.
After user selects the PAN record, all TCP traffic should be encapsulated into BNEP packets and transmitted over wireless link.

Inside the application, the IAP (internet access point) is selected by RConnection class with RConnection::Start() or RConnection::Attach() methods.
This methods associate the connection with underlying interface.

But no documents can be found about creating those underlying interfaces.
In my mind that should be something like  device or DLL library.

I asked for help from expert on FN Discussion Boards. This method was recently introduced. And now wait with the impatience.

 

Serial protocol modules

Carbider | 21 December, 2007 13:57

Continuing the last blog entry I can say it is impossible attach to an existing interface (with help of RConnection) in such a way that I can listen to all passing packets (or rather those sockets that I don’t own).

What is keeping me busy is creating Bluetooth® IAP (internet access point) after what I can get all the TCP/IP packets incoming to that IAP. As you read my blog I need this to transfer TCP packets over Bluetooth.

As I try to create BT IAP I mostly face with articles and forums related to distant 6th and 7th versions of Symbian.
Like this one.
 

Figure 1 – list of IAPs.

Figure 1 – list of IAPs.

In Symbian_OS_Overview_To_Networking I’ve read that on Symbian OS there are Serial Protocol Modules (CSY) that are used to implement software serial port services. The Serial Protocol Module API (cs_port.h) allows developing new CSY modules.
Theoretically one can substitute the already existing BTCOMM.CSY with new module.

So current questions are:

  1. Is it really possible (I didn’t find yet) to create new serial protocol modules (CSY). And how-to.
  2. How to bind new IAP (see figure 1) with a new CSY so one can listen to all it’s packets.

And yes, have a nice Holidays!

 
 
Powered by LifeType