mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-14 22:56:12 -04:00
Internal change
PiperOrigin-RevId: 380848866
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
// Copyright 2020 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.210505.3
|
||||
|
||||
#include "pch.h"
|
||||
#include "winrt/base.h"
|
||||
#include "BluetoothClassicMedium.h"
|
||||
|
||||
bool __stdcall winrt_can_unload_now() noexcept
|
||||
{
|
||||
if (winrt::get_module_lock())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
winrt::clear_factory_cache();
|
||||
return true;
|
||||
}
|
||||
|
||||
void* __stdcall winrt_get_activation_factory([[maybe_unused]] std::wstring_view const& name)
|
||||
{
|
||||
auto requal = [](std::wstring_view const& left, std::wstring_view const& right) noexcept
|
||||
{
|
||||
return std::equal(left.rbegin(), left.rend(), right.rbegin(), right.rend());
|
||||
};
|
||||
|
||||
if (requal(name, L"location.nearby.windows.BluetoothClassicMedium"))
|
||||
{
|
||||
return winrt::detach_abi(winrt::make<winrt::location::nearby::windows::factory_implementation::BluetoothClassicMedium>());
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
int32_t __stdcall WINRT_CanUnloadNow() noexcept
|
||||
{
|
||||
#ifdef _WRL_MODULE_H_
|
||||
if (!::Microsoft::WRL::Module<::Microsoft::WRL::InProc>::GetModule().Terminate())
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
return winrt_can_unload_now() ? 0 : 1;
|
||||
}
|
||||
|
||||
int32_t __stdcall WINRT_GetActivationFactory(void* classId, void** factory) noexcept try
|
||||
{
|
||||
std::wstring_view const name{ *reinterpret_cast<winrt::hstring*>(&classId) };
|
||||
*factory = winrt_get_activation_factory(name);
|
||||
|
||||
if (*factory)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef _WRL_MODULE_H_
|
||||
return ::Microsoft::WRL::Module<::Microsoft::WRL::InProc>::GetModule().GetActivationFactory(static_cast<HSTRING>(classId), reinterpret_cast<::IActivationFactory**>(factory));
|
||||
#else
|
||||
return winrt::hresult_class_not_available(name).to_abi();
|
||||
#endif
|
||||
}
|
||||
catch (...) { return winrt::to_hresult(); }
|
||||
Reference in New Issue
Block a user