generateSteamApi method

Future<void> generateSteamApi({
  1. required String path,
  2. required IOSink exportSink,
  3. Set<String> enumSet = const {},
  4. Set<String> structSet = const {},
  5. Set<String> callbackStructSet = const {},
})

Generates code for common steam apis

Implementation

Future<void> generateSteamApi({
  required String path,
  required IOSink exportSink,
  Set<String> enumSet = const {},
  Set<String> structSet = const {},
  Set<String> callbackStructSet = const {},
}) async {
  SteamInitializer steamApi = SteamInitializer(
    name: "SteamApi",
    methods: [
      SteamMethod(
        name: "Init",
        nameFlat: "SteamAPI_InitFlat",
        returnType: "ESteamAPIInitResult",
        params: [
          SteamParam(
            name: "outErrorMessage",
            type: "SteamErrMsg *",
          ),
        ],
      ),
      SteamMethod(
        name: "ReleaseCurrentThreadMemory",
        nameFlat: "SteamAPI_ReleaseCurrentThreadMemory",
        returnType: "void",
      ),
      SteamMethod(
        name: "RestartAppIfNecessary",
        nameFlat: "SteamAPI_RestartAppIfNecessary",
        returnType: "bool",
        params: [
          SteamParam(
            name: "unOwnAppID",
            type: "uint32",
          ),
        ],
      ),
      // SteamMethod(
      //   name: "RunCallbacks",
      //   nameFlat: "SteamAPI_RunCallbacks",
      //   returnType: "void",
      // ),
      SteamMethod(
        name: "Shutdown",
        nameFlat: "SteamAPI_Shutdown",
        returnType: "void",
      ),
      SteamMethod(
        name: "GetHSteamPipe",
        nameFlat: "SteamAPI_GetHSteamPipe",
        returnType: "HSteamPipe",
      ),
      SteamMethod(
        name: "GetHSteamUser",
        nameFlat: "SteamAPI_GetHSteamUser",
        returnType: "HSteamUser",
      ),
    ],
  );

  await steamApi.generateFile(
    path: path,
    exportSink: exportSink,
    enumSet: enumSet,
    structSet: structSet,
    callbackStructSet: callbackStructSet,
  );
}