4#ifndef QWINDOWSUIAPROVIDERCACHE_H
5#define QWINDOWSUIAPROVIDERCACHE_H
7#include <QtGui/qtguiglobal.h>
8#if QT_CONFIG(accessibility)
10#include "qwindowsuiamainprovider.h"
12#include <QtCore/qhash.h>
13#include <QtCore/qmutex.h>
14#include <QtGui/qaccessible.h>
15#include <QtCore/private/qcomptr_p.h>
20class QWindowsUiaProviderCache :
public QObject
22 QWindowsUiaProviderCache();
25 static QWindowsUiaProviderCache *instance();
26 ComPtr<QWindowsUiaMainProvider> providerForId(QAccessible::Id id)
const;
27 void insert(QAccessible::Id id, QWindowsUiaMainProvider *provider);
30 void remove(QObject *obj);
33 mutable QMutex m_tableMutex;
34 QHash<QAccessible::Id, QWindowsUiaMainProvider *> m_providerTable;
35 QHash<QObject *, QAccessible::Id> m_inverseTable;