Cleanup lib imports
This commit is contained in:
BIN
SimConnect.dll
BIN
SimConnect.dll
Binary file not shown.
33
build.rs
33
build.rs
@@ -2,33 +2,13 @@ use std::env;
|
|||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
println!("cargo:rerun-if-changed=wrapper.h");
|
println!("cargo:rustc-link-search=ffi/lib");
|
||||||
println!("cargo:rerun-if-changed=SimConnect.dll");
|
println!("cargo:rustc-link-lib=static=SimConnect");
|
||||||
println!("cargo:rerun-if-changed=SimConnect.lib");
|
println!("cargo:rerun-if-changed=ffi/include/SimConnect.h");
|
||||||
|
println!("cargo:rerun-if-changed=ffi/lib/SimConnect.lib");
|
||||||
let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
|
|
||||||
let binary_name = "SimConnect";
|
|
||||||
let binary_name_dll = &format!("{binary_name}.dll");
|
|
||||||
|
|
||||||
let simconnect_path = PathBuf::from(env::current_dir().unwrap().to_str().unwrap());
|
|
||||||
let simconnect_dir = simconnect_path.as_path().to_str().unwrap();
|
|
||||||
println!("cargo:rustc-link-search={}", simconnect_dir);
|
|
||||||
println!("cargo:rustc-link-lib={}", binary_name);
|
|
||||||
|
|
||||||
// copy the dll
|
|
||||||
let mut source_path = PathBuf::from(simconnect_dir);
|
|
||||||
source_path.push(binary_name_dll);
|
|
||||||
|
|
||||||
let mut target_path = out_path.clone();
|
|
||||||
target_path.pop();
|
|
||||||
target_path.pop();
|
|
||||||
target_path.pop();
|
|
||||||
target_path.push(binary_name_dll);
|
|
||||||
|
|
||||||
std::fs::copy(source_path.as_path(), target_path.as_path()).unwrap();
|
|
||||||
|
|
||||||
let bindings = bindgen::Builder::default()
|
let bindings = bindgen::Builder::default()
|
||||||
.header("wrapper.h")
|
.header("ffi/include/SimConnect.h")
|
||||||
.parse_callbacks(Box::new(bindgen::CargoCallbacks))
|
.parse_callbacks(Box::new(bindgen::CargoCallbacks))
|
||||||
.clang_args(&["-x", "c++"])
|
.clang_args(&["-x", "c++"])
|
||||||
.allowlist_function("SimConnect_Open")
|
.allowlist_function("SimConnect_Open")
|
||||||
@@ -54,7 +34,8 @@ fn main() {
|
|||||||
.generate()
|
.generate()
|
||||||
.expect("Unable to generate bindings");
|
.expect("Unable to generate bindings");
|
||||||
|
|
||||||
|
let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
|
||||||
bindings
|
bindings
|
||||||
.write_to_file(out_path.join("bindings.rs"))
|
.write_to_file(out_path.join("bindings.rs"))
|
||||||
.expect("Couldn't write bindings!");
|
.expect("Failed to write the bindings!");
|
||||||
}
|
}
|
||||||
|
@@ -4,6 +4,8 @@
|
|||||||
//
|
//
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include "Windows.h"
|
||||||
|
|
||||||
#ifndef _SIMCONNECT_H_
|
#ifndef _SIMCONNECT_H_
|
||||||
#define _SIMCONNECT_H_
|
#define _SIMCONNECT_H_
|
||||||
|
|
||||||
@@ -34,7 +36,6 @@ static const float SIMCONNECT_CAMERA_IGNORE_FIELD = FLT_MAX; //Used to tell t
|
|||||||
|
|
||||||
static const DWORD SIMCONNECT_CLIENTDATA_MAX_SIZE = 8192; // maximum value for SimConnect_CreateClientData dwSize parameter
|
static const DWORD SIMCONNECT_CLIENTDATA_MAX_SIZE = 8192; // maximum value for SimConnect_CreateClientData dwSize parameter
|
||||||
|
|
||||||
|
|
||||||
// Notification Group priority values
|
// Notification Group priority values
|
||||||
static const DWORD SIMCONNECT_GROUP_PRIORITY_HIGHEST = 1; // highest priority
|
static const DWORD SIMCONNECT_GROUP_PRIORITY_HIGHEST = 1; // highest priority
|
||||||
static const DWORD SIMCONNECT_GROUP_PRIORITY_HIGHEST_MASKABLE = 10000000; // highest priority that allows events to be masked
|
static const DWORD SIMCONNECT_GROUP_PRIORITY_HIGHEST_MASKABLE = 10000000; // highest priority that allows events to be masked
|
||||||
@@ -84,7 +85,6 @@ static const DWORD SIMCONNECT_OPEN_CONFIGINDEX_LOCAL = -1; // ignore SimConn
|
|||||||
#define SIMCONNECT_ENUM_FLAGS typedef DWORD
|
#define SIMCONNECT_ENUM_FLAGS typedef DWORD
|
||||||
#define SIMCONNECT_USER_ENUM typedef DWORD
|
#define SIMCONNECT_USER_ENUM typedef DWORD
|
||||||
|
|
||||||
|
|
||||||
// Receive data types
|
// Receive data types
|
||||||
SIMCONNECT_ENUM SIMCONNECT_RECV_ID{
|
SIMCONNECT_ENUM SIMCONNECT_RECV_ID{
|
||||||
SIMCONNECT_RECV_ID_NULL,
|
SIMCONNECT_RECV_ID_NULL,
|
||||||
@@ -119,8 +119,6 @@ SIMCONNECT_ENUM SIMCONNECT_RECV_ID {
|
|||||||
#endif // ENABLE_SIMCONNECT_EXPERIMENTAL
|
#endif // ENABLE_SIMCONNECT_EXPERIMENTAL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Data data types
|
// Data data types
|
||||||
SIMCONNECT_ENUM SIMCONNECT_DATATYPE{
|
SIMCONNECT_ENUM SIMCONNECT_DATATYPE{
|
||||||
SIMCONNECT_DATATYPE_INVALID, // invalid data type
|
SIMCONNECT_DATATYPE_INVALID, // invalid data type
|
||||||
@@ -213,12 +211,10 @@ SIMCONNECT_ENUM SIMCONNECT_PERIOD {
|
|||||||
SIMCONNECT_PERIOD_SECOND,
|
SIMCONNECT_PERIOD_SECOND,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
SIMCONNECT_ENUM SIMCONNECT_MISSION_END{
|
SIMCONNECT_ENUM SIMCONNECT_MISSION_END{
|
||||||
SIMCONNECT_MISSION_FAILED,
|
SIMCONNECT_MISSION_FAILED,
|
||||||
SIMCONNECT_MISSION_CRASHED,
|
SIMCONNECT_MISSION_CRASHED,
|
||||||
SIMCONNECT_MISSION_SUCCEEDED
|
SIMCONNECT_MISSION_SUCCEEDED};
|
||||||
};
|
|
||||||
|
|
||||||
// ClientData Request Period values
|
// ClientData Request Period values
|
||||||
SIMCONNECT_ENUM SIMCONNECT_CLIENT_DATA_PERIOD{
|
SIMCONNECT_ENUM SIMCONNECT_CLIENT_DATA_PERIOD{
|
||||||
@@ -282,15 +278,12 @@ SIMCONNECT_ENUM SIMCONNECT_FACILITY_LIST_TYPE {
|
|||||||
SIMCONNECT_FACILITY_LIST_TYPE_COUNT // invalid
|
SIMCONNECT_FACILITY_LIST_TYPE_COUNT // invalid
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
SIMCONNECT_ENUM_FLAGS SIMCONNECT_VOR_FLAGS; // flags for SIMCONNECT_RECV_ID_VOR_LIST
|
SIMCONNECT_ENUM_FLAGS SIMCONNECT_VOR_FLAGS; // flags for SIMCONNECT_RECV_ID_VOR_LIST
|
||||||
static const DWORD SIMCONNECT_RECV_ID_VOR_LIST_HAS_NAV_SIGNAL = 0x00000001; // Has Nav signal
|
static const DWORD SIMCONNECT_RECV_ID_VOR_LIST_HAS_NAV_SIGNAL = 0x00000001; // Has Nav signal
|
||||||
static const DWORD SIMCONNECT_RECV_ID_VOR_LIST_HAS_LOCALIZER = 0x00000002; // Has localizer
|
static const DWORD SIMCONNECT_RECV_ID_VOR_LIST_HAS_LOCALIZER = 0x00000002; // Has localizer
|
||||||
static const DWORD SIMCONNECT_RECV_ID_VOR_LIST_HAS_GLIDE_SLOPE = 0x00000004; // Has Nav signal
|
static const DWORD SIMCONNECT_RECV_ID_VOR_LIST_HAS_GLIDE_SLOPE = 0x00000004; // Has Nav signal
|
||||||
static const DWORD SIMCONNECT_RECV_ID_VOR_LIST_HAS_DME = 0x00000008; // Station has DME
|
static const DWORD SIMCONNECT_RECV_ID_VOR_LIST_HAS_DME = 0x00000008; // Station has DME
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// bits for the Waypoint Flags field: may be combined
|
// bits for the Waypoint Flags field: may be combined
|
||||||
SIMCONNECT_ENUM_FLAGS SIMCONNECT_WAYPOINT_FLAGS;
|
SIMCONNECT_ENUM_FLAGS SIMCONNECT_WAYPOINT_FLAGS;
|
||||||
static const DWORD SIMCONNECT_WAYPOINT_NONE = 0x00;
|
static const DWORD SIMCONNECT_WAYPOINT_NONE = 0x00;
|
||||||
@@ -325,7 +318,6 @@ SIMCONNECT_ENUM_FLAGS SIMCONNECT_CREATE_CLIENT_DATA_FLAG;
|
|||||||
static const DWORD SIMCONNECT_CREATE_CLIENT_DATA_FLAG_DEFAULT = 0x00000000;
|
static const DWORD SIMCONNECT_CREATE_CLIENT_DATA_FLAG_DEFAULT = 0x00000000;
|
||||||
static const DWORD SIMCONNECT_CREATE_CLIENT_DATA_FLAG_READ_ONLY = 0x00000001; // permit only ClientData creator to write into ClientData
|
static const DWORD SIMCONNECT_CREATE_CLIENT_DATA_FLAG_READ_ONLY = 0x00000001; // permit only ClientData creator to write into ClientData
|
||||||
|
|
||||||
|
|
||||||
SIMCONNECT_ENUM_FLAGS SIMCONNECT_CLIENT_DATA_REQUEST_FLAG;
|
SIMCONNECT_ENUM_FLAGS SIMCONNECT_CLIENT_DATA_REQUEST_FLAG;
|
||||||
static const DWORD SIMCONNECT_CLIENT_DATA_REQUEST_FLAG_DEFAULT = 0x00000000;
|
static const DWORD SIMCONNECT_CLIENT_DATA_REQUEST_FLAG_DEFAULT = 0x00000000;
|
||||||
static const DWORD SIMCONNECT_CLIENT_DATA_REQUEST_FLAG_CHANGED = 0x00000001; // send requested ClientData when value(s) change
|
static const DWORD SIMCONNECT_CLIENT_DATA_REQUEST_FLAG_CHANGED = 0x00000001; // send requested ClientData when value(s) change
|
||||||
@@ -335,7 +327,6 @@ SIMCONNECT_ENUM_FLAGS SIMCONNECT_CLIENT_DATA_SET_FLAG;
|
|||||||
static const DWORD SIMCONNECT_CLIENT_DATA_SET_FLAG_DEFAULT = 0x00000000;
|
static const DWORD SIMCONNECT_CLIENT_DATA_SET_FLAG_DEFAULT = 0x00000000;
|
||||||
static const DWORD SIMCONNECT_CLIENT_DATA_SET_FLAG_TAGGED = 0x00000001; // data is in tagged format
|
static const DWORD SIMCONNECT_CLIENT_DATA_SET_FLAG_TAGGED = 0x00000001; // data is in tagged format
|
||||||
|
|
||||||
|
|
||||||
SIMCONNECT_ENUM_FLAGS SIMCONNECT_VIEW_SYSTEM_EVENT_DATA; // dwData contains these flags for the "View" System Event
|
SIMCONNECT_ENUM_FLAGS SIMCONNECT_VIEW_SYSTEM_EVENT_DATA; // dwData contains these flags for the "View" System Event
|
||||||
static const DWORD SIMCONNECT_VIEW_SYSTEM_EVENT_DATA_COCKPIT_2D = 0x00000001; // 2D Panels in cockpit view
|
static const DWORD SIMCONNECT_VIEW_SYSTEM_EVENT_DATA_COCKPIT_2D = 0x00000001; // 2D Panels in cockpit view
|
||||||
static const DWORD SIMCONNECT_VIEW_SYSTEM_EVENT_DATA_COCKPIT_VIRTUAL = 0x00000002; // Virtual (3D) panels in cockpit view
|
static const DWORD SIMCONNECT_VIEW_SYSTEM_EVENT_DATA_COCKPIT_VIRTUAL = 0x00000002; // Virtual (3D) panels in cockpit view
|
||||||
@@ -344,11 +335,9 @@ SIMCONNECT_ENUM_FLAGS SIMCONNECT_VIEW_SYSTEM_EVENT_DATA; // dwDat
|
|||||||
SIMCONNECT_ENUM_FLAGS SIMCONNECT_SOUND_SYSTEM_EVENT_DATA; // dwData contains these flags for the "Sound" System Event
|
SIMCONNECT_ENUM_FLAGS SIMCONNECT_SOUND_SYSTEM_EVENT_DATA; // dwData contains these flags for the "Sound" System Event
|
||||||
static const DWORD SIMCONNECT_SOUND_SYSTEM_EVENT_DATA_MASTER = 0x00000001; // Sound Master
|
static const DWORD SIMCONNECT_SOUND_SYSTEM_EVENT_DATA_MASTER = 0x00000001; // Sound Master
|
||||||
|
|
||||||
|
|
||||||
#ifdef ENABLE_SIMCONNECT_EXPERIMENTAL
|
#ifdef ENABLE_SIMCONNECT_EXPERIMENTAL
|
||||||
|
|
||||||
SIMCONNECT_ENUM_FLAGS SIMCONNECT_PICK_FLAGS
|
SIMCONNECT_ENUM_FLAGS SIMCONNECT_PICK_FLAGS{
|
||||||
{
|
|
||||||
SIMCONNECT_PICK_GROUND = 0x01, // pick ground/ pick result item is ground location
|
SIMCONNECT_PICK_GROUND = 0x01, // pick ground/ pick result item is ground location
|
||||||
SIMCONNECT_PICK_AI = 0x02, // pick AI / pick result item is AI, (dwSimObjectID is valid)
|
SIMCONNECT_PICK_AI = 0x02, // pick AI / pick result item is AI, (dwSimObjectID is valid)
|
||||||
SIMCONNECT_PICK_SCENERY = 0x04, // pick scenery/ pick result item is scenery object (hSceneryObject is valid)
|
SIMCONNECT_PICK_SCENERY = 0x04, // pick scenery/ pick result item is scenery object (hSceneryObject is valid)
|
||||||
@@ -371,7 +360,6 @@ SIMCONNECT_USER_ENUM SIMCONNECT_CLIENT_EVENT_ID; //client-defined clie
|
|||||||
SIMCONNECT_USER_ENUM SIMCONNECT_CLIENT_DATA_ID; // client-defined client data ID
|
SIMCONNECT_USER_ENUM SIMCONNECT_CLIENT_DATA_ID; // client-defined client data ID
|
||||||
SIMCONNECT_USER_ENUM SIMCONNECT_CLIENT_DATA_DEFINITION_ID; // client-defined client data definition ID
|
SIMCONNECT_USER_ENUM SIMCONNECT_CLIENT_DATA_DEFINITION_ID; // client-defined client data definition ID
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// Struct definitions
|
// Struct definitions
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
@@ -410,8 +398,7 @@ SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_OPEN : public SIMCONNECT_RECV // when dwI
|
|||||||
};
|
};
|
||||||
|
|
||||||
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_QUIT : public SIMCONNECT_RECV // when dwID == SIMCONNECT_RECV_ID_QUIT
|
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_QUIT : public SIMCONNECT_RECV // when dwID == SIMCONNECT_RECV_ID_QUIT
|
||||||
{
|
{};
|
||||||
};
|
|
||||||
|
|
||||||
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_EVENT : public SIMCONNECT_RECV // when dwID == SIMCONNECT_RECV_ID_EVENT
|
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_EVENT : public SIMCONNECT_RECV // when dwID == SIMCONNECT_RECV_ID_EVENT
|
||||||
{
|
{
|
||||||
@@ -492,12 +479,10 @@ SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_SIMOBJECT_DATA : public SIMCONNECT_RECV
|
|||||||
};
|
};
|
||||||
|
|
||||||
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_SIMOBJECT_DATA_BYTYPE : public SIMCONNECT_RECV_SIMOBJECT_DATA // when dwID == SIMCONNECT_RECV_ID_SIMOBJECT_DATA_BYTYPE
|
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_SIMOBJECT_DATA_BYTYPE : public SIMCONNECT_RECV_SIMOBJECT_DATA // when dwID == SIMCONNECT_RECV_ID_SIMOBJECT_DATA_BYTYPE
|
||||||
{
|
{};
|
||||||
};
|
|
||||||
|
|
||||||
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_CLIENT_DATA : public SIMCONNECT_RECV_SIMOBJECT_DATA // when dwID == SIMCONNECT_RECV_ID_CLIENT_DATA
|
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_CLIENT_DATA : public SIMCONNECT_RECV_SIMOBJECT_DATA // when dwID == SIMCONNECT_RECV_ID_CLIENT_DATA
|
||||||
{
|
{};
|
||||||
};
|
|
||||||
|
|
||||||
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_WEATHER_OBSERVATION : public SIMCONNECT_RECV // when dwID == SIMCONNECT_RECV_ID_WEATHER_OBSERVATION
|
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_WEATHER_OBSERVATION : public SIMCONNECT_RECV // when dwID == SIMCONNECT_RECV_ID_WEATHER_OBSERVATION
|
||||||
{
|
{
|
||||||
@@ -542,8 +527,7 @@ SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_CUSTOM_ACTION : public SIMCONNECT_RECV_EVEN
|
|||||||
SIMCONNECT_STRINGV(szPayLoad); // Variable length string payload associated with the mission action.
|
SIMCONNECT_STRINGV(szPayLoad); // Variable length string payload associated with the mission action.
|
||||||
};
|
};
|
||||||
|
|
||||||
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_EVENT_WEATHER_MODE : public SIMCONNECT_RECV_EVENT
|
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_EVENT_WEATHER_MODE : public SIMCONNECT_RECV_EVENT{
|
||||||
{
|
|
||||||
// No event specific data - the new weather mode is in the base structure dwData member.
|
// No event specific data - the new weather mode is in the base structure dwData member.
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -571,7 +555,6 @@ SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_AIRPORT_LIST : public SIMCONNECT_RECV_FACIL
|
|||||||
SIMCONNECT_FIXEDTYPE_DATAV(SIMCONNECT_DATA_FACILITY_AIRPORT, rgData, dwArraySize, U1 /*member of UnmanagedType enum*/, SIMCONNECT_DATA_FACILITY_AIRPORT /*cli type*/);
|
SIMCONNECT_FIXEDTYPE_DATAV(SIMCONNECT_DATA_FACILITY_AIRPORT, rgData, dwArraySize, U1 /*member of UnmanagedType enum*/, SIMCONNECT_DATA_FACILITY_AIRPORT /*cli type*/);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// SIMCONNECT_DATA_FACILITY_WAYPOINT
|
// SIMCONNECT_DATA_FACILITY_WAYPOINT
|
||||||
SIMCONNECT_REFSTRUCT SIMCONNECT_DATA_FACILITY_WAYPOINT : public SIMCONNECT_DATA_FACILITY_AIRPORT
|
SIMCONNECT_REFSTRUCT SIMCONNECT_DATA_FACILITY_WAYPOINT : public SIMCONNECT_DATA_FACILITY_AIRPORT
|
||||||
{
|
{
|
||||||
@@ -632,7 +615,6 @@ SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_PICK : public SIMCONNECT_RECV // when dwID
|
|||||||
|
|
||||||
#endif // ENABLE_SIMCONNECT_EXPERIMENTAL
|
#endif // ENABLE_SIMCONNECT_EXPERIMENTAL
|
||||||
|
|
||||||
|
|
||||||
// SIMCONNECT_DATATYPE_INITPOSITION
|
// SIMCONNECT_DATATYPE_INITPOSITION
|
||||||
SIMCONNECT_STRUCT SIMCONNECT_DATA_INITPOSITION
|
SIMCONNECT_STRUCT SIMCONNECT_DATA_INITPOSITION
|
||||||
{
|
{
|
||||||
@@ -646,7 +628,6 @@ SIMCONNECT_STRUCT SIMCONNECT_DATA_INITPOSITION
|
|||||||
DWORD Airspeed; // knots
|
DWORD Airspeed; // knots
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// SIMCONNECT_DATATYPE_MARKERSTATE
|
// SIMCONNECT_DATATYPE_MARKERSTATE
|
||||||
SIMCONNECT_STRUCT SIMCONNECT_DATA_MARKERSTATE
|
SIMCONNECT_STRUCT SIMCONNECT_DATA_MARKERSTATE
|
||||||
{
|
{
|
Reference in New Issue
Block a user