1 #ifndef EXTENSION_REGISTRY_POPULATOR_INTERFACE_H_INCLUDED
2 #define EXTENSION_REGISTRY_POPULATOR_INTERFACE_H_INCLUDED
5 //UUid for the Registry populator Interface which Extension handler looks for in the configuration files while loading the extensions
6 #define PV_EXTN_REGISTRY_POPULATOR_INTERFACE OsclUuid(0xf5a4c808,0x963b,0x48db,0xbd,0x13,0x2f,0x7a,0x1f,0x2b,0x41,0x2f)
10 class PVPlayerExtensionHandler;
11 class ExtensionRegistryInterface;
14 * ExtnRegPopulatorInterface
15 * Extension handler looks for Libraries supporting ExtnRegPopulatorInterface as mentioned in the configuration files
17 class ExtnRegPopulatorInterface
20 virtual void registerExtensions(ExtensionRegistryInterface* aRegistry) = 0;
22 virtual ~ExtnRegPopulatorInterface(){}
27 * It has the information regarding the creation and deletion of extensions along with its UUID.
29 class PVPlayerExtnInfo
34 mExtnCreateFunc = NULL;
35 mExtnReleaseFunc = NULL;
39 PVPlayerExtnInfo(const PVPlayerExtnInfo& info)
41 mExtnUID = info.mExtnUID;
42 mExtnCreateFunc = info.mExtnCreateFunc;
43 mExtnReleaseFunc = info.mExtnReleaseFunc;
50 IDispatch*(*mExtnCreateFunc)(PVPlayerExtensionHandler&);
51 bool (*mExtnReleaseFunc)(IDispatch *);
56 * ExtensionRegistryInterface
57 * This is the interface for Extension registry.
59 class ExtensionRegistryInterface
63 * This function creates the requested Extension, if the specified String UUID is present in the registry
66 * String UUID of the Extension which needs to be created
68 * Extension handler reference
70 * Handle to the instance of the extension
72 virtual IDispatch* createExtension(const String16& ifaceName,PVPlayerExtensionHandler& extnHandler ) = 0;
75 * This function is used for registering new extension.
78 * Infornmation required for creation and deletion of extension
80 virtual void registerExtension(const PVPlayerExtnInfo& extnInfo) = 0;
82 virtual ~ExtensionRegistryInterface(){}
85 #endif // EXTENSION_REGISTRY_POPULATOR_INTERFACE_H_INCLUDED