Browse Source

refactor: Avoid exposing various internal types

Signed-off-by: Kai Krakow <kai@kaishome.de>
Kai Krakow 6 years ago
parent
commit
b9c9a5f120
2 changed files with 15 additions and 1 deletions
  1. 5 0
      daemon/gamemode.c
  2. 10 1
      daemon/gamemode.h

+ 5 - 0
daemon/gamemode.c

@@ -718,6 +718,11 @@ GameModeContext *game_mode_context_instance()
 	return &instance;
 }
 
+GameModeConfig *game_mode_config_from_context(const GameModeContext *context)
+{
+	return context ? context->config : NULL;
+}
+
 /**
  * Attempt to resolve the exe for wine-preloader.
  * This function is used if game_mode_context_find_exe() identified the

+ 10 - 1
daemon/gamemode.h

@@ -39,9 +39,10 @@ POSSIBILITY OF SUCH DAMAGE.
 typedef int procfd_t;
 
 /**
- * Opaque context
+ * Opaque types
  */
 typedef struct GameModeContext GameModeContext;
+typedef struct GameModeConfig GameModeConfig;
 
 /**
  * Return the singleton instance
@@ -88,6 +89,14 @@ bool game_mode_context_unregister(GameModeContext *self, pid_t pid);
  */
 int game_mode_context_query_status(GameModeContext *self, pid_t pid);
 
+/**
+ * Query the config of a gamemode context
+ *
+ * @param context A gamemode context
+ * @returns Configuration from the gamemode context
+ */
+GameModeConfig *game_mode_config_from_context(const GameModeContext *context);
+
 /** gamemode-env.c
  * Provides internal API functions specific to working environment
  * variables.