game_chat_communication_relationship_adjuster

Defines the extra adjustment steps applied by Game Chat 2 to a communication relationship that was previously set by calling chat_user_local::set_communication_relationship.

Syntax

enum class game_chat_communication_relationship_adjuster  
{  
    uninitialized,  
    initializing,  
    none,  
    privilege,  
    privacy,  
    reputation,  
    conflict_with_other_user,  
    privilege_check_failure,  
    resolve_user_issue,
    service_unavailable,
}  

Constants

Constant Description
uninitialized No relationship has been set by the app for the pair of users.

Game Chat 2 cannot initialize the adjusters for a pair of users until a relationship has been set that allows communication in at least one direction.
initializing Game Chat 2 is initializing information about one of the target users regarding privilege, privacy, or reputation.

The effective communication is set to none while the adjuster is in this state.
none Game Chat 2 is applying no extra adjustment to this relationship.

The effective relationship is set to what was specified by the most recent call to chat_user_local::set_communication_relationship.
privilege Game Chat 2 is restricting communication due to the local user's communication privilege, which the local user might be able to resolve with UI.

The game_chat_communication_relationship_flags::send_microphone_audio, game_chat_communication_relationship_flags::send_text_to_speech_audio, and game_chat_communication_relationship_flags::send_text relationship flags are set to false from the relationship while this adjuster is applied. The app can call the XUserResolvePrivilegeWithUiAsync method, specifying the XUserPrivilegeOptions::None constant in the options parameter and the XUserPrivilege::Communications constant in the privilege parameter, to attempt to resolve the issue. The user may be unable or unwilling to resolve the issue. If the user does resolve the issue, the resoluton takes effect the next time the user is added to Game Chat 2.
privacy Game Chat 2 is restricting communication due to the local user's privacy settings in relation to the remote user.

The game_chat_communication_relationship_flags::receive_audio and game_chat_communication_relationship_flags::receive_text relationship flags are set to false from the relationship while this adjuster is applied. In addition, the game_chat_communication_relationship_flags::send_microphone_audio, game_chat_communication_relationship_flags::send_text_to_speech_audio, and game_chat_communication_relationship_flags::send_text relationship flags might be set to false based on the nature of the privacy restriction.
reputation Game Chat 2 is restricting communication because the user has an "Avoid Me" reputation designated by the Xbox Live service.

The game_chat_communication_relationship_flags::receive_audio and game_chat_communication_relationship_flags::receive_text relationship flags are set to false from the relationship while this adjuster is applied.
conflict_with_other_user The user is on a shared device, such as Kinect, and the relationship has been modified due to the other user's relationship settings.

The conflict is resolved based on the settings specified in the chat_manager::initialize method.
privilege_check_failure Game Chat 2 is restricting communication due to a failure to retrieve the user's privileges.

The game_chat_communication_relationship_flags::send_microphone_audio, game_chat_communication_relationship_flags::send_text_to_speech_audio and game_chat_communication_relationship_flags::send_text relationship flags are set to false from the relationship while this adjuster is applied.
resolve_user_issue Game Chat 2 is restricting communication due to a failure to retrieve the user's privileges, which the user might be able to resolve with UI.

The game_chat_communication_relationship_flags::send_microphone_audio, game_chat_communication_relationship_flags::send_text_to_speech_audio, and game_chat_communication_relationship_flags::send_text relationship flags are set to false from the relationship while this adjuster is applied. The app can call XUserResolveIssueWithUiAsync, specifying nullptr for the url parameter, to attempt to resolve the issue. The user may be unable or unwilling to resolve the issue. If the user does resolve the issue, the resoluton takes effect the next time the user is added to Game Chat 2.
service_unavailable Game Chat 2 is restricting communication because Xbox Live is temporarily unavailable and user communication settings couldn't be retrieved.

Remarks

This enumeration describes the extra adjustment steps, if any, applied by Game Chat 2 to a communication relationship that was previously set by calling chat_user_local::set_communication_relationship. You can call chat_user_local::get_effective_communication_relationship to discover the relationship flags and relationship adjuster, if any, applied by Game Chat 2 to the existing relationship. The adjusters described in this enumeration are listed in order of precedence; in other words, if a particular relationship is affected by both privilege restrictions (on the local user) and privacy restrictions (on the remote user), invoking chat_user_local::get_effective_communication_relationship returns privilege in the communicationRelationshipAdjuster parameter. For more information about communication relationships, see Using the Game Chat 2 C++ API.

Requirements

Header: GameChat2.h

Supported platforms: Windows, Xbox One family consoles and Xbox Series consoles

See also

Intro to Game Chat 2
GameChat2 members