How does Symbian ECOM determine the sequence of implementations in the returned array?

I’m working on a Symbian project and I’m curious about the REComSession::ListImplementationsL function. It gives back an array of implementations based on the interface ID found in .rsc files located in the \resource\plugins folder.

What I can’t figure out is how the order of these implementations in the array is decided. Is there a specific method or rule that Symbian ECOM uses to arrange them?

For example, does it sort them alphabetically, by creation date, or is there some other criteria? Understanding this would really help me with my current development work.

If anyone has experience with this or knows where I can find more info, I’d really appreciate your help. Thanks in advance!

Based on my experience with Symbian ECOM, the ListImplementationsL function doesn’t use a predetermined sorting method for the returned array. The order typically reflects how the implementations are discovered in the resource files during runtime.

If a specific sequence is crucial for your project, you’ll need to implement custom sorting logic after retrieving the array. This approach gives you full control over the order based on your specific requirements.

For reliable behavior, it’s advisable not to depend on the default order. Instead, consider implementing your own sorting mechanism or using a selection algorithm that doesn’t rely on the array’s initial sequence.

hey charlie, from my expernce, symbian ecom doesn’t follow a strict order.

it jst returns implementations as found in the resource files.

so if you need them sorted, you’ll have to sort it on your own. hope this helps!

Hey Charlie31, interesting question about Symbian ECOM! :thinking:

I’ve dabbled with Symbian development before, and I remember being puzzled by the same thing. From what I recall, the order isn’t always predictable, which can be a bit frustrating.

Have you tried running the ListImplementationsL function multiple times to see if the order changes? It might give us some clues. Also, I’m curious - why do you need a specific order? Are you working on something where the sequence matters?

Oh, and have you checked out the Symbian Foundation wiki? Sometimes there are hidden gems of info there. If you find anything, let us know!

What’s your Symbian project about, by the way? Always excited to hear what other devs are working on in this space!