2017-09-23 02:17:57 +00:00
|
|
|
#ifndef B3_PLUGIN_API_H
|
|
|
|
#define B3_PLUGIN_API_H
|
|
|
|
|
|
|
|
#ifdef _WIN32
|
|
|
|
#define B3_SHARED_API __declspec(dllexport)
|
2018-09-23 21:17:31 +00:00
|
|
|
#elif defined(__GNUC__)
|
2017-09-23 02:17:57 +00:00
|
|
|
#define B3_SHARED_API __attribute__((visibility("default")))
|
|
|
|
#else
|
|
|
|
#define B3_SHARED_API
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(_WIN32)
|
|
|
|
#define B3_API_ENTRY
|
2018-09-23 21:17:31 +00:00
|
|
|
#define B3_API_CALL __cdecl
|
|
|
|
#define B3_CALLBACK __cdecl
|
2017-09-23 02:17:57 +00:00
|
|
|
#else
|
|
|
|
#define B3_API_ENTRY
|
|
|
|
#define B3_API_CALL
|
|
|
|
#define B3_CALLBACK
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
2018-09-23 21:17:31 +00:00
|
|
|
extern "C"
|
|
|
|
{
|
2017-09-23 02:17:57 +00:00
|
|
|
#endif
|
|
|
|
/* Plugin API */
|
2018-09-23 21:17:31 +00:00
|
|
|
typedef B3_API_ENTRY int(B3_API_CALL* PFN_INIT)(struct b3PluginContext* context);
|
|
|
|
typedef B3_API_ENTRY void(B3_API_CALL* PFN_EXIT)(struct b3PluginContext* context);
|
|
|
|
typedef B3_API_ENTRY int(B3_API_CALL* PFN_EXECUTE)(struct b3PluginContext* context, const struct b3PluginArguments* arguments);
|
|
|
|
typedef B3_API_ENTRY int(B3_API_CALL* PFN_TICK)(struct b3PluginContext* context);
|
2018-01-17 20:48:48 +00:00
|
|
|
|
2018-09-23 21:17:31 +00:00
|
|
|
typedef B3_API_ENTRY struct UrdfRenderingInterface*(B3_API_CALL* PFN_GET_RENDER_INTERFACE)(struct b3PluginContext* context);
|
|
|
|
typedef B3_API_ENTRY struct b3PluginCollisionInterface*(B3_API_CALL* PFN_GET_COLLISION_INTERFACE)(struct b3PluginContext* context);
|
2018-10-09 04:27:08 +00:00
|
|
|
typedef B3_API_ENTRY struct CommonFileIOInterface*(B3_API_CALL* PFN_GET_FILEIO_INTERFACE)(struct b3PluginContext* context);
|
2017-09-23 02:17:57 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2018-09-23 21:17:31 +00:00
|
|
|
#endif //B3_PLUGIN_API_H
|