add arguments to plugin system

This commit is contained in:
erwincoumans
2017-09-23 07:52:10 -07:00
parent 5f6cd6a42b
commit 37cfce99b2
6 changed files with 13 additions and 9 deletions

View File

@@ -32,6 +32,9 @@ SET(BulletRobotics_SRCS
../../examples/SharedMemory/PhysicsDirectC_API.h
../../examples/SharedMemory/PhysicsServerCommandProcessor.cpp
../../examples/SharedMemory/PhysicsServerCommandProcessor.h
../../examples/SharedMemory/b3PluginManager.cpp
../../examples/SharedMemory/b3PluginManager.h
../../examples/SharedMemory/PhysicsClientSharedMemory.cpp
../../examples/SharedMemory/PhysicsClientSharedMemory.h
../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.cpp

View File

@@ -145,7 +145,7 @@ int b3PluginManager::executePluginCommand(int pluginUniqueId, const char* argume
b3PluginHandle* plugin = m_data->m_plugins.getHandle(pluginUniqueId);
if (plugin)
{
result = plugin->m_executeCommandFunc();
result = plugin->m_executeCommandFunc(arguments);
}
return result;
}

View File

@@ -12,8 +12,8 @@
#if defined(_WIN32)
#define B3_API_ENTRY
#define B3_API_CALL __stdcall
#define B3_CALLBACK __stdcall
#define B3_API_CALL __cdecl
#define B3_CALLBACK __cdecl
#else
#define B3_API_ENTRY
#define B3_API_CALL
@@ -28,7 +28,7 @@ extern "C" {
/* Plugin API */
typedef B3_API_ENTRY int (B3_API_CALL * PFN_INIT)();
typedef B3_API_ENTRY void (B3_API_CALL * PFN_EXIT)();
typedef B3_API_ENTRY int (B3_API_CALL * PFN_EXECUTE)();
typedef B3_API_ENTRY int (B3_API_CALL * PFN_EXECUTE)(const char* arguments);
#ifdef __cplusplus
}

View File

@@ -10,8 +10,9 @@ B3_SHARED_API int initPlugin()
return SHARED_MEMORY_MAGIC_NUMBER;
}
B3_SHARED_API int executePluginCommand()
B3_SHARED_API int executePluginCommand(const char* arguments)
{
printf("arguments:%s\n",arguments);
return 42;
}

View File

@@ -10,7 +10,7 @@ extern "C"
B3_SHARED_API int initPlugin();
B3_SHARED_API void exitPlugin();
B3_SHARED_API int executePluginCommand();
B3_SHARED_API int executePluginCommand(const char* arguments);
#ifdef __cplusplus
};

View File

@@ -6726,6 +6726,9 @@ static PyObject* pybullet_executePluginCommand(PyObject* self,
int pluginUniqueId = -1;
int commandUniqueId = -1;
char* arguments = 0;
b3SharedMemoryCommandHandle command=0;
b3SharedMemoryStatusHandle statusHandle=0;
int statusType = -1;
b3PhysicsClientHandle sm = 0;
static char* kwlist[] = { "pluginUniqueId", "commandUniqueId", "arguments", "physicsClientId", NULL };
@@ -6741,9 +6744,6 @@ static PyObject* pybullet_executePluginCommand(PyObject* self,
return NULL;
}
b3SharedMemoryCommandHandle command=0;
b3SharedMemoryStatusHandle statusHandle=0;
int statusType = -1;
command = b3CreateCustomCommand(sm);
b3CustomCommandExecutePluginCommand(command, pluginUniqueId, commandUniqueId, arguments);