Skip to content

Commit

Permalink
Merge pull request grishka#53 from UnigramDev/public
Browse files Browse the repository at this point in the history
Updated CXWrapper to 2.2.4
  • Loading branch information
grishka authored Sep 16, 2018
2 parents 14d782b + 646f7d6 commit 8d8522a
Show file tree
Hide file tree
Showing 6 changed files with 81 additions and 20 deletions.
37 changes: 23 additions & 14 deletions libtgvoip.UWP.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
<ProjectName>libtgvoip</ProjectName>
Expand Down Expand Up @@ -76,27 +76,27 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.15063.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props" Condition="exists('$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.15063.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props')" />
<Import Project="$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.17134.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props" Condition="exists('$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.17134.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props')" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.15063.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props" Condition="exists('$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.15063.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props')" />
<Import Project="$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.17134.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props" Condition="exists('$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.17134.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props')" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.15063.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props" Condition="exists('$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.15063.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props')" />
<Import Project="$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.17134.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props" Condition="exists('$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.17134.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props')" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.15063.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props" Condition="exists('$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.15063.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props')" />
<Import Project="$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.17134.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props" Condition="exists('$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.17134.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props')" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.15063.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props" Condition="exists('$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.15063.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props')" />
<Import Project="$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.17134.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props" Condition="exists('$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.17134.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props')" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.15063.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props" Condition="exists('$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.15063.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props')" />
<Import Project="$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.17134.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props" Condition="exists('$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformExtensionSDKLocation(`WindowsMobile, Version=10.0.17134.0`, $(TargetPlatformIdentifier), $(TargetPlatformVersion), $(SDKReferenceDirectoryRoot), $(SDKExtensionDirectoryRoot), $(SDKReferenceRegistryRoot)))\DesignTime\CommonConfiguration\Neutral\WindowsMobile.props')" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
Expand Down Expand Up @@ -229,25 +229,27 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="audio\AudioInput.h" />
<ClInclude Include="audio\AudioIO.h" />
<ClInclude Include="audio\AudioOutput.h" />
<ClInclude Include="audio\Resampler.h" />
<ClInclude Include="BlockingQueue.h" />
<ClInclude Include="BufferInputStream.h" />
<ClInclude Include="BufferOutputStream.h" />
<ClInclude Include="BufferPool.h" />
<ClInclude Include="Buffers.h" />
<ClInclude Include="CongestionControl.h" />
<ClInclude Include="EchoCanceller.h" />
<ClInclude Include="JitterBuffer.h" />
<ClInclude Include="logging.h" />
<ClInclude Include="MediaStreamItf.h" />
<ClInclude Include="MessageThread.h" />
<ClInclude Include="NetworkSocket.h" />
<ClInclude Include="OpusDecoder.h" />
<ClInclude Include="OpusEncoder.h" />
<ClInclude Include="os\windows\AudioInputWASAPI.h" />
<ClInclude Include="os\windows\AudioOutputWASAPI.h" />
<ClInclude Include="os\windows\NetworkSocketWinsock.h" />
<ClInclude Include="os\windows\WindowsSandboxUtils.h" />
<ClInclude Include="PacketReassembler.h" />
<ClInclude Include="threading.h" />
<ClInclude Include="utils.h" />
<ClInclude Include="VoIPController.h" />
<ClInclude Include="os\windows\CXWrapper.h" />
<ClInclude Include="VoIPServerConfig.h" />
Expand Down Expand Up @@ -312,26 +314,28 @@
</ItemGroup>
<ItemGroup>
<ClCompile Include="audio\AudioInput.cpp" />
<ClCompile Include="audio\AudioIO.cpp" />
<ClCompile Include="audio\AudioOutput.cpp" />
<ClCompile Include="audio\Resampler.cpp" />
<ClCompile Include="BlockingQueue.cpp" />
<ClCompile Include="BufferInputStream.cpp" />
<ClCompile Include="BufferOutputStream.cpp" />
<ClCompile Include="BufferPool.cpp" />
<ClCompile Include="Buffers.cpp" />
<ClCompile Include="CongestionControl.cpp" />
<ClCompile Include="EchoCanceller.cpp" />
<ClCompile Include="JitterBuffer.cpp" />
<ClCompile Include="logging.cpp" />
<ClCompile Include="MediaStreamItf.cpp" />
<ClCompile Include="MessageThread.cpp" />
<ClCompile Include="NetworkSocket.cpp" />
<ClCompile Include="OpusDecoder.cpp" />
<ClCompile Include="OpusEncoder.cpp" />
<ClCompile Include="os\windows\AudioInputWASAPI.cpp" />
<ClCompile Include="os\windows\AudioOutputWASAPI.cpp" />
<ClCompile Include="os\windows\NetworkSocketWinsock.cpp" />
<ClCompile Include="os\windows\WindowsSandboxUtils.cpp" />
<ClCompile Include="PacketReassembler.cpp" />
<ClCompile Include="VoIPController.cpp" />
<ClCompile Include="os\windows\CXWrapper.cpp" />
<ClCompile Include="VoIPGroupController.cpp" />
<ClCompile Include="VoIPServerConfig.cpp" />
<ClCompile Include="webrtc_dsp\webrtc\base\checks.cc" />
<ClCompile Include="webrtc_dsp\webrtc\base\stringutils.cc" />
Expand Down Expand Up @@ -502,7 +506,12 @@
<ClCompile Include="webrtc_dsp\webrtc\system_wrappers\source\cpu_features.cc" />
</ItemGroup>
<ItemGroup>
<SDKReference Include="WindowsMobile, Version=10.0.15063.0" />
<ProjectReference Include="..\libopus\libopus.vcxproj">
<Project>{904ac506-51a0-474e-9f55-ec3febbcccd9}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<SDKReference Include="WindowsMobile, Version=10.0.17134.0" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
Expand Down
20 changes: 14 additions & 6 deletions libtgvoip.UWP.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,7 @@
<ClCompile Include="VoIPController.cpp" />
<ClCompile Include="VoIPServerConfig.cpp" />
<ClCompile Include="BlockingQueue.cpp" />
<ClCompile Include="BufferInputStream.cpp" />
<ClCompile Include="BufferOutputStream.cpp" />
<ClCompile Include="BufferPool.cpp" />
<ClCompile Include="Buffers.cpp" />
<ClCompile Include="CongestionControl.cpp" />
<ClCompile Include="EchoCanceller.cpp" />
<ClCompile Include="JitterBuffer.cpp" />
Expand Down Expand Up @@ -273,14 +271,18 @@
<ClCompile Include="os\windows\CXWrapper.cpp">
<Filter>windows</Filter>
</ClCompile>
<ClCompile Include="VoIPGroupController.cpp" />
<ClCompile Include="PacketReassembler.cpp" />
<ClCompile Include="MessageThread.cpp" />
<ClCompile Include="audio\AudioIO.cpp">
<Filter>audio</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="VoIPController.h" />
<ClInclude Include="VoIPServerConfig.h" />
<ClInclude Include="BlockingQueue.h" />
<ClInclude Include="BufferInputStream.h" />
<ClInclude Include="BufferOutputStream.h" />
<ClInclude Include="BufferPool.h" />
<ClInclude Include="Buffers.h" />
<ClInclude Include="CongestionControl.h" />
<ClInclude Include="EchoCanceller.h" />
<ClInclude Include="JitterBuffer.h" />
Expand Down Expand Up @@ -488,5 +490,11 @@
<ClInclude Include="os\windows\CXWrapper.h">
<Filter>windows</Filter>
</ClInclude>
<ClInclude Include="PacketReassembler.h" />
<ClInclude Include="MessageThread.h" />
<ClInclude Include="audio\AudioIO.h">
<Filter>audio</Filter>
</ClInclude>
<ClInclude Include="utils.h" />
</ItemGroup>
</Project>
6 changes: 6 additions & 0 deletions os/windows/AudioInputWASAPI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,12 @@ void AudioInputWASAPI::ActuallySetCurrentDevice(std::string deviceID){
CHECK_RES(res, "device->Activate");
#else
Platform::String^ defaultDevID=Windows::Media::Devices::MediaDevice::GetDefaultAudioCaptureId(Windows::Media::Devices::AudioDeviceRole::Communications);
if(defaultDevID == nullptr){
LOGE("Didn't find capture device; failing");
failed=true;
return;
}

HRESULT res1, res2;
IAudioClient2* audioClient2=WindowsSandboxUtils::ActivateAudioDevice(defaultDevID->Data(), &res1, &res2);
CHECK_RES(res1, "activate1");
Expand Down
6 changes: 6 additions & 0 deletions os/windows/AudioOutputWASAPI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,12 @@ void AudioOutputWASAPI::ActuallySetCurrentDevice(std::string deviceID){
CHECK_RES(res, "device->Activate");
#else
Platform::String^ defaultDevID=Windows::Media::Devices::MediaDevice::GetDefaultAudioRenderId(Windows::Media::Devices::AudioDeviceRole::Communications);
if(defaultDevID==nullptr){
LOGE("Didn't find playback device; failing");
failed=true;
return;
}

HRESULT res1, res2;
IAudioClient2* audioClient2=WindowsSandboxUtils::ActivateAudioDevice(defaultDevID->Data(), &res1, &res2);
CHECK_RES(res1, "activate1");
Expand Down
21 changes: 21 additions & 0 deletions os/windows/CXWrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,27 @@ void VoIPControllerWrapper::SetEncryptionKey(const Platform::Array<uint8>^ key,
controller->SetEncryptionKey((char*)key->Data, isOutgoing);
}

int VoIPControllerWrapper::GetSignalBarsCount(){
return controller->GetSignalBarsCount();
}

CallState VoIPControllerWrapper::GetConnectionState(){
return (CallState)controller->GetConnectionState();
}

TrafficStats^ VoIPControllerWrapper::GetStats(){
tgvoip::VoIPController::TrafficStats _stats;
controller->GetStats(&_stats);

TrafficStats^ stats = ref new TrafficStats();
stats->bytesSentWifi = _stats.bytesSentWifi;
stats->bytesSentMobile = _stats.bytesSentMobile;
stats->bytesRecvdWifi = _stats.bytesRecvdWifi;
stats->bytesRecvdMobile = _stats.bytesRecvdMobile;

return stats;
}

Platform::String^ VoIPControllerWrapper::GetDebugString(){
std::string log = controller->GetDebugString();
size_t len = sizeof(wchar_t)*(log.length() + 1);
Expand Down
11 changes: 11 additions & 0 deletions os/windows/CXWrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@ namespace libtgvoip{
property Platform::Array<uint8>^ peerTag;
};

public ref class TrafficStats sealed{
public:
property uint64_t bytesSentWifi;
property uint64_t bytesRecvdWifi;
property uint64_t bytesSentMobile;
property uint64_t bytesRecvdMobile;
};

public enum class CallState : int{
WaitInit=1,
WaitInitAck,
Expand Down Expand Up @@ -76,6 +84,9 @@ namespace libtgvoip{
void SetEncryptionKey(const Platform::Array<uint8>^ key, bool isOutgoing);
void SetConfig(double initTimeout, double recvTimeout, DataSavingMode dataSavingMode, bool enableAEC, bool enableNS, bool enableAGC, Platform::String^ logFilePath, Platform::String^ statsDumpFilePath);
void SetProxy(ProxyProtocol protocol, Platform::String^ address, uint16_t port, Platform::String^ username, Platform::String^ password);
int GetSignalBarsCount();
CallState GetConnectionState();
TrafficStats^ GetStats();
Platform::String^ GetDebugString();
Platform::String^ GetDebugLog();
Error GetLastError();
Expand Down

0 comments on commit 8d8522a

Please sign in to comment.