Quick Recipes on Symbian OS Released!

Mastering C++ Smartphone Development (Symbian Press)As one of the co authors, I’m really exited to announce that Quick Recipes on Symbian OS has just been released by Symbian Press. According to the official literature,

The book tells you how to start developing C++ applications for Symbian smartphones from scratch and includes recipes that are divided by technology, including graphics, multimedia, location-based services, networking and messaging. Each recipe explains the length of time needed to implement it, and its difficulty level. The task is then explained in detail, and provides snippets of example code. The full sample code is provided for future reference and for use as a starting point in your own projects.

Get a copy from Amazon here, while its hot baby 😉 While at it, have a look at the book’s WiKi page, where you’ll find the recepies(code examples) and the errata.

Happy coding!

35 Useful Source Code Editors Reviewed

Notepad++Smashing magazine has just posted an excellent article reviewing no less than 35 source code editors. Its good to see an article that finally collates the good ones under one roof. Personally, I use Notepad++, which gives you all the facility of UltraEdit(R) and EditPlus(R) for free (open source) and what’s great, its got an extensive collection of plug-ins and an active developer community. And yes, its written in C++ and fast.

Happy coding!

Getting Most out of Carbide.c++ Build System

Carbide.c++ Build OptionsThe Carbide.c++ team at Nokia has just published a series of articles that explains the Carbide.c++ build system in-depth and how to get the most out of it. A recommended read for all developing software with Carbide.c++.

Happy coding!

Ever Wondered What Macros are Defined for your Project?

Carbide.c++ Build ConfigurationA colleague of mine recently popped down at my desk, asking me if there was an easy way to find the macros defined for a Symbian project build configuration. Given that a macro can originate form different places, its not always a easy guess. Of course you can look at the usual suspects, like the HRH file for the platform (\epoc32\include\variant\Symbian_OS_*.hrh) and the MMP file itself for the MACRO directive, but it won’t give you the full list, since the Symbian tool chain will insert its own on top. So how do you get it? Enter Carbide.c++ build configurations.

Continue reading

Spot the Error

Ok here’s a bog standard piece of Symbian C++. What’s wrong? Hint, its all in the status…

void CConnectionProgressObserver::RunL()
  {
  if (KErrNone == iStatus.Int())
    {
    iConnection.ProgressNotification(iProgressBuf, iStatus);
    SetActive();
    }
  // OnProgressNotificitionL is
  // a callback (void)(TNifProgress, TInt)
  iNotify->OnProgressNotificitionL(iProgressBuf(), iStatus.Int());
  }

Still didn’t get it? Read on…

Continue reading