5#ifndef QWINDOWSUIAPROVIDERCACHE_H
6#define QWINDOWSUIAPROVIDERCACHE_H
8#include <QtGui/qtguiglobal.h>
9#if QT_CONFIG(accessibility)
11#include "qwindowsuiamainprovider.h"
13#include <QtCore/qhash.h>
14#include <QtCore/qmutex.h>
15#include <QtGui/qaccessible.h>
16#include <QtCore/private/qcomptr_p.h>
21class QWindowsUiaProviderCache :
public QObject
23 QWindowsUiaProviderCache();
26 static QWindowsUiaProviderCache *instance();
27 ComPtr<QWindowsUiaMainProvider> providerForId(QAccessible::Id id)
const;
28 void insert(QAccessible::Id id, QWindowsUiaMainProvider *provider);
31 void remove(QObject *obj);
34 mutable QMutex m_tableMutex;
35 QHash<QAccessible::Id, QWindowsUiaMainProvider *> m_providerTable;
36 QHash<QObject *, QAccessible::Id> m_inverseTable;