Skip to content

XPC Developer Information

Jason Watkins edited this page Apr 30, 2015 · 19 revisions

Quick Links: Plugin | Network | Client | Troubleshooting

#Plugin Information ##Components The following components make up the X-Plane Connect plugin. All components are written in C++. In general, there is a one-to-one correspondence between the components described below and a header file bearing the same name.

###Data Manager The Data Manager component provides a wrapper around the XPLM data interface. This component provides two basic data interface mechanisms. The primary mechanism is the DREF scoped enumeration that names commonly used X-Plane datarefs. The DataManager class provides methods to get and set the value of these datarefs in a strongly typed manner. Secondly, the DataManager class provides weakly typed methods to set arbitrary datarefs by name using floating point values.

###Drawing The Drawing component provides functionality for rendering graphics in the X-Plane environment. Currently, this includes writing a single text string on the screen, and rendering a sequence of waypoints in the X-Plane world.

###Log The Log component facilitates the logging of information about what the XPC plugin is doing while it is running. Logging is accomplished through two methods. Other components can write to the XPC log either by calling Log::WriteLine to write a string to the log directly, or Log::FormatLine to write a formatted string to the log.

###Message & Message Handlers The messaging component handles commands sent to the plugin. The Message class is primarily a data object containing the message data. The MessageHandlers class contains the core functionality of the plugin. It contains methods to operate on commands, and logic to dispatch incoming messages to the appropriate handler.

###UDPSocket The UDPScocket component is a thin wrapper around the platform networking API. Its primary purpose is to abstract cross-platform differences.

#Network Information

#Client Information

#Troubleshooting