// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #include "winrt/Microsoft.ReactNative.h" #include "NativeModules.h" namespace winrt::ReactNativePicker::implementation { class ReactPickerViewManager : public winrt::implements< ReactPickerViewManager, winrt::Microsoft::ReactNative::IViewManager, winrt::Microsoft::ReactNative::IViewManagerWithReactContext, winrt::Microsoft::ReactNative::IViewManagerWithNativeProperties, winrt::Microsoft::ReactNative::IViewManagerWithExportedEventTypeConstants> { public: ReactPickerViewManager(); // IViewManager winrt::hstring Name() noexcept; xaml::FrameworkElement CreateView() noexcept; // IViewManagerWithReactContext winrt::Microsoft::ReactNative::IReactContext ReactContext() noexcept; void ReactContext(winrt::Microsoft::ReactNative::IReactContext reactContext) noexcept; // IViewManagerWithNativeProperties winrt::Windows::Foundation::Collections:: IMapView NativeProps() noexcept; void UpdateProperties( xaml::FrameworkElement const& view, winrt::Microsoft::ReactNative::IJSValueReader const& propertyMapReader) noexcept; // IViewManagerWithExportedEventTypeConstants winrt::Microsoft::ReactNative::ConstantProviderDelegate ExportedCustomBubblingEventTypeConstants() noexcept; winrt::Microsoft::ReactNative::ConstantProviderDelegate ExportedCustomDirectEventTypeConstants() noexcept; private: winrt::Microsoft::ReactNative::IReactContext m_reactContext{ nullptr }; }; } // namespace winrt::ReactNativePicker::implementation