aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Xbox/Sentient/Include/SenClientUser.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/Xbox/Sentient/Include/SenClientUser.h')
-rw-r--r--Minecraft.Client/Xbox/Sentient/Include/SenClientUser.h104
1 files changed, 104 insertions, 0 deletions
diff --git a/Minecraft.Client/Xbox/Sentient/Include/SenClientUser.h b/Minecraft.Client/Xbox/Sentient/Include/SenClientUser.h
new file mode 100644
index 00000000..cf3ef0b3
--- /dev/null
+++ b/Minecraft.Client/Xbox/Sentient/Include/SenClientUser.h
@@ -0,0 +1,104 @@
+/********************************************************
+* *
+* Copyright (C) Microsoft. All rights reserved. *
+* *
+********************************************************/
+
+// Sentient Client User API
+//
+// Include this to get access to all user-related Sentient features.
+
+#pragma once
+
+#include "SenClientSys.h"
+
+
+namespace Sentient
+{
+ //======================//
+ // //
+ // User Data Types //
+ // //
+ //======================//
+
+ /// @brief Roles a user can have in Sentient
+ ///
+ /// @details Roles are not necessarily mutually exclusive.
+ /// A single user may be in multiple roles simultaneously.
+ ///
+ enum SenUserRole
+ {
+ /// The user is a UGC moderator.
+ SenUserRole_UGC_Moderator,
+
+ /// The user has been banned from UGC participation.
+ SenUserRole_UGC_Banned,
+ };
+
+
+ //======================//
+ // //
+ // User Functions //
+ // //
+ //======================//
+
+ /// @brief Ask Sentient whether a user belongs to the enumerated roles
+ ///
+ /// @param[in] userIndex
+ /// Local index [0-3] of the user whose role is being checked
+ ///
+ /// @param[in] role
+ /// Role to check
+ ///
+ /// @param[out] out_isInRole
+ /// Location to store the output role membership state
+ ///
+ /// @param[in] userCallback
+ /// If this call returns a success code, the userCallback will be called at the end of the asynchronous process.
+ ///
+ /// @param[in] userCallbackData
+ /// Data to be passed to the @a userCallback on completion.
+ ///
+ /// @return Check SUCCEEDED( hresult ) or FAILED( hresult ) to determine success. Specific values include:
+ /// SENTIENT_E_NOT_INITIALIZED: You did not call SentientInitialize() first.
+ /// E_POINTER: out_isInRole is NULL.
+ /// E_FAIL: Failed to spawn server call.
+ /// S_OK: Server call spawned successfully.
+ ///
+ HRESULT SenUserIsInRole(
+ int userIndex,
+ SenUserRole role,
+ bool *out_isInRole,
+ SenSysCompletedCallback userCallback,
+ void *userCallbackData );
+
+ /// @brief Ask Sentient whether a user belongs to the enumerated roles
+ ///
+ /// @param[in] xuid
+ /// XUID of user whose role is being checked
+ ///
+ /// @param[in] role
+ /// Role to check
+ ///
+ /// @param[out] out_isInRole
+ /// Location to store the output role membership state
+ ///
+ /// @param[in] userCallback
+ /// If this call returns a success code, the userCallback will be called at the end of the asynchronous process.
+ ///
+ /// @param[in] userCallbackData
+ /// Data to be passed to the @a userCallback on completion.
+ ///
+ /// @return Check SUCCEEDED( hresult ) or FAILED( hresult ) to determine success. Specific values include:
+ /// SENTIENT_E_NOT_INITIALIZED: You did not call SentientInitialize() first.
+ /// E_POINTER: out_isInRole is NULL.
+ /// E_FAIL: Failed to spawn server call.
+ /// S_OK: Server call spawned successfully.
+ ///
+ HRESULT SenUserIsInRole(
+ PlayerUID xuid,
+ SenUserRole role,
+ bool *out_isInRole,
+ SenSysCompletedCallback userCallback,
+ void *userCallbackData );
+} \ No newline at end of file