int get_accParent(int /*long*/ ppdispParent) { int code = COM.DISP_E_MEMBERNOTFOUND; if (iaccessible != null) { /* Currently, we don't expose this as API. Forward to the proxy. */ code = iaccessible.get_accParent(ppdispParent); } if (parent != null) { /* For lightweight accessibles, return the accessible's parent. */ parent.AddRef(); COM.MoveMemory(ppdispParent, new int /*long*/[] { parent.getAddress() }, OS.PTR_SIZEOF); code = COM.S_OK; } if (DEBUG) print(this + ".IAccessible::get_accParent() returning" + (parent != null ? " " + parent.getAddress() : " from super") + hresult(code)); return code; }
int get_target(int targetIndex, int /*long*/ ppTarget) { if (targetIndex < 0 || targetIndex >= targets.length) return COM.E_INVALIDARG; Accessible target = targets[targetIndex]; target.AddRef(); COM.MoveMemory(ppTarget, new int /*long*/[] { target.getAddress() }, OS.PTR_SIZEOF); return COM.S_OK; }
int get_targets(int maxTargets, int /*long*/ ppTargets, int /*long*/ pNTargets) { int count = Math.min(targets.length, maxTargets); for (int i = 0; i < count; i++) { Accessible target = targets[i]; target.AddRef(); COM.MoveMemory(ppTargets + i * OS.PTR_SIZEOF, new int /*long*/[] { target.getAddress() }, OS.PTR_SIZEOF); } COM.MoveMemory(pNTargets, new int [] { count }, 4); return COM.S_OK; }
int get_cellAt(int row, int column, int /*long*/ ppCell) { AccessibleTableEvent event = new AccessibleTableEvent(this); event.row = row; event.column = column; for (int i = 0; i < accessibleTableListenersSize(); i++) { AccessibleTableListener listener = accessibleTableListeners.get(i); listener.getCell(event); } Accessible accessible = event.accessible; if (DEBUG) print(this + ".IAccessibleTable2::get_cellAt(row=" + row + ", column=" + column + ") returning " + accessible); if (accessible == null) return COM.E_INVALIDARG; accessible.AddRef(); COM.MoveMemory(ppCell, new int /*long*/[] { accessible.getAddress() }, OS.PTR_SIZEOF); return COM.S_OK; }
int get_caption(int /*long*/ ppAccessible) { AccessibleTableEvent event = new AccessibleTableEvent(this); for (int i = 0; i < accessibleTableListenersSize(); i++) { AccessibleTableListener listener = accessibleTableListeners.get(i); listener.getCaption(event); } Accessible accessible = event.accessible; if (DEBUG) print(this + ".IAccessibleTable2::get_caption() returning " + accessible); if (accessible == null) { COM.MoveMemory(ppAccessible, new int /*long*/[] { 0 }, OS.PTR_SIZEOF); return COM.S_FALSE; } accessible.AddRef(); COM.MoveMemory(ppAccessible, new int /*long*/[] { accessible.getAddress() }, OS.PTR_SIZEOF); return COM.S_OK; }
int get_summary(int /*long*/ ppAccessible) { AccessibleTableEvent event = new AccessibleTableEvent(this); for (int i = 0; i < accessibleTableListenersSize(); i++) { AccessibleTableListener listener = accessibleTableListeners.get(i); listener.getSummary(event); } Accessible accessible = event.accessible; if (DEBUG) print(this + ".IAccessibleTable2::get_summary() returning " + accessible); if (accessible == null) { COM.MoveMemory(ppAccessible, new int /*long*/[] { 0 }, OS.PTR_SIZEOF); return COM.S_FALSE; } accessible.AddRef(); COM.MoveMemory(ppAccessible, new int /*long*/[] { accessible.getAddress() }, OS.PTR_SIZEOF); return COM.S_OK; }
int get_anchorTarget(int index, int /*long*/ pAnchorTarget) { if (DEBUG) print(this + ".IAccessibleHyperlink::get_anchorTarget"); AccessibleHyperlinkEvent event = new AccessibleHyperlinkEvent(this); event.index = index; for (int i = 0; i < accessibleHyperlinkListenersSize(); i++) { AccessibleHyperlinkListener listener = accessibleHyperlinkListeners.get(i); listener.getAnchorTarget(event); } Accessible accessible = event.accessible; if (accessible != null) { accessible.AddRef(); setPtrVARIANT(pAnchorTarget, COM.VT_DISPATCH, accessible.getAddress()); return COM.S_OK; } setStringVARIANT(pAnchorTarget, event.result); if (event.result == null) return COM.S_FALSE; return COM.S_OK; }
int get_anchor(int index, int /*long*/ pAnchor) { if (DEBUG) print(this + ".IAccessibleHyperlink::get_anchor"); AccessibleHyperlinkEvent event = new AccessibleHyperlinkEvent(this); event.index = index; for (int i = 0; i < accessibleHyperlinkListenersSize(); i++) { AccessibleHyperlinkListener listener = accessibleHyperlinkListeners.get(i); listener.getAnchor(event); } Accessible accessible = event.accessible; if (accessible != null) { accessible.AddRef(); setPtrVARIANT(pAnchor, COM.VT_DISPATCH, accessible.getAddress()); return COM.S_OK; } setStringVARIANT(pAnchor, event.result); if (event.result == null) return COM.S_FALSE; return COM.S_OK; }
int get_hyperlink(int index, int /*long*/ ppHyperlink) { if (DEBUG) print(this + ".IAccessibleHypertext::get_hyperlink"); AccessibleTextEvent event = new AccessibleTextEvent(this); event.index = index; for (int i = 0; i < accessibleTextExtendedListenersSize(); i++) { AccessibleTextExtendedListener listener = accessibleTextExtendedListeners.get(i); listener.getHyperlink(event); } Accessible accessible = event.accessible; if (accessible == null) { setIntVARIANT(ppHyperlink, COM.VT_EMPTY, 0); return COM.E_INVALIDARG; } accessible.AddRef(); COM.MoveMemory(ppHyperlink, new int /*long*/[] { accessible.getAddress() }, OS.PTR_SIZEOF); return COM.S_OK; }
int get_table(int /*long*/ ppTable) { AccessibleTableCellEvent event = new AccessibleTableCellEvent(this); for (int i = 0; i < accessibleTableCellListenersSize(); i++) { AccessibleTableCellListener listener = accessibleTableCellListeners.get(i); listener.getTable(event); } Accessible accessible = event.accessible; if (DEBUG) print(this + ".IAccessibleTableCell::get_table() returning " + accessible); if (accessible == null) { // TODO: This is not supposed to return S_FALSE. We need to lookup the table role parent and return that. COM.MoveMemory(ppTable, new int /*long*/[] { 0 }, OS.PTR_SIZEOF); return COM.S_FALSE; } accessible.AddRef(); COM.MoveMemory(ppTable, new int /*long*/[] { accessible.getAddress() }, OS.PTR_SIZEOF); return COM.S_OK; }
if (v.vt != COM.VT_I4) return COM.E_INVALIDARG; if (v.lVal == COM.CHILDID_SELF) { if (DEBUG) print(this + ".IAccessible::get_accChild(" + v.lVal + ") returning " + getAddress() + hresult(COM.S_OK)); AddRef(); COM.MoveMemory(ppdispChild, new int /*long*/[] { getAddress() }, OS.PTR_SIZEOF); return COM.S_OK; if (accessible == null) accessible = osAccessible; if (accessible != null) { if (DEBUG) print(this + ".IAccessible::get_accChild(" + v.lVal + ") returning " + accessible.getAddress() + hresult(COM.S_OK)); accessible.AddRef(); COM.MoveMemory(ppdispChild, new int /*long*/[] { accessible.getAddress() }, OS.PTR_SIZEOF); return COM.S_OK;
int get_selectedCells(int /*long*/ ppCells, int /*long*/ pNSelectedCells) { AccessibleTableEvent event = new AccessibleTableEvent(this); for (int i = 0; i < accessibleTableListenersSize(); i++) { AccessibleTableListener listener = accessibleTableListeners.get(i); listener.getSelectedCells(event); } if (DEBUG) print(this + ".IAccessibleTable2::get_selectedCells() returning " + (event.accessibles == null ? "null" : "accessibles[" + event.accessibles.length + "]")); if (event.accessibles == null || event.accessibles.length == 0) { COM.MoveMemory(ppCells, new int /*long*/[] { 0 }, OS.PTR_SIZEOF); COM.MoveMemory(pNSelectedCells, new int [] { 0 }, 4); return COM.S_FALSE; } int length = event.accessibles.length; int /*long*/ pv = COM.CoTaskMemAlloc(length * OS.PTR_SIZEOF); int count = 0; for (int i = 0; i < length; i++) { Accessible accessible = event.accessibles[i]; if (accessible != null) { accessible.AddRef(); COM.MoveMemory(pv + i * OS.PTR_SIZEOF, new int /*long*/[] { accessible.getAddress() }, OS.PTR_SIZEOF); count++; } } COM.MoveMemory(ppCells, new int /*long*/ [] { pv }, OS.PTR_SIZEOF); COM.MoveMemory(pNSelectedCells, new int [] { count }, 4); return COM.S_OK; }
int get_columnHeaderCells(int /*long*/ ppCellAccessibles, int /*long*/ pNColumnHeaderCells) { AccessibleTableCellEvent event = new AccessibleTableCellEvent(this); for (int i = 0; i < accessibleTableCellListenersSize(); i++) { AccessibleTableCellListener listener = accessibleTableCellListeners.get(i); listener.getColumnHeaders(event); } if (DEBUG) print(this + ".IAccessibleTableCell::get_columnHeaderCells() returning " + (event.accessibles == null ? "null" : "accessibles[" + event.accessibles.length + "]")); if (event.accessibles == null || event.accessibles.length == 0) { COM.MoveMemory(ppCellAccessibles, new int /*long*/[] { 0 }, OS.PTR_SIZEOF); COM.MoveMemory(pNColumnHeaderCells, new int [] { 0 }, 4); return COM.S_FALSE; } int length = event.accessibles.length; int /*long*/ pv = COM.CoTaskMemAlloc(length * OS.PTR_SIZEOF); int count = 0; for (int i = 0; i < length; i++) { Accessible accessible = event.accessibles[i]; if (accessible != null) { accessible.AddRef(); COM.MoveMemory(pv + i * OS.PTR_SIZEOF, new int /*long*/[] { accessible.getAddress() }, OS.PTR_SIZEOF); count++; } } COM.MoveMemory(ppCellAccessibles, new int /*long*/ [] { pv }, OS.PTR_SIZEOF); COM.MoveMemory(pNColumnHeaderCells, new int [] { count }, 4); return COM.S_OK; }
int get_rowHeaderCells(int /*long*/ ppCellAccessibles, int /*long*/ pNRowHeaderCells) { AccessibleTableCellEvent event = new AccessibleTableCellEvent(this); for (int i = 0; i < accessibleTableCellListenersSize(); i++) { AccessibleTableCellListener listener = accessibleTableCellListeners.get(i); listener.getRowHeaders(event); } if (DEBUG) print(this + ".IAccessibleTableCell::get_rowHeaderCells() returning " + (event.accessibles == null ? "null" : "accessibles[" + event.accessibles.length + "]")); if (event.accessibles == null || event.accessibles.length == 0) { COM.MoveMemory(ppCellAccessibles, new int /*long*/[] { 0 }, OS.PTR_SIZEOF); COM.MoveMemory(pNRowHeaderCells, new int [] { 0 }, 4); return COM.S_FALSE; } int length = event.accessibles.length; int /*long*/ pv = COM.CoTaskMemAlloc(length * OS.PTR_SIZEOF); int count = 0; for (int i = 0; i < length; i++) { Accessible accessible = event.accessibles[i]; if (accessible != null) { accessible.AddRef(); COM.MoveMemory(pv + i * OS.PTR_SIZEOF, new int /*long*/[] { accessible.getAddress() }, OS.PTR_SIZEOF); count++; } } COM.MoveMemory(ppCellAccessibles, new int /*long*/ [] { pv }, OS.PTR_SIZEOF); COM.MoveMemory(pNRowHeaderCells, new int [] { count }, 4); return COM.S_OK; }
if (DEBUG) print(this + ".IAccessible::accHitTest returning " + accessible.getAddress() + hresult(COM.S_OK)); accessible.AddRef(); setPtrVARIANT(pvarChild, COM.VT_DISPATCH, accessible.getAddress()); return COM.S_OK;
if (DEBUG) print(this + ".IAccessible::get_accFocus() returning accessible " + accessible.getAddress() + hresult(COM.S_OK)); accessible.AddRef(); setPtrVARIANT(pvarChild, COM.VT_DISPATCH, accessible.getAddress()); return COM.S_OK;
Accessible accessible = (Accessible) nextItem; accessible.AddRef(); setPtrVARIANT(rgvar + i * VARIANT.sizeof, COM.VT_DISPATCH, accessible.getAddress());
if (accessible != null) { accessible.AddRef(); setPtrVARIANT(pvarChildren, COM.VT_DISPATCH, accessible.getAddress()); return COM.S_OK; setPtrVARIANT(pvarChildren, COM.VT_DISPATCH, getAddress()); return COM.S_OK;
COM.MoveMemory(ppvObject, new int /*long*/[] { getAddress() }, OS.PTR_SIZEOF); AddRef(); if (DEBUG) print(this + ".QueryInterface guid=" + guidString(guid) + " returning " + getAddress() + hresult(COM.S_OK)); return COM.S_OK;