#macro #events #wrapper #enums #internally #helper #sim-connect-rs

macro sim_connect_macros

Macros for use internally with sim_connect_rs and for use as helpers when using sim_connect_rs

4 releases

0.1.4 Apr 26, 2023
0.1.3 Apr 21, 2023
0.1.2 Apr 18, 2023
0.1.0 Apr 17, 2023

#17 in #internally


Used in 2 crates

MIT license

13KB
279 lines

sim_connect_rs

An opinionated wrapper around SimConnect which allows safe calling between the C api and Rust. Easy to use, and easy to create new datatypes for use in SimConnect.

Installation

  • Install the SimConnect SDK. Instructions located here
  • Specify if you want to dynamically or staticly link the library via a feature flag (static_link)

Cargo Addons

  • static_link

    • This will tell the compiler to staticly link SimConnect instead of requiring a .dll dependency
  • async

    • This will allow you to use asyncrounous versions of this API, such as waiting for data to be retrieved from SimConnect.
  • derive

    • This will allow you to easily create SimConnect structs by using a derive macro

Features

  • Async runtime
    • data is fetched on a background thread and returned to the client
  • Rust style enums
    • Use rust enums instead of C-Style vars to communicate with SimConnect
  • Auto-struct serialization
    • Using the derive macro provided, easily create structs which can communicate with SimConnect
  • Listener based event system
    • Instead of polling for events, just subscribe to an event and your callback will be invoked when an event is recieved.

Dependencies

~1.5MB
~40K SLoC