LMMS
Loading...
Searching...
No Matches
juce::WindowsUIAWrapper Class Reference

#include <juce_win32_WindowsUIAWrapper.h>

Inheritance diagram for juce::WindowsUIAWrapper:
juce::DeletedAtShutdown

Public Member Functions

bool isLoaded () const noexcept
LRESULT returnRawElementProvider (HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *provider)
JUCE_COMRESULT hostProviderFromHwnd (HWND hwnd, IRawElementProviderSimple **provider)
JUCE_COMRESULT raiseAutomationPropertyChangedEvent (IRawElementProviderSimple *provider, PROPERTYID propID, VARIANT oldValue, VARIANT newValue)
JUCE_COMRESULT raiseAutomationEvent (IRawElementProviderSimple *provider, EVENTID eventID)
BOOL clientsAreListening ()
JUCE_COMRESULT disconnectProvider (IRawElementProviderSimple *provider)
JUCE_COMRESULT disconnectAllProviders ()
bool isProviderDisconnecting (IRawElementProviderSimple *provider)

Private Types

using UiaReturnRawElementProviderFunc = LRESULT (WINAPI*) (HWND, WPARAM, LPARAM, IRawElementProviderSimple*)
using UiaHostProviderFromHwndFunc = HRESULT (WINAPI*) (HWND, IRawElementProviderSimple**)
using UiaRaiseAutomationPropertyChangedEventFunc = HRESULT (WINAPI*) (IRawElementProviderSimple*, PROPERTYID, VARIANT, VARIANT)
using UiaRaiseAutomationEventFunc = HRESULT (WINAPI*) (IRawElementProviderSimple*, EVENTID)
using UiaClientsAreListeningFunc = BOOL (WINAPI*) ()
using UiaDisconnectProviderFunc = HRESULT (WINAPI*) (IRawElementProviderSimple*)
using UiaDisconnectAllProvidersFunc = HRESULT (WINAPI*) ()

Private Member Functions

 WindowsUIAWrapper ()
 ~WindowsUIAWrapper ()

Static Private Member Functions

template<typename FuncType>
static FuncType getUiaFunction (HMODULE module, LPCSTR funcName)

Private Attributes

HMODULE uiaHandle = ::LoadLibraryA ("UIAutomationCore.dll")
UiaReturnRawElementProviderFunc uiaReturnRawElementProvider = getUiaFunction<UiaReturnRawElementProviderFunc> (uiaHandle, "UiaReturnRawElementProvider")
UiaHostProviderFromHwndFunc uiaHostProviderFromHwnd = getUiaFunction<UiaHostProviderFromHwndFunc> (uiaHandle, "UiaHostProviderFromHwnd")
UiaRaiseAutomationPropertyChangedEventFunc uiaRaiseAutomationPropertyChangedEvent = getUiaFunction<UiaRaiseAutomationPropertyChangedEventFunc> (uiaHandle, "UiaRaiseAutomationPropertyChangedEvent")
UiaRaiseAutomationEventFunc uiaRaiseAutomationEvent = getUiaFunction<UiaRaiseAutomationEventFunc> (uiaHandle, "UiaRaiseAutomationEvent")
UiaClientsAreListeningFunc uiaClientsAreListening = getUiaFunction<UiaClientsAreListeningFunc> (uiaHandle, "UiaClientsAreListening")
UiaDisconnectProviderFunc uiaDisconnectProvider = getUiaFunction<UiaDisconnectProviderFunc> (uiaHandle, "UiaDisconnectProvider")
UiaDisconnectAllProvidersFunc uiaDisconnectAllProviders = getUiaFunction<UiaDisconnectAllProvidersFunc> (uiaHandle, "UiaDisconnectAllProviders")
IRawElementProviderSimple * disconnectingProvider = nullptr
bool disconnectingAllProviders = false

Additional Inherited Members

Static Public Member Functions inherited from juce::DeletedAtShutdown
static void deleteAll ()
Protected Member Functions inherited from juce::DeletedAtShutdown
 DeletedAtShutdown ()
virtual ~DeletedAtShutdown ()

Member Typedef Documentation

◆ UiaClientsAreListeningFunc

using juce::WindowsUIAWrapper::UiaClientsAreListeningFunc = BOOL (WINAPI*) ()
private

◆ UiaDisconnectAllProvidersFunc

using juce::WindowsUIAWrapper::UiaDisconnectAllProvidersFunc = HRESULT (WINAPI*) ()
private

◆ UiaDisconnectProviderFunc

using juce::WindowsUIAWrapper::UiaDisconnectProviderFunc = HRESULT (WINAPI*) (IRawElementProviderSimple*)
private

◆ UiaHostProviderFromHwndFunc

using juce::WindowsUIAWrapper::UiaHostProviderFromHwndFunc = HRESULT (WINAPI*) (HWND, IRawElementProviderSimple**)
private

◆ UiaRaiseAutomationEventFunc

using juce::WindowsUIAWrapper::UiaRaiseAutomationEventFunc = HRESULT (WINAPI*) (IRawElementProviderSimple*, EVENTID)
private

◆ UiaRaiseAutomationPropertyChangedEventFunc

