42HRESULT STDMETHODCALLTYPE
CEnumVariant::Next(ULONG cElements,VARIANT __RPC_FAR *pvar,ULONG __RPC_FAR *pcElementFetched)
51 if (pcElementFetched !=
nullptr)
52 *pcElementFetched = 0;
55 if (nChildCount > std::numeric_limits<long>::max())
57 SAL_WARN(
"iacc2",
"CEnumVariant::Next: Child count exceeds maximum long value, "
59 nChildCount = std::numeric_limits<long>::max();
64 for (l1 =
m_nCurrent, l2 = 0; l1 < nChildCount && l2 < cElements; l1++, l2++)
67 IAccessible* pChild =
nullptr;
72 pvar[l2].vt = VT_DISPATCH;
73 pvar[l2].pdispVal = pChild;
81 pRXAcc.get(), &pChild);
84 pvar[l2].vt = VT_DISPATCH;
85 pvar[l2].pdispVal = pChild;
91 if (pcElementFetched !=
nullptr)
92 *pcElementFetched = l2;
95 return (l2 < cElements) ? S_FALSE : NOERROR;
109 if (nChildCount > std::numeric_limits<long>::max())
111 SAL_WARN(
"iacc2",
"CEnumVariant::Skip: Child count exceeds maximum long value, "
113 nChildCount = std::numeric_limits<long>::max();
153 if (ppenum ==
nullptr)
181 HRESULT
hr = createInstance<CEnumVariant>(IID_IEnumVariant, ppenum);
200 if (
nCount > std::numeric_limits<long>::max())
202 SAL_WARN(
"iacc2",
"CEnumVariant::GetCountOfElements: Count exceeds maximum long value, "
204 nCount = std::numeric_limits<long>::max();
233 if( pXAcc ==
nullptr)
237 if( !pRContext.is() )
241 if( !pRSelection.is() )
static Reference< XAccessibleSelection > GetXAccessibleSelection(XAccessible *pXAcc)
Static method to fetch XAccessibleSelection.
virtual bool InsertAccObj(css::accessibility::XAccessible *pXAcc, css::accessibility::XAccessible *pParentXAcc, HWND hWnd=nullptr)
When a new UNO XAccessible object is found by listener, we create a corresponding com object and inse...
CEnumVariant implements IEnumVARIANT interface.
HRESULT STDMETHODCALLTYPE PutSelection(hyper pXSelection) override
Put valid UNO XAccessible interface.
HRESULT STDMETHODCALLTYPE Next(ULONG cElements, VARIANT __RPC_FAR *pvar, ULONG __RPC_FAR *pcElementFetched) override
enumerate method,get next element
HRESULT STDMETHODCALLTYPE Clone(IEnumVARIANT __RPC_FAR *__RPC_FAR *ppenum) override
create a new IEnumVariant object, copy current enumaration container and its state to the new object ...
css::uno::Reference< css::accessibility::XAccessibleSelection > m_pXAccessibleSelection
css::accessibility::XAccessible * pUNOInterface
STDMETHOD() ClearEnumeration() override
Set member m_pXAccessibleSelection to NULL and m_nCurrent to 0.
HRESULT STDMETHODCALLTYPE Skip(ULONG cElements) override
skip the elements in the given range when enumerate elements
long GetCountOfElements()
Return count of elements in current container.
static HRESULT STDMETHODCALLTYPE Create(CEnumVariant __RPC_FAR *__RPC_FAR *ppenum)
Static public method to create a CLSID_EnumVariant com object.
HRESULT STDMETHODCALLTYPE Reset(void) override
reset the enumaration position to initial value
static bool get_IAccessibleFromXAccessible(css::accessibility::XAccessible *pXAcc, IAccessible **ppIA)
static AccObjectManagerAgent * g_pAgent
#define SAL_WARN(area, stream)