PartyChatTextReceivedStateChange
Information specific to the ChatTextReceived type of state change.
Syntax
struct PartyChatTextReceivedStateChange : PartyStateChange {
PartyChatControl* senderChatControl;
uint32_t receiverChatControlCount;
PartyLocalChatControlArray receiverChatControls;
PartyString languageCode;
PartyString chatText;
uint32_t dataSize;
const void* data;
uint32_t translationCount;
PartyTranslation* translations;
PartyChatTextReceivedOptions options;
PartyString originalChatText;
PartyError errorDetail;
}
Members
senderChatControl
PartyChatControl*
The chat control object that originated the text message.
receiverChatControlCount
uint32_t
The number of local receiver chat controls to which the text message is addressed.
receiverChatControls
PartyLocalChatControlArray
array of size receiverChatControlCount
The local receiver chat controls to which the text message is addressed.
languageCode
PartyString
The language of the chat text.
The language is only provided when translation to the local language is enabled. If translation isn't enabled, or failure is encountered during translation, the language code is an empty string.
The language code is in BCP 47 format, such as en-US for English (United States). Supported language codes are enumerated in Language support.
chatText
PartyString
The received chat text.
The string may be up to c_maxChatTextMessageLength
characters long, not including the null terminator.
When filtering is enabled, this text may not be the exact text sent by the remote user. The exact source text can be retrieved from the originalChatText
field.
dataSize
uint32_t
The size of the data associated with this text message.
data
const void*
buffer of size dataSize
bytes
The data associated with this text message.
translationCount
uint32_t
The number of translations associated with the chat text.
Translations are provided if PartyTextChatOptions::TranslateToLocalLanguage has previously been specified via PartyLocalChatControl::SetTextChatOptions() on a chat control local to this device. There may be more than one translation if multiple local chat controls have enabled translation and the local chat controls have specified different languages via PartyLocalDevice::CreateChatControl(). In that case, the app can compare the languageCode
field of each PartyTranslation in translations
against the language code, obtained via PartyLocalChatControl::GetLanguage(), for each local chat control in receiverChatControls
to determine the target local chat control for each translation.
translations
PartyTranslation*
array of size translationCount
An array containing the translations of the chat text string.
Translations are provided if PartyTextChatOptions::TranslateToLocalLanguage has previously been specified via PartyLocalChatControl::SetTextChatOptions() on a chat control local to this device. There may be more than one translation if multiple local chat controls have enabled translation and the local chat controls have specified different languages via PartyLocalDevice::CreateChatControl(). In that case, the app can compare the languageCode
field of each PartyTranslation in translations
against the language code, obtained via PartyLocalChatControl::GetLanguage(), for each local chat control in receiverChatControls
to determine the target local chat control for each translation.
options
PartyChatTextReceivedOptions
Flags describing additional information about the chat text.
originalChatText
PartyString
The original version of the incoming text chat.
This field is always the unfiltered source text sent by the remote user. If filtering isn't enabled, it's a pointer to chatText
. If filtering is enabled but filtering was not needed, as indicated by PartyChatTextReceivedOptions::None in the options
field, then this is a pointer to chatText
.
errorDetail
PartyError
A diagnostic value providing additional troubleshooting information regarding any potential error condition.
This error is intended for diagnostic purposes only. If an error occurs, the PartyChatTextReceivedOptions::FilteredDueToError flag will be present in the options
field.
Requirements
Header: Party.h
See also
Party members
PartyLocalDevice::CreateChatControl
PartyLocalChatControl::SendText
PartyLocalChatControl::SetTextChatOptions