feat: added Windows.Xbox.Chat.idl

TODO: add guids
This commit is contained in:
CT5
2026-03-09 14:02:07 +11:00
parent bebae516bf
commit a6b639a0cd
17 changed files with 728 additions and 2 deletions

236
idl/Windows.Xbox.Chat.idl Normal file
View File

@@ -0,0 +1,236 @@
import "Windows.Xbox.System.idl";
namespace Windows.Xbox.Chat
{
enum CaptureBufferStatus
{
Filled = 0x0,
Incomplete = 0x1,
NotTalking = 0x2,
NoDataAvailable = 0x3,
NoMicrophoneFocus = 0x4,
NoPrivileges = 0x5,
};
enum ChatBufferSource
{
Microphone = 0x0,
SpeechSynthesizer = 0x1,
};
enum ChatErrorStatus
{
PeriodTooSmall = -2004283647,
InvalidMixBufferSize = -2004283646,
TooManyMixBuffers = -2004283645,
UnknownRelationship = -2004283644,
InvalidDataFlow = -2004283642,
InvalidLocation = -2004283641,
MixingDuplicateSource = -2004283640,
OperationInProgress = -2004283639,
CodecFailed = -2004283638,
InvalidUser = -2004283637,
NoMicrophoneFocus = -2004283636,
DeviceNotActive = -2004283635,
RenderGraphError = -2004283634,
};
[flags]
enum ChatFeatures
{
None = 0x0,
VoiceActivityDetector = 0x1,
UserCorrelation = 0x2,
AutomaticGainControl = 0x4,
Ducking = 0x8,
TitleEnforcedPrivilegeAndPrivacy = 0x10,
Default = 0x5,
};
[flags]
enum ChatParticipantTypes
{
None = 0x0,
Listener = 0x1,
Talker = 0x2,
Bystander = 0x4,
};
[flags]
enum ChatRestriction
{
None = 0x0,
CannotListen = 0x1,
CannotTalk = 0x2,
NotInSameChannel = 0x3,
Muted = 0x4,
NotAllowed = 0x5,
NotSignedIn = 0x6,
UnknownRelationship = 0x7,
};
enum ChatSessionStateChangeReason
{
Other = 0x0,
UserAdded = 0x1,
UserRemoved = 0x2,
UserSignInCompleted = 0x3,
UserSignOutCompleted = 0x4,
UserAudioDeviceAdded = 0x5,
UserAudioDeviceRemoved = 0x6,
MicrophoneFocusGained = 0x7,
TranscriptionToggled = 0x8,
};
enum EncodingQuality
{
Low = 0x0,
Normal = 0x1,
High = 0x2,
};
[uuid(22FFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
delegate HRESULT ChatParticipantTranscribedTextReadyHandler(ChatParticipant speaker, String message);
[uuid(11FFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
delegate HRESULT ChatSessionStateChangedHandler(ChatSession sender, ChatSessionStateChangeReason reason);
[interface_name("IChatChannel", EFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
runtimeclass ChatChannel
{
ChatChannel();
Windows.Foundation.Collections.IVectorView<ChatParticipant> Participants { get; };
}
runtimeclass ChatDecoder
{
ChatDecoder();
[interface_name("IChatDecoder", DFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
{
Format Format { get; };
Windows.Storage.Streams.IBuffer Decode(Windows.Storage.Streams.IBuffer buffer);
}
[interface_name("IChatDecoder2", CFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
{
Int32 IsDataInFlight { get; };
}
}
runtimeclass ChatEncoder
{
ChatEncoder();
[constructor_name("IChatEncoderFactory", BFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
{
ChatEncoder(Format format, EncodingQuality quality);
}
[interface_name("IChatEncoder", AFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
{
Windows.Storage.Streams.IBuffer Encode(Windows.Storage.Streams.IBuffer buffer);
}
[interface_name("IChatEncoder2", 0FFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
{
Int32 IsDataInFlight { get; };
}
[interface_name("IChatEncoder3", 9FFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
{
void Encode(Windows.Storage.Streams.IBuffer buffer, ChatBufferSource source, out Windows.Storage.Streams.IBuffer encodedBuffer, out ChatBufferSource encodedSource);
}
}
runtimeclass ChatParticipant
{
ChatParticipant();
[constructor_name("IChatParticipantFactory", 8FFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
{
ChatParticipant(Windows.Xbox.System.User user);
}
[interface_name("IChatParticipant", 7FFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
{
Windows.Xbox.System.User User { get; };
ChatParticipantTypes ParticipantType { get; set; };
Single Volume { get; set; };
}
[interface_name("IChatParticipant2", 6FFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
{
void SynthesizeTextMessageAsAudioBuffers(String message, Windows.Media.SpeechSynthesis.VoiceInformation voice);
}
}
runtimeclass ChatSession
{
ChatSession();
[constructor_name("IChatSessionFactory", 5FFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
{
ChatSession(Windows.Foundation.TimeSpan time, ChatFeatures enabledFeatures, ChatSession session);
ChatSession(Windows.Foundation.TimeSpan time, UInt32 processorAffinity, ChatFeatures enabledFeatures, ChatSession session);
}
[interface_name("IChatSession", 4FFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
{
Windows.Foundation.Collections.IVectorView<ChatChannel> Channels { get; };
event ChatSessionStateChangedHandler StateChangedEvent;
Windows.Foundation.IAsyncOperation<ChatSessionState> GetStateAsync();
}
[interface_name("IChatSession2", 3FFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
{
Int32 TranscriptionEnabled { get; set; };
ChatEncoder CreateTranscribingEncoder(ChatParticipant participant, Format format, EncodingQuality quality);
event ChatParticipantTranscribedTextReadyHandler TranscribedTextReadyEvent;
ChatRestriction GetParticipantRelationship(ChatParticipant source, ChatParticipant target);
Windows.Xbox.System.AudioDeviceInfo GetDedicatedSynthesisDevice(ChatParticipant participant);
}
}
[interface_name("IChatCaptureSource", 2FFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
runtimeclass ChatCaptureSource
{
String Id { get; };
Format Format { get; };
void GetNextBuffer(out Windows.Storage.Streams.IBuffer buffer, out CaptureBufferStatus status);
void GetNextBufferWithCorrelationInfo(out Windows.Storage.Streams.IBuffer buffer, out Windows.Foundation.Collections.IVectorView<ChatUserCorrelation> info, out CaptureBufferStatus status);
ChatRestriction GetRelationship(String targetId);
}
[interface_name("IChatRenderTarget", 1FFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
runtimeclass ChatRenderTarget
{
String Id { get; };
ChatRestriction GetRelationship(String source);
void BeginMix();
ChatRestriction AddMixBuffer(String source, Format format, Windows.Storage.Streams.IBuffer buffer);
void ResetMix();
void SubmitMix();
}
[interface_name("IChatSessionState", 20A2CD96-EC5B-5A14-8509-9AC6D1862F6A)]
runtimeclass ChatSessionState
{
Windows.Foundation.Collections.IVectorView<ChatCaptureSource> CaptureSources { get; };
Windows.Foundation.Collections.IVectorView<ChatRenderTarget> RenderTargets { get; };
}
[interface_name("IFormat", FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
runtimeclass Format
{
Format();
UInt32 BitsPerSample { get; set; };
UInt32 Bitrate { get; };
UInt32 ChannelCount { get; set; };
UInt32 SampleRate { get; set; };
Guid Subtype { get; set; };
}
[interface_name("IChatUserCorrelation", BB8FFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)]
runtimeclass ChatUserCorrelation
{
ChatUserCorrelation();
Windows.Xbox.System.User User { get; };
}
}

View File

@@ -1,6 +1,6 @@
namespace Windows.Xbox.Services
{
[static_name("IXboxLiveConfigurationStatics", 00193376-6a84-4c67-84a5-3b8a8aaea712)]
[static_name("IXboxLiveConfigurationStatics", 00193376-6a84-4c67-84a5-3b8a8aaea712)]
runtimeclass XboxLiveConfiguration
{
static String TitleId { get; };

View File

@@ -33,7 +33,7 @@ endforeach()
execute_process(
COMMAND cppwinrt
-prefix
-pch ${CMAKE_CURRENT_SOURCE_DIR}/include/pch.h
-pch .
-input "${CMAKE_BINARY_DIR}\\WinMetadata"
-reference sdk
-component "${CMAKE_CURRENT_SOURCE_DIR}\\Generated Files\\sources"
@@ -88,6 +88,13 @@ set(FILES
"src/Windows/Xbox/Networking/Windows.Xbox.Networking.SecureDeviceAddress.cpp"
"src/Windows/Xbox/Networking/Windows.Xbox.Networking.SecureDeviceAssociation.cpp"
"src/Windows/Xbox/Networking/Windows.Xbox.Networking.SecureDeviceAssociationTemplate.cpp"
"src/Windows/Xbox/Chat/Windows.Xbox.Chat.ChatChannel.cpp"
"src/Windows/Xbox/Chat/Windows.Xbox.Chat.ChatDecoder.cpp"
"src/Windows/Xbox/Chat/Windows.Xbox.Chat.ChatEncoder.cpp"
"src/Windows/Xbox/Chat/Windows.Xbox.Chat.ChatParticipant.cpp"
"src/Windows/Xbox/Chat/Windows.Xbox.Chat.ChatSession.cpp"
"src/Windows/Xbox/Chat/Windows.Xbox.Chat.ChatUserCorrelation.cpp"
"src/Windows/Xbox/Chat/Windows.Xbox.Chat.Format.cpp"
"src/WinDurangoWinRT.cpp"
)
@@ -113,6 +120,7 @@ target_include_directories(WinDurango.WinRT PUBLIC
"${CMAKE_CURRENT_SOURCE_DIR}/include/WinDurango.WinRT/Windows/Xbox/Storage"
"${CMAKE_CURRENT_SOURCE_DIR}/include/WinDurango.WinRT/Windows/Xbox/Services"
"${CMAKE_CURRENT_SOURCE_DIR}/include/WinDurango.WinRT/Windows/Xbox/Networking"
"${CMAKE_CURRENT_SOURCE_DIR}/include/WinDurango.WinRT/Windows/Xbox/Chat"
"${CMAKE_CURRENT_SOURCE_DIR}/Generated Files"
"${CMAKE_SOURCE_DIR}/projects/WinDurango.Common/include"
)

View File

@@ -0,0 +1,18 @@
#pragma once
#include "Windows.Xbox.Chat.ChatChannel.g.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
struct ChatChannel : ChatChannelT<ChatChannel>
{
ChatChannel() = default;
winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Xbox::Chat::ChatParticipant> Participants();
};
}
namespace winrt::Windows::Xbox::Chat::factory_implementation
{
struct ChatChannel : ChatChannelT<ChatChannel, implementation::ChatChannel>
{
};
}

View File

@@ -0,0 +1,20 @@
#pragma once
#include "Windows.Xbox.Chat.ChatDecoder.g.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
struct ChatDecoder : ChatDecoderT<ChatDecoder>
{
ChatDecoder() = default;
winrt::Windows::Xbox::Chat::Format Format();
winrt::Windows::Storage::Streams::IBuffer Decode(winrt::Windows::Storage::Streams::IBuffer const& buffer);
int32_t IsDataInFlight();
};
}
namespace winrt::Windows::Xbox::Chat::factory_implementation
{
struct ChatDecoder : ChatDecoderT<ChatDecoder, implementation::ChatDecoder>
{
};
}

View File

@@ -0,0 +1,21 @@
#pragma once
#include "Windows.Xbox.Chat.ChatEncoder.g.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
struct ChatEncoder : ChatEncoderT<ChatEncoder>
{
ChatEncoder() = default;
ChatEncoder(winrt::Windows::Xbox::Chat::Format const& format, winrt::Windows::Xbox::Chat::EncodingQuality const& quality);
winrt::Windows::Storage::Streams::IBuffer Encode(winrt::Windows::Storage::Streams::IBuffer const& buffer);
int32_t IsDataInFlight();
void Encode(winrt::Windows::Storage::Streams::IBuffer const& buffer, winrt::Windows::Xbox::Chat::ChatBufferSource const& source, winrt::Windows::Storage::Streams::IBuffer& encodedBuffer, winrt::Windows::Xbox::Chat::ChatBufferSource& encodedSource);
};
}
namespace winrt::Windows::Xbox::Chat::factory_implementation
{
struct ChatEncoder : ChatEncoderT<ChatEncoder, implementation::ChatEncoder>
{
};
}

View File

@@ -0,0 +1,27 @@
#pragma once
#include "Windows.Xbox.Chat.ChatParticipant.g.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
struct ChatParticipant : ChatParticipantT<ChatParticipant>
{
ChatParticipant() = default;
ChatParticipant(winrt::Windows::Xbox::System::User const& user);
winrt::Windows::Xbox::System::User User();
winrt::Windows::Xbox::Chat::ChatParticipantTypes ParticipantType();
void ParticipantType(winrt::Windows::Xbox::Chat::ChatParticipantTypes const& value);
float Volume();
void Volume(float value);
void SynthesizeTextMessageAsAudioBuffers(hstring const& message, winrt::Windows::Media::SpeechSynthesis::VoiceInformation const& voice);
private:
winrt::Windows::Xbox::Chat::ChatParticipantTypes participantType;
float volume;
};
}
namespace winrt::Windows::Xbox::Chat::factory_implementation
{
struct ChatParticipant : ChatParticipantT<ChatParticipant, implementation::ChatParticipant>
{
};
}

View File

@@ -0,0 +1,68 @@
#pragma once
#include "Windows.Xbox.Chat.ChatCaptureSource.g.h"
#include "Windows.Xbox.Chat.ChatRenderTarget.g.h"
#include "Windows.Xbox.Chat.ChatSessionState.g.h"
#include "Windows.Xbox.Chat.ChatSession.g.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
struct ChatCaptureSource : ChatCaptureSourceT<ChatCaptureSource>
{
ChatCaptureSource() = default;
hstring Id();
winrt::Windows::Xbox::Chat::Format Format();
void GetNextBuffer(winrt::Windows::Storage::Streams::IBuffer& buffer, winrt::Windows::Xbox::Chat::CaptureBufferStatus& status);
void GetNextBufferWithCorrelationInfo(winrt::Windows::Storage::Streams::IBuffer& buffer, winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Xbox::Chat::ChatUserCorrelation>& info, winrt::Windows::Xbox::Chat::CaptureBufferStatus& status);
winrt::Windows::Xbox::Chat::ChatRestriction GetRelationship(hstring const& targetId);
};
struct ChatRenderTarget : ChatRenderTargetT<ChatRenderTarget>
{
ChatRenderTarget() = default;
hstring Id();
winrt::Windows::Xbox::Chat::ChatRestriction GetRelationship(hstring const& source);
void BeginMix();
winrt::Windows::Xbox::Chat::ChatRestriction AddMixBuffer(hstring const& source, winrt::Windows::Xbox::Chat::Format const& format, winrt::Windows::Storage::Streams::IBuffer const& buffer);
void ResetMix();
void SubmitMix();
};
struct ChatSessionState : ChatSessionStateT<ChatSessionState>
{
ChatSessionState() = default;
winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Xbox::Chat::ChatCaptureSource> CaptureSources();
winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Xbox::Chat::ChatRenderTarget> RenderTargets();
};
struct ChatSession : ChatSessionT<ChatSession>
{
ChatSession() = default;
ChatSession(winrt::Windows::Foundation::TimeSpan const& time, winrt::Windows::Xbox::Chat::ChatFeatures const& enabledFeatures, winrt::Windows::Xbox::Chat::ChatSession const& session);
ChatSession(winrt::Windows::Foundation::TimeSpan const& time, uint32_t processorAffinity, winrt::Windows::Xbox::Chat::ChatFeatures const& enabledFeatures, winrt::Windows::Xbox::Chat::ChatSession const& session);
winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Xbox::Chat::ChatChannel> Channels();
winrt::event_token StateChangedEvent(winrt::Windows::Xbox::Chat::ChatSessionStateChangedHandler const& handler);
void StateChangedEvent(winrt::event_token const& token) noexcept;
winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Xbox::Chat::ChatSessionState> GetStateAsync();
int32_t TranscriptionEnabled();
void TranscriptionEnabled(int32_t value);
winrt::Windows::Xbox::Chat::ChatEncoder CreateTranscribingEncoder(winrt::Windows::Xbox::Chat::ChatParticipant const& participant, winrt::Windows::Xbox::Chat::Format const& format, winrt::Windows::Xbox::Chat::EncodingQuality const& quality);
winrt::event_token TranscribedTextReadyEvent(winrt::Windows::Xbox::Chat::ChatParticipantTranscribedTextReadyHandler const& handler);
void TranscribedTextReadyEvent(winrt::event_token const& token) noexcept;
winrt::Windows::Xbox::Chat::ChatRestriction GetParticipantRelationship(winrt::Windows::Xbox::Chat::ChatParticipant const& source, winrt::Windows::Xbox::Chat::ChatParticipant const& target);
winrt::Windows::Xbox::System::AudioDeviceInfo GetDedicatedSynthesisDevice(winrt::Windows::Xbox::Chat::ChatParticipant const& participant);
private:
winrt::event<winrt::Windows::Foundation::EventHandler<winrt::Windows::Xbox::Chat::ChatSessionStateChangedHandler>> e_StateChangedEvent;
winrt::event<winrt::Windows::Foundation::EventHandler<winrt::Windows::Xbox::Chat::ChatParticipantTranscribedTextReadyHandler>> e_TranscribedTextReadyEvent;
int32_t transcriptionEnabled;
};
}
namespace winrt::Windows::Xbox::Chat::factory_implementation
{
struct ChatSession : ChatSessionT<ChatSession, implementation::ChatSession>
{
};
}

View File

@@ -0,0 +1,18 @@
#pragma once
#include "Windows.Xbox.Chat.ChatUserCorrelation.g.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
struct ChatUserCorrelation : ChatUserCorrelationT<ChatUserCorrelation>
{
ChatUserCorrelation() = default;
winrt::Windows::Xbox::System::User User();
};
}
namespace winrt::Windows::Xbox::Chat::factory_implementation
{
struct ChatUserCorrelation : ChatUserCorrelationT<ChatUserCorrelation, implementation::ChatUserCorrelation>
{
};
}

View File

@@ -0,0 +1,31 @@
#pragma once
#include "Windows.Xbox.Chat.Format.g.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
struct Format : FormatT<Format>
{
Format() = default;
uint32_t BitsPerSample();
void BitsPerSample(uint32_t value);
uint32_t Bitrate();
uint32_t ChannelCount();
void ChannelCount(uint32_t value);
uint32_t SampleRate();
void SampleRate(uint32_t value);
winrt::guid Subtype();
void Subtype(winrt::guid const& value);
private:
uint32_t bitsPerSample;
uint32_t channelCount;
uint32_t sampleRate;
winrt::guid subtype;
};
}
namespace winrt::Windows::Xbox::Chat::factory_implementation
{
struct Format : FormatT<Format, implementation::Format>
{
};
}

View File

@@ -0,0 +1,11 @@
#include "Windows.Xbox.Chat.ChatChannel.h"
#include "WinDurangoWinRT.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Xbox::Chat::ChatParticipant> ChatChannel::Participants()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatChannel", "Unimplemented: Participants");
throw hresult_not_implemented();
}
}

View File

@@ -0,0 +1,21 @@
#include "Windows.Xbox.Chat.ChatDecoder.h"
#include "WinDurangoWinRT.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
winrt::Windows::Xbox::Chat::Format ChatDecoder::Format()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatDecoder", "Unimplemented: Format");
throw hresult_not_implemented();
}
winrt::Windows::Storage::Streams::IBuffer ChatDecoder::Decode(winrt::Windows::Storage::Streams::IBuffer const& buffer)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatDecoder", "Unimplemented: Decode");
throw hresult_not_implemented();
}
int32_t ChatDecoder::IsDataInFlight()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatDecoder", "Unimplemented: IsDataInFlight");
throw hresult_not_implemented();
}
}

View File

@@ -0,0 +1,26 @@
#include "Windows.Xbox.Chat.ChatEncoder.h"
#include "WinDurangoWinRT.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
ChatEncoder::ChatEncoder(winrt::Windows::Xbox::Chat::Format const& format, winrt::Windows::Xbox::Chat::EncodingQuality const& quality)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatEncoder", "Unimplemented: ChatEncoder");
throw hresult_not_implemented();
}
winrt::Windows::Storage::Streams::IBuffer ChatEncoder::Encode(winrt::Windows::Storage::Streams::IBuffer const& buffer)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatEncoder", "Unimplemented: Encode");
throw hresult_not_implemented();
}
int32_t ChatEncoder::IsDataInFlight()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatEncoder", "Unimplemented: IsDataInFlight");
throw hresult_not_implemented();
}
void ChatEncoder::Encode(winrt::Windows::Storage::Streams::IBuffer const& buffer, winrt::Windows::Xbox::Chat::ChatBufferSource const& source, winrt::Windows::Storage::Streams::IBuffer& encodedBuffer, winrt::Windows::Xbox::Chat::ChatBufferSource& encodedSource)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatEncoder", "Unimplemented: Encode");
throw hresult_not_implemented();
}
}

View File

@@ -0,0 +1,37 @@
#include "Windows.Xbox.Chat.ChatParticipant.h"
#include "WinDurangoWinRT.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
ChatParticipant::ChatParticipant(winrt::Windows::Xbox::System::User const& user)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatParticipant", "Unimplemented: ChatParticipant");
throw hresult_not_implemented();
}
winrt::Windows::Xbox::System::User ChatParticipant::User()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatParticipant", "Unimplemented: User");
throw hresult_not_implemented();
}
winrt::Windows::Xbox::Chat::ChatParticipantTypes ChatParticipant::ParticipantType()
{
return participantType;
}
void ChatParticipant::ParticipantType(winrt::Windows::Xbox::Chat::ChatParticipantTypes const& value)
{
participantType = value;
}
float ChatParticipant::Volume()
{
return volume;
}
void ChatParticipant::Volume(float value)
{
volume = value;
}
void ChatParticipant::SynthesizeTextMessageAsAudioBuffers(hstring const& message, winrt::Windows::Media::SpeechSynthesis::VoiceInformation const& voice)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatParticipant", "Unimplemented: SynthesizeTextMessageAsAudioBuffers");
throw hresult_not_implemented();
}
}

View File

@@ -0,0 +1,130 @@
#include "Windows.Xbox.Chat.ChatSession.h"
#include "WinDurangoWinRT.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
hstring ChatCaptureSource::Id()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatCaptureSource", "Unimplemented: Id");
throw hresult_not_implemented();
}
winrt::Windows::Xbox::Chat::Format ChatCaptureSource::Format()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatCaptureSource", "Unimplemented: Format");
throw hresult_not_implemented();
}
void ChatCaptureSource::GetNextBuffer(winrt::Windows::Storage::Streams::IBuffer& buffer, winrt::Windows::Xbox::Chat::CaptureBufferStatus& status)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatCaptureSource", "Unimplemented: GetNextBuffer");
throw hresult_not_implemented();
}
void ChatCaptureSource::GetNextBufferWithCorrelationInfo(winrt::Windows::Storage::Streams::IBuffer& buffer, winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Xbox::Chat::ChatUserCorrelation>& info, winrt::Windows::Xbox::Chat::CaptureBufferStatus& status)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatCaptureSource", "Unimplemented: GetNextBufferWithCorrelationInfo");
throw hresult_not_implemented();
}
winrt::Windows::Xbox::Chat::ChatRestriction ChatCaptureSource::GetRelationship(hstring const& targetId)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatCaptureSource", "Unimplemented: GetRelationship");
throw hresult_not_implemented();
}
hstring ChatRenderTarget::Id()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatRenderTarget", "Unimplemented: Id");
throw hresult_not_implemented();
}
winrt::Windows::Xbox::Chat::ChatRestriction ChatRenderTarget::GetRelationship(hstring const& source)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatRenderTarget", "Unimplemented: GetRelationship");
throw hresult_not_implemented();
}
void ChatRenderTarget::BeginMix()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatRenderTarget", "Unimplemented: BeginMix");
throw hresult_not_implemented();
}
winrt::Windows::Xbox::Chat::ChatRestriction ChatRenderTarget::AddMixBuffer(hstring const& source, winrt::Windows::Xbox::Chat::Format const& format, winrt::Windows::Storage::Streams::IBuffer const& buffer)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatRenderTarget", "Unimplemented: AddMixBuffer");
throw hresult_not_implemented();
}
void ChatRenderTarget::ResetMix()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatRenderTarget", "Unimplemented: ResetMix");
throw hresult_not_implemented();
}
void ChatRenderTarget::SubmitMix()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatRenderTarget", "Unimplemented: SubmitMix");
throw hresult_not_implemented();
}
winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Xbox::Chat::ChatCaptureSource> ChatSessionState::CaptureSources()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatSessionState", "Unimplemented: CaptureSources");
throw hresult_not_implemented();
}
winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Xbox::Chat::ChatRenderTarget> ChatSessionState::RenderTargets()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatSessionState", "Unimplemented: RenderTargets");
throw hresult_not_implemented();
}
ChatSession::ChatSession(winrt::Windows::Foundation::TimeSpan const& time, winrt::Windows::Xbox::Chat::ChatFeatures const& enabledFeatures, winrt::Windows::Xbox::Chat::ChatSession const& session)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatSession", "Unimplemented: ChatSession(TimeSpan, ...)");
throw hresult_not_implemented();
}
ChatSession::ChatSession(winrt::Windows::Foundation::TimeSpan const& time, uint32_t processorAffinity, winrt::Windows::Xbox::Chat::ChatFeatures const& enabledFeatures, winrt::Windows::Xbox::Chat::ChatSession const& session)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatSession", "Unimplemented: ChatSession(TimeSpan, uint32_t, ...)");
throw hresult_not_implemented();
}
winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Xbox::Chat::ChatChannel> ChatSession::Channels()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatSession", "Unimplemented: Channels");
throw hresult_not_implemented();
}
winrt::event_token ChatSession::StateChangedEvent(winrt::Windows::Xbox::Chat::ChatSessionStateChangedHandler const& handler)
{
return e_StateChangedEvent.add(handler);
}
void ChatSession::StateChangedEvent(winrt::event_token const& token) noexcept
{
e_StateChangedEvent.remove(token);
}
winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Xbox::Chat::ChatSessionState> ChatSession::GetStateAsync()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatSession", "Unimplemented: GetStateAsync");
throw hresult_not_implemented();
}
int32_t ChatSession::TranscriptionEnabled()
{
return transcriptionEnabled;
}
void ChatSession::TranscriptionEnabled(int32_t value)
{
transcriptionEnabled = value;
}
winrt::Windows::Xbox::Chat::ChatEncoder ChatSession::CreateTranscribingEncoder(winrt::Windows::Xbox::Chat::ChatParticipant const& participant, winrt::Windows::Xbox::Chat::Format const& format, winrt::Windows::Xbox::Chat::EncodingQuality const& quality)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatSession", "Unimplemented: CreateTranscribingEncoder");
throw hresult_not_implemented();
}
winrt::event_token ChatSession::TranscribedTextReadyEvent(winrt::Windows::Xbox::Chat::ChatParticipantTranscribedTextReadyHandler const& handler)
{
return e_TranscribedTextReadyEvent.add(handler);
}
void ChatSession::TranscribedTextReadyEvent(winrt::event_token const& token) noexcept
{
e_TranscribedTextReadyEvent.remove(token);
}
winrt::Windows::Xbox::Chat::ChatRestriction ChatSession::GetParticipantRelationship(winrt::Windows::Xbox::Chat::ChatParticipant const& source, winrt::Windows::Xbox::Chat::ChatParticipant const& target)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatSession", "Unimplemented: GetParticipantRelationship");
throw hresult_not_implemented();
}
winrt::Windows::Xbox::System::AudioDeviceInfo ChatSession::GetDedicatedSynthesisDevice(winrt::Windows::Xbox::Chat::ChatParticipant const& participant)
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatSession", "Unimplemented: GetDedicatedSynthesisDevice");
throw hresult_not_implemented();
}
}

