#ifndef SIMCONNECT_HELPERS_H
#define SIMCONNECT_HELPERS_H

#include <iostream>
#include <map>

namespace sc_helpers
{
    /**
     * @brief Used to identify data requests on SimConnect.
     * 
     * SimConnect uses Enums extensively to map specific requests to data structures.
     * This Enum allows the user to create data requests that are mapped to specific structs.
     */
    enum DATA_DEFINITION_ID
    {
        DEFINITION_ID_AC_IDENT,
        DEFINITION_ID_LOCATION_DATA
    };

    /**
     * @brief Define each type of data request made to SimConnect.
     */
    enum REQUEST_ID
    {
        REQUEST_ID_USER_OBJECT_AC_TYPE,
        REQUEST_ID_AIRCRAFT_TYPE_DATA,
        REQUEST_ID_ANIMAL_TYPE_DATA,
        REQUEST_ID_HELICOPTER_TYPE_DATA,
        REQUEST_ID_BOAT_TYPE_DATA,
        REQUEST_ID_GROUND_VEHICLE_TYPE_DATA,
        REQUEST_ID_ALL_TYPE_DATA,
        REQUEST_ID_USER_OBJECT_LOCATION_DATA,
        REQUEST_ID_CREATE_PARKED_AI_AIRCRAFT,
        REQUEST_ID_AI_RELEASE_CONTROL,
        REQUEST_ID_CREATE_SIMOBJECT,
        REQUEST_ID_AI_REMOVE_OBJECT
    };
}

#endif  // SIMCONNECT_HELPERS_H