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

Symbian ECOM Implementation Order Question

I’m working with Symbian’s ECOM system and I’m curious about how it handles the order of implementations. When you call REComSession::ListImplementationsL, it gives you an array of implementations based on the interface ID found in the .rsc files located in the \resource\plugins folder.

What I’m trying to figure out is:

  1. Is there a specific mechanism that decides the order of these implementations in the array?
  2. Does it follow any particular sorting method or is it random?
  3. Can we control or predict this order in any way?

I’ve been digging through the documentation but haven’t found a clear answer. If anyone has experience with this or knows how it works under the hood, I’d really appreciate some insight. Thanks in advance for any help!

From my experience with Symbian ECOM, the implementation order isn’t guaranteed to be consistent. It often depends on factors like when plugins were installed or last modified. While it might seem random, it’s more likely determined by filesystem-related attributes. If order is crucial for your application, I’d recommend implementing your own sorting logic after retrieving the array. This way, you can ensure a consistent order based on criteria that matter for your specific use case, rather than relying on ECOM’s default behavior.

ive worked with symbian econ a bit.

the order seems random as plugins load by chance. logging over time may show trends, but i haven’t seen any promised order. consider it unreliable across runs.