How to Identify Device management plug-ins
Device management Plug-ins are Ecom plug-ins, thus you can get the plug-in information array easily by using REComSession API’s ListImplementationsL() function, the required interface UID is defined in SmlDmAdapter.h header file.
Usually Ecom plug-ins will define name & other information in their resource file, unfortunately device management plug-ins often only define their UID vale and leave other strings empty. This means that you can not know which plug-in UID corresponds to which device management plug-in by just checking the implementation array with REComSession.
And for this reason, to obtain the name of the plug-in, you actually need to construct it.
When constructing Device management plug-ins, you first construct the object with CSmlDmAdapter API’s NewL() function. This function takes the implementation UID as an argument, and it is used to load the right Ecom plug-in.
After constructing the plug-in instance, you always need to call DDFStructureL() function. This function builds the device management object tree by calling the callback you have given to the functions. A notable issue with DDFStructureL() is that it will first give the Root name to the callback function, thus you could identify each Device management plug-in by its root name.
To check which root name belongs to which device management plug-in, you could read the DDF documentation for each device management plug-in. Good amount of documentation can be found from Nokia Developer Device management documentation (archived).
Example sourse code: File:DM GetPlugIns.zip