using juce::WindowsUIAWrapper::UiaRaiseAutomationPropertyChangedEventFunc = HRESULT (WINAPI*) (IRawElementProviderSimple*, PROPERTYID, VARIANT, VARIANT)
private

◆ UiaReturnRawElementProviderFunc

using juce::WindowsUIAWrapper::UiaReturnRawElementProviderFunc = LRESULT (WINAPI*) (HWND, WPARAM, LPARAM, IRawElementProviderSimple*)
private

Constructor & Destructor Documentation

◆ WindowsUIAWrapper()

juce::WindowsUIAWrapper::WindowsUIAWrapper ( )
inlineprivate

◆ ~WindowsUIAWrapper()

juce::WindowsUIAWrapper::~WindowsUIAWrapper ( )
inlineprivate

Member Function Documentation

◆ clientsAreListening()

BOOL juce::WindowsUIAWrapper::clientsAreListening ( )
inline

◆ disconnectAllProviders()

JUCE_COMRESULT juce::WindowsUIAWrapper::disconnectAllProviders ( )
inline

◆ disconnectProvider()

JUCE_COMRESULT juce::WindowsUIAWrapper::disconnectProvider ( IRawElementProviderSimple * provider)
inline

◆ getUiaFunction()

template<typename FuncType>
FuncType juce::WindowsUIAWrapper::getUiaFunction ( HMODULE module,
LPCSTR funcName )
inlinestaticprivate

◆ hostProviderFromHwnd()

JUCE_COMRESULT juce::WindowsUIAWrapper::hostProviderFromHwnd ( HWND hwnd,
IRawElementProviderSimple ** provider )
inline

◆ isLoaded()

bool juce::WindowsUIAWrapper::isLoaded ( ) const
inlinenoexcept

◆ isProviderDisconnecting()

bool juce::WindowsUIAWrapper::isProviderDisconnecting ( IRawElementProviderSimple * provider)
inline

◆ raiseAutomationEvent()

JUCE_COMRESULT juce::WindowsUIAWrapper::raiseAutomationEvent ( IRawElementProviderSimple * provider,
EVENTID eventID )
inline

◆ raiseAutomationPropertyChangedEvent()

JUCE_COMRESULT juce::WindowsUIAWrapper::raiseAutomationPropertyChangedEvent ( IRawElementProviderSimple * provider,
PROPERTYID propID,
VARIANT oldValue,
VARIANT newValue )
inline

◆ returnRawElementProvider()

LRESULT juce::WindowsUIAWrapper::returnRawElementProvider ( HWND hwnd,
WPARAM wParam,
LPARAM lParam,
IRawElementProviderSimple * provider )
inline

Member Data Documentation

◆ disconnectingAllProviders

bool juce::WindowsUIAWrapper::disconnectingAllProviders = false
private

◆ disconnectingProvider

IRawElementProviderSimple* juce::WindowsUIAWrapper::disconnectingProvider = nullptr
private

◆ uiaClientsAreListening

UiaClientsAreListeningFunc juce::WindowsUIAWrapper::uiaClientsAreListening = getUiaFunction<UiaClientsAreListeningFunc> (uiaHandle, "UiaClientsAreListening")
private

◆ uiaDisconnectAllProviders

UiaDisconnectAllProvidersFunc juce::WindowsUIAWrapper::uiaDisconnectAllProviders = getUiaFunction<UiaDisconnectAllProvidersFunc> (uiaHandle, "UiaDisconnectAllProviders")
private

◆ uiaDisconnectProvider

UiaDisconnectProviderFunc juce::WindowsUIAWrapper::uiaDisconnectProvider = getUiaFunction<UiaDisconnectProviderFunc> (uiaHandle, "UiaDisconnectProvider")
private

◆ uiaHandle

HMODULE juce::WindowsUIAWrapper::uiaHandle = ::LoadLibraryA ("UIAutomationCore.dll")
private

◆ uiaHostProviderFromHwnd

UiaHostProviderFromHwndFunc juce::WindowsUIAWrapper::uiaHostProviderFromHwnd = getUiaFunction<UiaHostProviderFromHwndFunc> (uiaHandle, "UiaHostProviderFromHwnd")
private

◆ uiaRaiseAutomationEvent

UiaRaiseAutomationEventFunc juce::WindowsUIAWrapper::uiaRaiseAutomationEvent = getUiaFunction<UiaRaiseAutomationEventFunc> (uiaHandle, "UiaRaiseAutomationEvent")
private

◆ uiaRaiseAutomationPropertyChangedEvent

UiaRaiseAutomationPropertyChangedEventFunc juce::WindowsUIAWrapper::uiaRaiseAutomationPropertyChangedEvent = getUiaFunction<UiaRaiseAutomationPropertyChangedEventFunc> (uiaHandle, "UiaRaiseAutomationPropertyChangedEvent")
private

◆ uiaReturnRawElementProvider

UiaReturnRawElementProviderFunc juce::WindowsUIAWrapper::uiaReturnRawElementProvider = getUiaFunction<UiaReturnRawElementProviderFunc> (uiaHandle, "UiaReturnRawElementProvider")
private

The documentation for this class was generated from the following file: