12#include <XPLM/XPLMPlanes.h>
13#include <XPLM/XPLMPlugin.h>
18# define XPLM_MSG_LIVERY_LOADED 108
23PLUGIN_API
int XPluginStart(
char *o_name,
char *o_sig,
char *o_desc)
27 XPLMEnableFeature(
"XPLM_USE_NATIVE_PATHS", 1);
30 INFO_LOG(
"xswiftbus plugin starting");
31 std::strcpy(o_name,
"xswiftbus");
32 std::strcpy(o_sig,
"org.swift-project.xswiftbus");
33 std::strcpy(o_desc,
"Allows swift to connect to X-Plane via D-Bus IPC");
37PLUGIN_API
void XPluginStop()
42PLUGIN_API
int XPluginEnable()
48PLUGIN_API
void XPluginDisable() {
delete g_plugin; }
50PLUGIN_API
void XPluginReceiveMessage(XPLMPluginID from,
long msg,
const void *param)
52 if (from == XPLM_PLUGIN_XPLANE)
54 if (!g_plugin || !g_plugin->isRunning())
56 WARNING_LOG(
"Received message, but plugin NOT running");
62 case XPLM_MSG_PLANE_LOADED:
63 case XPLM_MSG_LIVERY_LOADED:
64 if (
reinterpret_cast<intptr_t
>(param) == XPLM_USER_AIRCRAFT)
66 g_plugin->onAircraftModelChanged();
70 case XPLM_MSG_AIRPORT_LOADED: g_plugin->onAircraftRepositioned();
break;
72 case XPLM_MSG_SCENERY_LOADED: g_plugin->onSceneryLoaded();
break;
#define INFO_LOG(msg)
Logger convenience macros.
#define WARNING_LOG(msg)
Logger convenience macros.