View File

@@ -0,0 +1,11 @@
#include "Windows.Xbox.Chat.ChatUserCorrelation.h"
#include "WinDurangoWinRT.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
winrt::Windows::Xbox::System::User ChatUserCorrelation::User()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::ChatUserCorrelation", "Unimplemented: User");
throw hresult_not_implemented();
}
}

View File

@@ -0,0 +1,43 @@
#include "Windows.Xbox.Chat.Format.h"
#include "WinDurangoWinRT.h"
namespace winrt::Windows::Xbox::Chat::implementation
{
uint32_t Format::BitsPerSample()
{
return bitsPerSample;
}
void Format::BitsPerSample(uint32_t value)
{
bitsPerSample = value;
}
uint32_t Format::Bitrate()
{
p_wd->log.Warn("WinDurango::WinRT::Windows::Xbox::Chat::Format", "Unimplemented: Bitrate");
throw hresult_not_implemented();
}
uint32_t Format::ChannelCount()
{
return channelCount;
}
void Format::ChannelCount(uint32_t value)
{
channelCount = value;
}
uint32_t Format::SampleRate()
{
return sampleRate;
}
void Format::SampleRate(uint32_t value)
{
sampleRate = value;
}
winrt::guid Format::Subtype()
{
return subtype;
}
void Format::Subtype(winrt::guid const& value)
{
subtype = value;
}
}