Support asynchronous plugin initializer
[platform/core/connectivity/zigbee-manager.git] / zigbee-daemon / zigbee-lib / include / zblib_plugin.h
index c901a96..cd77d97 100644 (file)
 #ifndef __ZIGBEE_LIB_PLUGIN_H__
 #define __ZIGBEE_LIB_PLUGIN_H__
 
+/**< ZigBee plug-in asynchronous initializer callback */
+typedef void (*zblib_plugin_init_finished_cb)(gboolean result, void *user_data);
+
 /**< ZigBee plug-in descriptor */
 typedef struct {
        const gchar *name;
        int version;
-       gboolean (*is_implemented)(); /**< Is plug-in implemented */
        gboolean (*load)(); /**< Load plugin */
        gboolean (*init)(ZigBeePlugin *); /**< Initialize plugin */
+       gboolean (*init_async)(ZigBeePlugin *, zblib_plugin_init_finished_cb, void *);
+                       /**< Initialize plugin asynchronously */
        void (*unload)(ZigBeePlugin *); /**< Unload plugin */
 } ZblibPluginDescriptor_t;