JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::WindowsUIAWrapper Class Reference

#include <juce_win32_WindowsUIAWrapper.h>

Inheritance diagram for juce::WindowsUIAWrapper:
Collaboration diagram for juce::WindowsUIAWrapper:

Public Member Functions

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

Static Public Member Functions

static void deleteAll ()
 Deletes all extant objects. More...
 

Private Types

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

Private Member Functions

 WindowsUIAWrapper ()
 
 ~WindowsUIAWrapper ()
 

Static Private Member Functions

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

Private Attributes

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

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

◆ deleteAll()

static void juce::DeletedAtShutdown::deleteAll ( )
staticinherited

Deletes all extant objects.

This shouldn't be used by applications, as it's called automatically in the shutdown code of the JUCEApplicationBase class.

◆ disconnectAllProviders()

JUCE_COMRESULT juce::WindowsUIAWrapper::disconnectAllProviders ( )
inline

◆ disconnectProvider()

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

◆ getUiaFunction()

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

◆ hostProviderFromHwnd()

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

◆ isLoaded()

◆ 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

Referenced by clientsAreListening(), and isLoaded().

◆ uiaDisconnectAllProviders

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

Referenced by disconnectAllProviders(), and isLoaded().

◆ uiaDisconnectProvider

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

Referenced by disconnectProvider(), and isLoaded().

◆ uiaHandle

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

Referenced by ~WindowsUIAWrapper().

◆ uiaHostProviderFromHwnd

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

Referenced by hostProviderFromHwnd(), and isLoaded().

◆ uiaRaiseAutomationEvent

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

Referenced by isLoaded(), and raiseAutomationEvent().

◆ 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: