Monado OpenXR Runtime
Loading...
Searching...
No Matches
oxr_binding.c File Reference

Holds binding related functions. More...

#include "util/u_misc.h"
#include "oxr_binding.h"
#include "oxr_binding_profile.h"
#include "oxr_binding_registry.h"
#include "oxr_generated_bindings.h"
#include "oxr_dpad_state.h"
#include "oxr_session_action_context.h"
#include "oxr_suggested_profile_array.h"
#include "../oxr_objects.h"
#include "../oxr_logger.h"
#include "../oxr_two_call.h"
#include <stdio.h>
#include <string.h>
Include dependency graph for oxr_binding.c:

Macros

#define IDENTIFY_TOP_LEVEL_PATH(X)
 

Functions

static bool get_profile_template_from_path (const struct oxr_instance_path_cache *cache, XrPath path, struct oxr_profile_template **out_templ)
 
static bool suggested_profile_find_or_create_in_instance (struct oxr_logger *log, const struct oxr_instance_path_cache *cache, struct oxr_instance_action_context *context, XrPath path, struct oxr_suggested_profile **out_p)
 
static void add_string (char *temp, size_t max, ssize_t *current, const char *str)
 
XrResult oxr_action_suggest_interaction_profile_bindings (struct oxr_logger *log, struct oxr_path_store *store, const struct oxr_instance_path_cache *cache, struct oxr_instance_action_context *inst_context, const XrInteractionProfileSuggestedBinding *suggestedBindings, struct oxr_dpad_state *dpad_state)
 
XrResult oxr_action_get_current_interaction_profile (struct oxr_logger *log, const struct oxr_instance_path_cache *cache, const struct oxr_session_action_context *action_context, XrPath topLevelUserPath, XrInteractionProfileState *interactionProfile)
 
XrResult oxr_action_get_input_source_localized_name (struct oxr_logger *log, const struct oxr_path_store *store, const struct oxr_session_action_context *action_context, const XrInputSourceLocalizedNameGetInfo *getInfo, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, char *buffer)
 

Detailed Description

Macro Definition Documentation

◆ IDENTIFY_TOP_LEVEL_PATH

#define IDENTIFY_TOP_LEVEL_PATH (   X)
Value:
if (topLevelUserPath == cache->X) { \
interactionProfile->interactionProfile = action_context->X; \
} else

Function Documentation

◆ oxr_action_get_input_source_localized_name()

XrResult oxr_action_get_input_source_localized_name ( struct oxr_logger *  log,
const struct oxr_path_store *  store,
const struct oxr_session_action_context *  action_context,
const XrInputSourceLocalizedNameGetInfo *  getInfo,
uint32_t  bufferCapacityInput,
uint32_t *  bufferCountOutput,
char *  buffer 
)
Todo:
This implementation is very very very inelegant.

Referenced by oxr_xrGetInputSourceLocalizedName().