/**
*
+ * Performs any required work on this specific plugin to initiate it's respective
+ * discovery operation.
+ *
+ * @param[in] plugin The plugin to initiate it's discovery operation on.
+ *
+ */
+OCStackResult PISetup(PIPlugin * plugin);
+
+/**
+ *
* Called in main loop of application. Gives cycles for Plugin Interface'
* internal operation.
*
{
return OC_STACK_ERROR;
}
- result = AddPlugin((PIPluginBase *) *plugin);
- if (result == OC_STACK_OK)
+ result = AddPlugin((PIPluginBase *)*plugin);
+ if(result != OC_STACK_OK)
{
- result = ZigbeeDiscover((PIPlugin_Zigbee *) plugin);
+ return result;
}
}
return result;
return DeletePluginList();
}
+OCStackResult PISetup(PIPlugin * plugin)
+{
+ if (!plugin)
+ {
+ return OC_STACK_INVALID_PARAM;
+ }
+ OCStackResult result = OC_STACK_ERROR;
+ if (((PIPluginBase *)plugin)->type == PLUGIN_ZIGBEE)
+ {
+ result = ZigbeeDiscover((PIPlugin_Zigbee *) plugin);
+ if( result != OC_STACK_OK)
+ {
+ return result;
+ }
+ }
+ return result;
+}
+
OCStackResult PIProcess(PIPlugin * p_plugin)
{
PIPluginBase * plugin = (PIPluginBase *) p_plugin;