Observed issue on clang-3.5:
plugins/include/plugintypes.h:52:9: \
error: empty struct has size 0 in C, size 1 in C++ [-Werror,-Wextern-c-compat]
It might help MSC compiler too
Change-Id: Ib7cea3d37001ba1256478c1895972d519353feb2
Credit-to: Pawel Winogrodzki <pawelwi@microsoft.com>
Signed-off-by: Philippe Coval <philippe.coval@osg.samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/18251
Reviewed-by: Dan Mihai <Daniel.Mihai@microsoft.com>
Reviewed-by: Rick Bell <richard.s.bell@intel.com>
Tested-by: jenkins-iotivity <jenkins@iotivity.org>
Reviewed-by: Dave Thaler <dthaler@microsoft.com>
(cherry picked from commit
9a779130a2e3c7fe21f981646efe6beaaf7ed9f5)
* @param[out] plugin The plugin handle that will be started.
*
*/
-OCStackResult PIStartPlugin(const char * comPort, PIPluginType pluginType, PIPlugin ** plugin);
+OCStackResult PIStartPlugin(const char * comPort, PIPluginType pluginType, PIPluginPtr* plugin);
/**
*
* @param[in] plugin The plugin to be stopped.
*
*/
-OCStackResult PIStopPlugin(PIPlugin * plugin);
+OCStackResult PIStopPlugin(PIPluginPtr plugin);
/**
*
* @param[in] plugin The plugin to initiate it's discovery operation on.
*
*/
-OCStackResult PISetup(PIPlugin * plugin);
+OCStackResult PISetup(PIPluginPtr plugin);
/**
*
* @param[in] plugin The plugin to get cycles from this function's invocation.
*
*/
-OCStackResult PIProcess(PIPlugin * plugin);
+OCStackResult PIProcess(PIPluginPtr plugin);
#ifdef __cplusplus
}
/**
* Handle to a plugin.
*/
-typedef struct PIPlugin {} PIPlugin;
+typedef struct PIPlugin *PIPluginPtr;
#ifdef __cplusplus
}
}
// PIStartPlugin
- PIPlugin* plugin = NULL;
+ PIPluginPtr plugin = NULL;
OIC_LOG(INFO, TAG, "IoTivity Initialized properly, Starting Zigbee Plugin...");
result = PIStartPlugin(defaultComPort, PLUGIN_ZIGBEE, &plugin);
if (result != OC_STACK_OK)
}
}
-OCStackResult PIStartPlugin(const char * comPort, PIPluginType pluginType, PIPlugin ** plugin)
+OCStackResult PIStartPlugin(const char * comPort, PIPluginType pluginType, PIPluginPtr * plugin)
{
if (!plugin || !comPort || strlen(comPort) == 0)
{
return result;
}
-OCStackResult PIStopPlugin(PIPlugin * plugin)
+OCStackResult PIStopPlugin(PIPluginPtr plugin)
{
if (!plugin)
{
return DeletePluginList();
}
-OCStackResult PISetup(PIPlugin * plugin)
+OCStackResult PISetup(PIPluginPtr plugin)
{
if (!plugin)
{
return result;
}
-OCStackResult PIProcess(PIPlugin * p_plugin)
+OCStackResult PIProcess(PIPluginPtr p_plugin)
{
PIPluginBase * plugin = (PIPluginBase *) p_plugin;
if (!plugin)