Files
simconnect-sdk-rs/FEATURES.md
Mihai Dinculescu d89fa524c2 Rework events and add proper support for client events
Added

- Client events are now implemented through `SimConnect::subscribe_to_client_event`, `SimConnect::unsubscribe_from_client_event` and `SimConnect::unsubscribe_from_all_client_events`.
- `subscribe_to_client_events.rs` example has been added.
- `SimConnectError::EventAlreadySubscribedTo` and `SimConnectError::EventNotSubscribedTo` error variants have been added.

Changed

- A second call to `SimConnect::subscribe_to_system_event` for the same event will now return an error of type `SimConnectError::EventAlreadySubscribedTo` instead of `SimConnectError::SimConnectException`.
- The call to `SimConnect::unsubscribe_from_system_event` is now a NOOP when the system event is not subscribed to.
- `SimConnectError::UnimplementedMessageType` has been renamed to `SimConnectError::UnimplementedNotification`.

Removed

- `SimConnect::register_event` has been replaced by the new client event functions.
- `NotificationGroup` has been removed in favor of an internally managed notification group.
2023-05-01 19:13:30 +01:00

7.3 KiB

Features

General

Feature Status Comment
DispatchProc
SimConnect_Open
SimConnect_Close
SimConnect_CallDispatch
SimConnect_GetNextDispatch
SimConnect_RequestSystemState
SimConnect_MapClientEventToSimEvent Encapsulated by subscribe_to_client_event.
SimConnect_SubscribeToSystemEvent
SimConnect_SetSystemEventState
SimConnect_UnsubscribeFromSystemEvent
SimConnect_SetNotificationGroupPriority Encapsulated by subscribe_to_client_event.

Events And Data

Feature Status Comment
SimConnect_RequestDataOnSimObject Only for SIMCONNECT_OBJECT_ID_USER.
SimConnect_RequestDataOnSimObjectType
SimConnect_AddClientEventToNotificationGroup Encapsulated by subscribe_to_client_event.
SimConnect_RemoveClientEvent
SimConnect_TransmitClientEvent
SimConnect_TransmitClientEvent_EX1
SimConnect_MapClientDataNameToID
SimConnect_RequestClientData
SimConnect_CreateClientData
SimConnect_AddToClientDataDefinition
SimConnect_AddToDataDefinition Encapsulated by register_object and the simconnect macro. Supports f64, bool and String.
SimConnect_SetClientData
SimConnect_SetDataOnSimObject
SimConnect_ClearClientDataDefinition
SimConnect_ClearDataDefinition
SimConnect_MapInputEventToClientEvent
SimConnect_RequestNotificationGroup
SimConnect_ClearInputGroup
SimConnect_ClearNotificationGroup Implemented by unsubscribe_from_all_client_events.
SimConnect_RequestReservedKey
SimConnect_SetInputGroupPriority
SimConnect_SetInputGroupState
SimConnect_RemoveInputEvent

AI Objects

Feature Status Comment
SimConnect_AICreateEnrouteATCAircraft
SimConnect_AICreateNonATCAircraft
SimConnect_AICreateParkedATCAircraft
SimConnect_AICreateSimulatedObject
SimConnect_AIReleaseControl
SimConnect_AIRemoveObject
SimConnect_AISetAircraftFlightPlan

Flights

Feature Status Comment
SimConnect_FlightLoad
SimConnect_FlightSave
SimConnect_FlightPlanLoad

Debug

Feature Status Comment
SimConnect_GetLastSentPacketID
SimConnect_RequestResponseTimes
SimConnect_InsertString
SimConnect_RetrieveString

Facilities

Feature Status Comment
SimConnect_AddToFacilityDefinition
SimConnect_RequestFacilitesList
SimConnect_RequestFacilitiesList_EX1
SimConnect_RequestFacilityData
SimConnect_SubscribeToFacilities
SimConnect_SubscribeToFacilities_EX1
SimConnect_UnsubscribeToFacilities
SimConnect_UnsubscribeToFacilities_EX1

Missions

Feature Status Comment
SimConnect_CompleteCustomMissionAction
SimConnect_ExecuteMissionAction