Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.
Talk:How to build a COM object on Symbian OS
COM is "Component Object Model", which makes two software components communicate i.e. it is used for inter-process communication.
This article gives basic overview for COM and explains how to build a simple COM object with Symbian C++. The code snippest to build a com object is also given with comments. This article represents primary information for COM and can be helpful to beginners in their initial learning stages.
I'm not clear how COM on Symbian OS actually works. QueryInterface() implementation is unclear, given that Symbian OS doesn't support dynamic_cast (except on the very latest version, and this is pre-v9 code since E32Dll() is shown). Isn't that needed?
The CSomeObject class is not a proper Symbian C class (unless the interface derives from CBase) and it's not obvious how any of it is used.
I suggest this item be extended with more example code and a discussion of how each part works on Symbian OS. I agree that it could be of much interest to Windows programmers migrating to Symbian OS, but the idioms on Symbian OS don't make for an easy port of straight COM code (believe me, I've tried). More detail is required, otherwise the potential for bad code is huge.
Although not a direct equivalent, I think it also worth mentioning that Symbian has it's own interface definition, plug-in loading and identification scheme, known as ECOM. It's not the same, but is pretty much de facto.
I think this has the potential to be a really useful article, and it's a good start, but it's not really Symbian-specific to be useful yet (at least, not to me, and I've worked with COM and Symbian, and am lucky to know a bit about both).