* use enum types for settings getter/setter to have compiler check if keys are valid * generate enum types from struct at compile time * CMake option WITH_OPAQUE_SETTINGS to hide rdpStruct implementation from external projects