< prev index next >
src/jdk.accessibility/windows/native/libwindowsaccessbridge/WinAccessBridge.cpp
Print this page
*** 74,84 ****
switch (LOWORD(wParam)) {
// Remind user later that a new JVM was installed
case cRemindThereIsNewJVM:
! PrintDebugString(" newJVMDialogProc: cRemindThereIsNewJVM");
// do nothing
EndDialog(hwndDlg, wParam);
return TRUE;
// Do not remind user later that a new JVM was installed
--- 74,84 ----
switch (LOWORD(wParam)) {
// Remind user later that a new JVM was installed
case cRemindThereIsNewJVM:
! PrintDebugString("[INFO]: newJVMDialogProc: cRemindThereIsNewJVM");
// do nothing
EndDialog(hwndDlg, wParam);
return TRUE;
// Do not remind user later that a new JVM was installed
*** 128,144 ****
*/
BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD fdwReason, LPVOID lpvReserved) {
switch (fdwReason) {
case DLL_PROCESS_ATTACH: // A Windows executable loaded us
! PrintDebugString("DLL_PROCESS_ATTACH");
theWindowsAccessBridge = new WinAccessBridge(hinstDll);
break;
case DLL_PROCESS_DETACH: // A Windows executable unloaded us
if (theWindowsAccessBridge != (WinAccessBridge *) 0) {
! PrintDebugString("*** AccessBridgeDialogProc -> deleting theWindowsAccessBridge");
delete theWindowsAccessBridge;
}
break;
}
--- 128,145 ----
*/
BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD fdwReason, LPVOID lpvReserved) {
switch (fdwReason) {
case DLL_PROCESS_ATTACH: // A Windows executable loaded us
! initializeFileLogger("_windows_access_bridge");
! PrintDebugString("[INFO]: DLL_PROCESS_ATTACH");
theWindowsAccessBridge = new WinAccessBridge(hinstDll);
break;
case DLL_PROCESS_DETACH: // A Windows executable unloaded us
if (theWindowsAccessBridge != (WinAccessBridge *) 0) {
! PrintDebugString("[INFO]: *** AccessBridgeDialogProc -> deleting theWindowsAccessBridge");
delete theWindowsAccessBridge;
}
break;
}
*** 171,198 ****
COPYDATASTRUCT *sentToUs;
char *package;
switch (message) {
case WM_INITDIALOG:
! PrintDebugString("AccessBridgeDialogProc -> Initializing");
break;
// call from Java with data for us to deliver
case WM_COPYDATA:
if (theDialogWindow == (HWND) wParam) {
! PrintDebugString("AccessBridgeDialogProc -> Got WM_COPYDATA from Java Bridge DLL");
} else {
! PrintDebugString("AccessBridgeDialogProc -> Got WM_COPYDATA from HWND %p", wParam);
sentToUs = (COPYDATASTRUCT *) lParam;
package = (char *) sentToUs->lpData;
theWindowsAccessBridge->preProcessPackage(package, sentToUs->cbData);
}
break;
// message to ourselves -> de-queue messages and send 'em
case AB_MESSAGE_QUEUED:
! PrintDebugString("AccessBridgeDialogProc -> Got AB_MESSAGE_QUEUED from ourselves");
theWindowsAccessBridge->receiveAQueuedPackage();
break;
// a JavaAccessBridge DLL is going away
//
--- 172,199 ----
COPYDATASTRUCT *sentToUs;
char *package;
switch (message) {
case WM_INITDIALOG:
! PrintDebugString("[INFO]: AccessBridgeDialogProc -> Initializing");
break;
// call from Java with data for us to deliver
case WM_COPYDATA:
if (theDialogWindow == (HWND) wParam) {
! PrintDebugString("[INFO]: AccessBridgeDialogProc -> Got WM_COPYDATA from Java Bridge DLL");
} else {
! PrintDebugString("[INFO]: AccessBridgeDialogProc -> Got WM_COPYDATA from HWND %p", wParam);
sentToUs = (COPYDATASTRUCT *) lParam;
package = (char *) sentToUs->lpData;
theWindowsAccessBridge->preProcessPackage(package, sentToUs->cbData);
}
break;
// message to ourselves -> de-queue messages and send 'em
case AB_MESSAGE_QUEUED:
! PrintDebugString("[INFO]: AccessBridgeDialogProc -> Got AB_MESSAGE_QUEUED from ourselves");
theWindowsAccessBridge->receiveAQueuedPackage();
break;
// a JavaAccessBridge DLL is going away
//
*** 212,236 ****
// The solution then is to set a flag whenever the javaVMs chain is being
// used and if that flag is set at this point the message will be posted
// to the message queue. That would delay the destruction of the instance
// until the chain is not being traversed.
case AB_DLL_GOING_AWAY:
! PrintDebugString("***** AccessBridgeDialogProc -> Got AB_DLL_GOING_AWAY message");
if (isVMInstanceChainInUse) {
! PrintDebugString(" javaVMs chain in use, calling PostMessage");
PostMessage(hDlg, AB_DLL_GOING_AWAY, wParam, (LPARAM)0);
} else {
! PrintDebugString(" calling javaVMDestroyed");
theWindowsAccessBridge->JavaVMDestroyed((HWND) wParam);
}
break;
default:
// the JavaVM is saying "hi"!
// wParam == sourceHwnd; lParam == JavaVMID
if (message == theFromJavaHelloMsgID) {
! PrintDebugString("AccessBridgeDialogProc -> Got theFromJavaHelloMsgID; wParam = %p, lParam = %p", wParam, lParam);
theWindowsAccessBridge->rendezvousWithNewJavaDLL((HWND) wParam, (long ) lParam);
}
break;
}
--- 213,237 ----
// The solution then is to set a flag whenever the javaVMs chain is being
// used and if that flag is set at this point the message will be posted
// to the message queue. That would delay the destruction of the instance
// until the chain is not being traversed.
case AB_DLL_GOING_AWAY:
! PrintDebugString("[INFO]: ***** AccessBridgeDialogProc -> Got AB_DLL_GOING_AWAY message");
if (isVMInstanceChainInUse) {
! PrintDebugString("[INFO]: javaVMs chain in use, calling PostMessage");
PostMessage(hDlg, AB_DLL_GOING_AWAY, wParam, (LPARAM)0);
} else {
! PrintDebugString("[INFO]: calling javaVMDestroyed");
theWindowsAccessBridge->JavaVMDestroyed((HWND) wParam);
}
break;
default:
// the JavaVM is saying "hi"!
// wParam == sourceHwnd; lParam == JavaVMID
if (message == theFromJavaHelloMsgID) {
! PrintDebugString("[INFO]: AccessBridgeDialogProc -> Got theFromJavaHelloMsgID; wParam = %p, lParam = %p", wParam, lParam);
theWindowsAccessBridge->rendezvousWithNewJavaDLL((HWND) wParam, (long ) lParam);
}
break;
}
*** 248,258 ****
* Initialize the WinAccessBridge
*
*/
WinAccessBridge::WinAccessBridge(HINSTANCE hInstance) {
! PrintDebugString("WinAccessBridge ctor");
// IntializeCriticalSection should only be called once.
InitializeCriticalSection(&sendMemoryIPCLock);
windowsInstance = hInstance;
javaVMs = (AccessBridgeJavaVMInstance *) 0;
--- 249,259 ----
* Initialize the WinAccessBridge
*
*/
WinAccessBridge::WinAccessBridge(HINSTANCE hInstance) {
! PrintDebugString("[INFO]: WinAccessBridge ctor");
// IntializeCriticalSection should only be called once.
InitializeCriticalSection(&sendMemoryIPCLock);
windowsInstance = hInstance;
javaVMs = (AccessBridgeJavaVMInstance *) 0;
*** 274,302 ****
WinAccessBridge::~WinAccessBridge() {
// inform all other AccessBridges that we're going away
// -> shut down all event listening
// -> release all objects held in the JVM by us
! PrintDebugString("*****in WinAccessBridge::~WinAccessBridge()");
// send a broadcast msg.; let other AccessBridge DLLs know we're going away
AccessBridgeJavaVMInstance *current = javaVMs;
while (current != (AccessBridgeJavaVMInstance *) 0) {
! PrintDebugString(" telling %p we're going away", current->javaAccessBridgeWindow);
SendMessage(current->javaAccessBridgeWindow,
AB_DLL_GOING_AWAY, (WPARAM) dialogWindow, (LPARAM) 0);
current = current->nextJVMInstance;
}
! PrintDebugString(" finished telling JVMs about our demise");
delete eventHandler;
delete messageQueue;
delete javaVMs;
! PrintDebugString(" finished deleting eventHandler, messageQueue, and javaVMs");
! PrintDebugString("GOODBYE CRUEL WORLD...");
DestroyWindow(theDialogWindow);
}
--- 275,303 ----
WinAccessBridge::~WinAccessBridge() {
// inform all other AccessBridges that we're going away
// -> shut down all event listening
// -> release all objects held in the JVM by us
! PrintDebugString("[INFO]: *****in WinAccessBridge::~WinAccessBridge()");
// send a broadcast msg.; let other AccessBridge DLLs know we're going away
AccessBridgeJavaVMInstance *current = javaVMs;
while (current != (AccessBridgeJavaVMInstance *) 0) {
! PrintDebugString("[INFO]: telling %p we're going away", current->javaAccessBridgeWindow);
SendMessage(current->javaAccessBridgeWindow,
AB_DLL_GOING_AWAY, (WPARAM) dialogWindow, (LPARAM) 0);
current = current->nextJVMInstance;
}
! PrintDebugString("[INFO]: finished telling JVMs about our demise");
delete eventHandler;
delete messageQueue;
delete javaVMs;
! PrintDebugString("[INFO]: finished deleting eventHandler, messageQueue, and javaVMs");
! PrintDebugString("[INFO]: GOODBYE CRUEL WORLD...");
DestroyWindow(theDialogWindow);
}
*** 336,346 ****
*/
LRESULT
WinAccessBridge::rendezvousWithNewJavaDLL(HWND JavaBridgeDLLwindow, long vmID) {
LRESULT returnVal;
! PrintDebugString("in WinAccessBridge::rendezvousWithNewJavaDLL(%p, %X)",
JavaBridgeDLLwindow, vmID);
isVMInstanceChainInUse = true;
AccessBridgeJavaVMInstance *newVM =
new AccessBridgeJavaVMInstance(dialogWindow, JavaBridgeDLLwindow, vmID, javaVMs);
--- 337,347 ----
*/
LRESULT
WinAccessBridge::rendezvousWithNewJavaDLL(HWND JavaBridgeDLLwindow, long vmID) {
LRESULT returnVal;
! PrintDebugString("[INFO]: in WinAccessBridge::rendezvousWithNewJavaDLL(%p, %X)",
JavaBridgeDLLwindow, vmID);
isVMInstanceChainInUse = true;
AccessBridgeJavaVMInstance *newVM =
new AccessBridgeJavaVMInstance(dialogWindow, JavaBridgeDLLwindow, vmID, javaVMs);
*** 352,378 ****
// tell the newly created JavaVM what events we're interested in, if any
long javaEventMask = eventHandler->getJavaEventMask();
long accessibilityEventMask = eventHandler->getAccessibilityEventMask();
! PrintDebugString(" Setting Java event mask to: %X", javaEventMask);
if (javaEventMask != 0) {
addJavaEventNotification(javaEventMask);
}
! PrintDebugString(" Setting Accessibility event mask to: %X", accessibilityEventMask);
if (accessibilityEventMask != 0) {
addAccessibilityEventNotification(accessibilityEventMask);
}
} else {
! PrintDebugString(" ERROR: Failed to initiate IPC with newly created JavaVM!!!");
return FALSE;
}
! PrintDebugString(" Success!! We rendezvoused with the JavaDLL");
return returnVal;
}
// -----------------------
--- 353,379 ----
// tell the newly created JavaVM what events we're interested in, if any
long javaEventMask = eventHandler->getJavaEventMask();
long accessibilityEventMask = eventHandler->getAccessibilityEventMask();
! PrintDebugString("[INFO]: Setting Java event mask to: %X", javaEventMask);
if (javaEventMask != 0) {
addJavaEventNotification(javaEventMask);
}
! PrintDebugString("[INFO]: Setting Accessibility event mask to: %X", accessibilityEventMask);
if (accessibilityEventMask != 0) {
addAccessibilityEventNotification(accessibilityEventMask);
}
} else {
! PrintDebugString("[ERROR]: Failed to initiate IPC with newly created JavaVM!!!");
return FALSE;
}
! PrintDebugString("[INFO]: Success!! We rendezvoused with the JavaDLL");
return returnVal;
}
// -----------------------
*** 419,429 ****
// return falue to the caller
memset(buffer, 0, bufsize);
return FALSE;
}
} else {
! PrintDebugString("ERROR sending memory package: couldn't find destWindow");
return FALSE;
}
return TRUE;
}
--- 420,430 ----
// return falue to the caller
memset(buffer, 0, bufsize);
return FALSE;
}
} else {
! PrintDebugString("[ERROR]: sending memory package: couldn't find destWindow");
return FALSE;
}
return TRUE;
}
*** 432,442 ****
* queuePackage - put a package onto the queue for latter processing
*
*/
BOOL
WinAccessBridge::queuePackage(char *buffer, long bufsize) {
! PrintDebugString(" in WinAccessBridge::queuePackage(%p, %d)", buffer, bufsize);
AccessBridgeQueueElement *element = new AccessBridgeQueueElement(buffer, bufsize);
messageQueue->add(element);
PostMessage(dialogWindow, AB_MESSAGE_QUEUED, (WPARAM) 0, (LPARAM) 0);
--- 433,443 ----
* queuePackage - put a package onto the queue for latter processing
*
*/
BOOL
WinAccessBridge::queuePackage(char *buffer, long bufsize) {
! PrintDebugString("[INFO]: in WinAccessBridge::queuePackage(%p, %d)", buffer, bufsize);
AccessBridgeQueueElement *element = new AccessBridgeQueueElement(buffer, bufsize);
messageQueue->add(element);
PostMessage(dialogWindow, AB_MESSAGE_QUEUED, (WPARAM) 0, (LPARAM) 0);
*** 452,501 ****
*/
BOOL
WinAccessBridge::receiveAQueuedPackage() {
AccessBridgeQueueElement *element = NULL;
! PrintDebugString("in WinAccessBridge::receiveAQueuedPackage()");
// ensure against re-entrancy problems...
if (messageQueue->getRemoveLockSetting() == FALSE) {
messageQueue->setRemoveLock(TRUE);
! PrintDebugString(" dequeueing message");
QueueReturns result = messageQueue->remove(&element);
switch (result) {
case cQueueBroken:
! PrintDebugString(" ERROR!!! Queue seems to be broken!");
messageQueue->setRemoveLock(FALSE);
return FALSE;
case cMoreMessages:
case cQueueEmpty:
if (element != (AccessBridgeQueueElement *) 0) {
! PrintDebugString(" found one; sending it!");
processPackage(element->buffer, element->bufsize);
delete element;
} else {
! PrintDebugString(" ODD... element == 0!");
return FALSE;
}
break;
case cQueueInUse:
! PrintDebugString(" Queue in use, will try again later...");
PostMessage(dialogWindow, AB_MESSAGE_QUEUED, (WPARAM) 0, (LPARAM) 0);
break;
default:
messageQueue->setRemoveLock(FALSE);
return FALSE; // should never get something we don't recognize!
}
} else {
! PrintDebugString(" unable to dequeue message; remove lock is set");
PostMessage(dialogWindow, AB_MESSAGE_QUEUED, (WPARAM) 0, (LPARAM) 0); // Fix for 6995891
}
messageQueue->setRemoveLock(FALSE);
return TRUE;
--- 453,502 ----
*/
BOOL
WinAccessBridge::receiveAQueuedPackage() {
AccessBridgeQueueElement *element = NULL;
! PrintDebugString("[INFO]: in WinAccessBridge::receiveAQueuedPackage()");
// ensure against re-entrancy problems...
if (messageQueue->getRemoveLockSetting() == FALSE) {
messageQueue->setRemoveLock(TRUE);
! PrintDebugString("[INFO]: dequeueing message");
QueueReturns result = messageQueue->remove(&element);
switch (result) {
case cQueueBroken:
! PrintDebugString("[ERROR]: Queue seems to be broken!");
messageQueue->setRemoveLock(FALSE);
return FALSE;
case cMoreMessages:
case cQueueEmpty:
if (element != (AccessBridgeQueueElement *) 0) {
! PrintDebugString("[INFO]: found one; sending it!");
processPackage(element->buffer, element->bufsize);
delete element;
} else {
! PrintDebugString("[WARN]: ODD... element == 0!");
return FALSE;
}
break;
case cQueueInUse:
! PrintDebugString("[WARN]: Queue in use, will try again later...");
PostMessage(dialogWindow, AB_MESSAGE_QUEUED, (WPARAM) 0, (LPARAM) 0);
break;
default:
messageQueue->setRemoveLock(FALSE);
return FALSE; // should never get something we don't recognize!
}
} else {
! PrintDebugString("[WARN]: unable to dequeue message; remove lock is set");
PostMessage(dialogWindow, AB_MESSAGE_QUEUED, (WPARAM) 0, (LPARAM) 0); // Fix for 6995891
}
messageQueue->setRemoveLock(FALSE);
return TRUE;
*** 508,524 ****
* - do triage on incoming packages; queue some, deal with others
*
*/
void
WinAccessBridge::preProcessPackage(char *buffer, long bufsize) {
! PrintDebugString("PreProcessing package sent from Java:");
PackageType *type = (PackageType *) buffer;
switch (*type) {
! PrintDebugString(" type == %X", *type);
// event packages all get queued for later handling
//case cPropertyChangePackage:
case cJavaShutdownPackage:
case cFocusGainedPackage:
--- 509,525 ----
* - do triage on incoming packages; queue some, deal with others
*
*/
void
WinAccessBridge::preProcessPackage(char *buffer, long bufsize) {
! PrintDebugString("[INFO]: PreProcessing package sent from Java:");
PackageType *type = (PackageType *) buffer;
switch (*type) {
! PrintDebugString("[INFO]: type == %X", *type);
// event packages all get queued for later handling
//case cPropertyChangePackage:
case cJavaShutdownPackage:
case cFocusGainedPackage:
*** 553,613 ****
break;
// perhaps there will be some other packages to process at some point... //
default:
! PrintDebugString(" processing FAILED!! -> don't know how to handle type = %X", *type);
break;
}
! PrintDebugString(" package preprocessing completed");
}
#define DISPATCH_EVENT_PACKAGE(packageID, eventPackage, fireEventMethod) \
case packageID: \
if (bufsize == sizeof(PackageType) + sizeof(eventPackage)) { \
eventPackage *pkg = \
(eventPackage *) (buffer + sizeof(PackageType)); \
! PrintDebugString(" begin callback to AT, type == %X", *type); \
theWindowsAccessBridge->eventHandler->fireEventMethod( \
pkg->vmID, pkg->Event, pkg->AccessibleContextSource); \
! PrintDebugString(" event callback complete!"); \
} else { \
! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", \
bufsize, sizeof(PackageType) + sizeof(eventPackage)); \
} \
break;
#define DISPATCH_PROPERTY_CHANGE_PACKAGE(packageID, eventPackage, fireEventMethod, oldValue, newValue) \
case packageID: \
if (bufsize == sizeof(PackageType) + sizeof(eventPackage)) { \
eventPackage *pkg = \
(eventPackage *) (buffer + sizeof(PackageType)); \
! PrintDebugString(" begin callback to AT, type == %X", *type); \
theWindowsAccessBridge->eventHandler->fireEventMethod( \
pkg->vmID, pkg->Event, pkg->AccessibleContextSource, \
pkg->oldValue, pkg->newValue); \
! PrintDebugString(" event callback complete!"); \
} else { \
! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", \
bufsize, sizeof(PackageType) + sizeof(eventPackage)); \
} \
break;
#define DISPATCH_PROPERTY_TABLE_MODEL_CHANGE_PACKAGE(packageID, eventPackage, fireEventMethod, oldValue, newValue) \
case packageID: \
if (bufsize == sizeof(PackageType) + sizeof(eventPackage)) { \
eventPackage *pkg = \
(eventPackage *) (buffer + sizeof(PackageType)); \
! PrintDebugString(" begin callback to AT, type == %X", *type); \
theWindowsAccessBridge->eventHandler->fireEventMethod( \
pkg->vmID, pkg->Event, pkg->AccessibleContextSource, \
pkg->oldValue, pkg->newValue); \
! PrintDebugString(" event callback complete!"); \
} else { \
! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", \
bufsize, sizeof(PackageType) + sizeof(eventPackage)); \
} \
break;
/**
--- 554,614 ----
break;
// perhaps there will be some other packages to process at some point... //
default:
! PrintDebugString("[ERROR]: processing FAILED!! -> don't know how to handle type = %X", *type);
break;
}
! PrintDebugString("[INFO]: package preprocessing completed");
}
#define DISPATCH_EVENT_PACKAGE(packageID, eventPackage, fireEventMethod) \
case packageID: \
if (bufsize == sizeof(PackageType) + sizeof(eventPackage)) { \
eventPackage *pkg = \
(eventPackage *) (buffer + sizeof(PackageType)); \
! PrintDebugString("[INFO]: begin callback to AT, type == %X", *type); \
theWindowsAccessBridge->eventHandler->fireEventMethod( \
pkg->vmID, pkg->Event, pkg->AccessibleContextSource); \
! PrintDebugString("[INFO]: event callback complete!"); \
} else { \
! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", \
bufsize, sizeof(PackageType) + sizeof(eventPackage)); \
} \
break;
#define DISPATCH_PROPERTY_CHANGE_PACKAGE(packageID, eventPackage, fireEventMethod, oldValue, newValue) \
case packageID: \
if (bufsize == sizeof(PackageType) + sizeof(eventPackage)) { \
eventPackage *pkg = \
(eventPackage *) (buffer + sizeof(PackageType)); \
! PrintDebugString("[INFO]: begin callback to AT, type == %X", *type); \
theWindowsAccessBridge->eventHandler->fireEventMethod( \
pkg->vmID, pkg->Event, pkg->AccessibleContextSource, \
pkg->oldValue, pkg->newValue); \
! PrintDebugString("[INFO]: event callback complete!"); \
} else { \
! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", \
bufsize, sizeof(PackageType) + sizeof(eventPackage)); \
} \
break;
#define DISPATCH_PROPERTY_TABLE_MODEL_CHANGE_PACKAGE(packageID, eventPackage, fireEventMethod, oldValue, newValue) \
case packageID: \
if (bufsize == sizeof(PackageType) + sizeof(eventPackage)) { \
eventPackage *pkg = \
(eventPackage *) (buffer + sizeof(PackageType)); \
! PrintDebugString("[INFO]: begin callback to AT, type == %X", *type); \
theWindowsAccessBridge->eventHandler->fireEventMethod( \
pkg->vmID, pkg->Event, pkg->AccessibleContextSource, \
pkg->oldValue, pkg->newValue); \
! PrintDebugString("[INFO]: event callback complete!"); \
} else { \
! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", \
bufsize, sizeof(PackageType) + sizeof(eventPackage)); \
} \
break;
/**
*** 615,642 ****
* to do IPC messaging with the Java AccessBridge DLL
*
*/
void
WinAccessBridge::processPackage(char *buffer, long bufsize) {
! PrintDebugString("WinAccessBridge::Processing package sent from Java:");
PackageType *type = (PackageType *) buffer;
switch (*type) {
! PrintDebugString(" type == %X", *type);
case cJavaShutdownPackage:
! PrintDebugString(" type == cJavaShutdownPackage");
if (bufsize == sizeof(PackageType) + sizeof(JavaShutdownPackage)) {
JavaShutdownPackage *pkg =
(JavaShutdownPackage *) (buffer + sizeof(PackageType));
theWindowsAccessBridge->eventHandler->fireJavaShutdown(pkg->vmID);
! PrintDebugString(" event callback complete!");
! PrintDebugString(" event fired!");
} else {
! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d",
bufsize, sizeof(PackageType) + sizeof(JavaShutdownPackage));
}
break;
--- 616,643 ----
* to do IPC messaging with the Java AccessBridge DLL
*
*/
void
WinAccessBridge::processPackage(char *buffer, long bufsize) {
! PrintDebugString("[INFO]: WinAccessBridge::Processing package sent from Java:");
PackageType *type = (PackageType *) buffer;
switch (*type) {
! PrintDebugString("[INFO]: type == %X", *type);
case cJavaShutdownPackage:
! PrintDebugString("[INFO]: type == cJavaShutdownPackage");
if (bufsize == sizeof(PackageType) + sizeof(JavaShutdownPackage)) {
JavaShutdownPackage *pkg =
(JavaShutdownPackage *) (buffer + sizeof(PackageType));
theWindowsAccessBridge->eventHandler->fireJavaShutdown(pkg->vmID);
! PrintDebugString("[INFO]: event callback complete!");
! PrintDebugString("[INFO]: event fired!");
} else {
! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d",
bufsize, sizeof(PackageType) + sizeof(JavaShutdownPackage));
}
break;
*** 696,718 ****
firePropertyTableModelChange,
oldValue, newValue)
default:
! PrintDebugString(" processing FAILED!! -> don't know how to handle type = %X", *type);
break;
}
! PrintDebugString(" package processing completed");
}
// -----------------------------
void
WinAccessBridge::JavaVMDestroyed(HWND VMBridgeDLLWindow) {
! PrintDebugString("***** WinAccessBridge::JavaVMDestroyed(%p)", VMBridgeDLLWindow);
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return;
}
--- 697,719 ----
firePropertyTableModelChange,
oldValue, newValue)
default:
! PrintDebugString("[ERROR]: processing FAILED!! -> don't know how to handle type = %X", *type);
break;
}
! PrintDebugString("[INFO]: package processing completed");
}
// -----------------------------
void
WinAccessBridge::JavaVMDestroyed(HWND VMBridgeDLLWindow) {
! PrintDebugString("[INFO]: ***** WinAccessBridge::JavaVMDestroyed(%p)", VMBridgeDLLWindow);
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return;
}
*** 721,731 ****
AccessBridgeJavaVMInstance *previousVM = javaVMs;
if (javaVMs->javaAccessBridgeWindow == VMBridgeDLLWindow) {
javaVMs = javaVMs->nextJVMInstance;
delete currentVM;
! PrintDebugString(" data structures successfully removed");
// [[[FIXME]]] inform Windows AT that a JVM went away,
// and that any jobjects it's got lying around for that JVM
// are now invalid
--- 722,732 ----
AccessBridgeJavaVMInstance *previousVM = javaVMs;
if (javaVMs->javaAccessBridgeWindow == VMBridgeDLLWindow) {
javaVMs = javaVMs->nextJVMInstance;
delete currentVM;
! PrintDebugString("[INFO]: data structures successfully removed");
// [[[FIXME]]] inform Windows AT that a JVM went away,
// and that any jobjects it's got lying around for that JVM
// are now invalid
*** 733,743 ****
while (currentVM != (AccessBridgeJavaVMInstance *) 0) {
if (currentVM->javaAccessBridgeWindow == VMBridgeDLLWindow) {
previousVM->nextJVMInstance = currentVM->nextJVMInstance;
delete currentVM;
! PrintDebugString(" data structures successfully removed");
// [[[FIXME]]] inform Windows AT that a JVM went away,
// and that any jobjects it's got lying around for that JVM
// are now invalid
isVMInstanceChainInUse = false;
--- 734,744 ----
while (currentVM != (AccessBridgeJavaVMInstance *) 0) {
if (currentVM->javaAccessBridgeWindow == VMBridgeDLLWindow) {
previousVM->nextJVMInstance = currentVM->nextJVMInstance;
delete currentVM;
! PrintDebugString("[INFO]: data structures successfully removed");
// [[[FIXME]]] inform Windows AT that a JVM went away,
// and that any jobjects it's got lying around for that JVM
// are now invalid
isVMInstanceChainInUse = false;
*** 745,755 ****
} else {
previousVM = currentVM;
currentVM = currentVM->nextJVMInstance;
}
}
! PrintDebugString(" ERROR!! couldn't find matching data structures!");
}
isVMInstanceChainInUse = false;
}
// -----------------------
--- 746,756 ----
} else {
previousVM = currentVM;
currentVM = currentVM->nextJVMInstance;
}
}
! PrintDebugString("[ERROR]: couldn't find matching data structures!");
}
isVMInstanceChainInUse = false;
}
// -----------------------
*** 763,775 ****
*
*/
void
WinAccessBridge::releaseJavaObject(long vmID, JOBJECT64 object) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::releaseJavaObject(%X, %p)", vmID, object);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::releaseJavaObject(%X, %016I64X)", vmID, object);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return;
}
char buffer[sizeof(PackageType) + sizeof(ReleaseJavaObjectPackage)];
--- 764,776 ----
*
*/
void
WinAccessBridge::releaseJavaObject(long vmID, JOBJECT64 object) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::releaseJavaObject(%X, %p)", vmID, object);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::releaseJavaObject(%X, %016I64X)", vmID, object);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return;
}
char buffer[sizeof(PackageType) + sizeof(ReleaseJavaObjectPackage)];
*** 800,818 ****
PackageType *type = (PackageType *) buffer;
GetAccessBridgeVersionPackage *pkg = (GetAccessBridgeVersionPackage *) (buffer + sizeof(PackageType));
*type = cGetAccessBridgeVersionPackage;
pkg->vmID = vmID;
! PrintDebugString("WinAccessBridge::getVersionInfo(%X, )", vmID);
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(info, &(pkg->rVersionInfo), sizeof(AccessBridgeVersionInfo));
! PrintDebugString(" VMversion: %ls", info->VMversion);
! PrintDebugString(" bridgeJavaClassVersion: %ls", info->bridgeJavaClassVersion);
! PrintDebugString(" bridgeJavaDLLVersion: %ls", info->bridgeJavaDLLVersion);
! PrintDebugString(" bridgeWinDLLVersion: %ls", info->bridgeWinDLLVersion);
return TRUE;
}
}
return FALSE;
}
--- 801,820 ----
PackageType *type = (PackageType *) buffer;
GetAccessBridgeVersionPackage *pkg = (GetAccessBridgeVersionPackage *) (buffer + sizeof(PackageType));
*type = cGetAccessBridgeVersionPackage;
pkg->vmID = vmID;
! PrintDebugString("[INFO]: WinAccessBridge::getVersionInfo(%X, )", vmID);
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(info, &(pkg->rVersionInfo), sizeof(AccessBridgeVersionInfo));
! PrintDebugString("[INFO]: VMversion: %ls\n"\
! " bridgeJavaClassVersion: %ls\n"\
! " bridgeJavaDLLVersion: %ls\n"\
! " bridgeWinDLLVersion: %ls\n"\
! , info->VMversion, info->bridgeJavaClassVersion, info->bridgeJavaDLLVersion, info->bridgeWinDLLVersion);
return TRUE;
}
}
return FALSE;
}
*** 841,861 ****
hwnd = getTopLevelHWND(window);
if (hwnd == (HWND) NULL) {
return FALSE;
}
! PrintDebugString("In WinAccessBridge::isJavaWindow");
char buffer[sizeof(PackageType) + sizeof(IsJavaWindowPackage)];
PackageType *type = (PackageType *) buffer;
IsJavaWindowPackage *pkg = (IsJavaWindowPackage *) (buffer + sizeof(PackageType));
*type = cIsJavaWindowPackage;
pkg->window = (jint) window;
! PrintDebugString("WinAccessBridge::isJavaWindow(%p)", window);
isVMInstanceChainInUse = true;
AccessBridgeJavaVMInstance *current = javaVMs;
while (current != (AccessBridgeJavaVMInstance *) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), current->javaAccessBridgeWindow) == TRUE) {
--- 843,863 ----
hwnd = getTopLevelHWND(window);
if (hwnd == (HWND) NULL) {
return FALSE;
}
! PrintDebugString("[INFO]: In WinAccessBridge::isJavaWindow");
char buffer[sizeof(PackageType) + sizeof(IsJavaWindowPackage)];
PackageType *type = (PackageType *) buffer;
IsJavaWindowPackage *pkg = (IsJavaWindowPackage *) (buffer + sizeof(PackageType));
*type = cIsJavaWindowPackage;
pkg->window = (jint) window;
! PrintDebugString("[INFO]: WinAccessBridge::isJavaWindow(%p)", window);
isVMInstanceChainInUse = true;
AccessBridgeJavaVMInstance *current = javaVMs;
while (current != (AccessBridgeJavaVMInstance *) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), current->javaAccessBridgeWindow) == TRUE) {
*** 906,918 ****
*/
BOOL
WinAccessBridge::isSameObject(long vmID, JOBJECT64 obj1, JOBJECT64 obj2) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::isSameObject(%p %p)", obj1, obj2);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::isSameObject(%016I64X %016I64X)", obj1, obj2);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
--- 908,920 ----
*/
BOOL
WinAccessBridge::isSameObject(long vmID, JOBJECT64 obj1, JOBJECT64 obj2) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::isSameObject(%p %p)", obj1, obj2);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::isSameObject(%016I64X %016I64X)", obj1, obj2);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
*** 926,943 ****
pkg->obj2 = obj2;
HWND destABWindow = javaVMs->findAccessBridgeWindow(pkg->vmID);
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
if (pkg->rResult != 0) {
! PrintDebugString(" WinAccessBridge::isSameObject returning TRUE (same object)");
return TRUE;
} else {
! PrintDebugString(" WinAccessBridge::isSameObject returning FALSE (different object)");
return FALSE;
}
}
! PrintDebugString(" WinAccessBridge::isSameObject returning FALSE (sendMemoryPackage failed)");
return FALSE;
}
/**
* FromHWND - returns the AccessibleContext jobject for the HWND
--- 928,945 ----
pkg->obj2 = obj2;
HWND destABWindow = javaVMs->findAccessBridgeWindow(pkg->vmID);
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
if (pkg->rResult != 0) {
! PrintDebugString("[INFO]: WinAccessBridge::isSameObject returning TRUE (same object)");
return TRUE;
} else {
! PrintDebugString("[INFO]: WinAccessBridge::isSameObject returning FALSE (different object)");
return FALSE;
}
}
! PrintDebugString("[ERROR]: WinAccessBridge::isSameObject returning FALSE (sendMemoryPackage failed)");
return FALSE;
}
/**
* FromHWND - returns the AccessibleContext jobject for the HWND
*** 956,966 ****
PackageType *type = (PackageType *) buffer;
GetAccessibleContextFromHWNDPackage *pkg = (GetAccessibleContextFromHWNDPackage *) (buffer + sizeof(PackageType));
*type = cGetAccessibleContextFromHWNDPackage;
pkg->window = (jint) window;
! PrintDebugString("WinAccessBridge::getAccessibleContextFromHWND(%p, )", window);
DEBUG_CODE(pkg->rVMID = (long ) 0x01010101);
DEBUG_CODE(pkg->rAccessibleContext = (JOBJECT64) 0x01010101);
isVMInstanceChainInUse = true;
--- 958,968 ----
PackageType *type = (PackageType *) buffer;
GetAccessibleContextFromHWNDPackage *pkg = (GetAccessibleContextFromHWNDPackage *) (buffer + sizeof(PackageType));
*type = cGetAccessibleContextFromHWNDPackage;
pkg->window = (jint) window;
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleContextFromHWND(%p, )", window);
DEBUG_CODE(pkg->rVMID = (long ) 0x01010101);
DEBUG_CODE(pkg->rAccessibleContext = (JOBJECT64) 0x01010101);
isVMInstanceChainInUse = true;
*** 969,987 ****
if (sendMemoryPackage(buffer, sizeof(buffer), current->javaAccessBridgeWindow) == TRUE) {
if (pkg->rAccessibleContext != 0) {
*vmID = pkg->rVMID;
*AccessibleContext = (JOBJECT64)pkg->rAccessibleContext;
! PrintDebugString(" current->vmID = %X", current->vmID);
! PrintDebugString(" pkg->rVMID = %X", pkg->rVMID);
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString(" pkg->rAccessibleContext = %p", pkg->rAccessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString(" pkg->rAccessibleContext = %016I64X", pkg->rAccessibleContext);
#endif
if (pkg->rVMID != current->vmID) {
! PrintDebugString(" ERROR! getAccessibleContextFromHWND vmIDs don't match!");
isVMInstanceChainInUse = false;
return FALSE;
}
isVMInstanceChainInUse = false;
return TRUE;
--- 971,988 ----
if (sendMemoryPackage(buffer, sizeof(buffer), current->javaAccessBridgeWindow) == TRUE) {
if (pkg->rAccessibleContext != 0) {
*vmID = pkg->rVMID;
*AccessibleContext = (JOBJECT64)pkg->rAccessibleContext;
! PrintDebugString("[INFO]: current->vmID = %X, pkg->rVMID = %X", current->vmID, pkg->rVMID);
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: pkg->rAccessibleContext = %p", pkg->rAccessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: pkg->rAccessibleContext = %016I64X", pkg->rAccessibleContext);
#endif
if (pkg->rVMID != current->vmID) {
! PrintDebugString("[ERROR]: getAccessibleContextFromHWND vmIDs don't match!");
isVMInstanceChainInUse = false;
return FALSE;
}
isVMInstanceChainInUse = false;
return TRUE;
*** 992,1011 ****
isVMInstanceChainInUse = false;
// This isn't really an error; it just means that the HWND was for a non-Java
// window. It's also possible the HWND was for a Java window but the JVM has
// since been shut down and sendMemoryPackage returned FALSE.
! PrintDebugString(" ERROR! getAccessibleContextFromHWND no matching HWND found!");
return FALSE;
}
/**
* Returns the HWND for an AccessibleContext. Returns (HWND)0 on error.
*/
HWND
WinAccessBridge::getHWNDFromAccessibleContext(long vmID, JOBJECT64 accessibleContext) {
! PrintDebugString(" in WinAccessBridge::getHWNDFromAccessibleContext");
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return (HWND)0;
}
char buffer[sizeof(PackageType) + sizeof(GetHWNDFromAccessibleContextPackage)];
--- 993,1012 ----
isVMInstanceChainInUse = false;
// This isn't really an error; it just means that the HWND was for a non-Java
// window. It's also possible the HWND was for a Java window but the JVM has
// since been shut down and sendMemoryPackage returned FALSE.
! PrintDebugString("[ERROR]: getAccessibleContextFromHWND no matching HWND found!");
return FALSE;
}
/**
* Returns the HWND for an AccessibleContext. Returns (HWND)0 on error.
*/
HWND
WinAccessBridge::getHWNDFromAccessibleContext(long vmID, JOBJECT64 accessibleContext) {
! PrintDebugString("[INFO]: in WinAccessBridge::getHWNDFromAccessibleContext");
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return (HWND)0;
}
char buffer[sizeof(PackageType) + sizeof(GetHWNDFromAccessibleContextPackage)];
*** 1013,1025 ****
GetHWNDFromAccessibleContextPackage *pkg = (GetHWNDFromAccessibleContextPackage *) (buffer + sizeof(PackageType));
*type = cGetHWNDFromAccessibleContextPackage;
pkg->accessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getHWNDFromAccessibleContext(%p)", accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getHWNDFromAccessibleContext(%016I64X)", accessibleContext);
#endif
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 1014,1026 ----
GetHWNDFromAccessibleContextPackage *pkg = (GetHWNDFromAccessibleContextPackage *) (buffer + sizeof(PackageType));
*type = cGetHWNDFromAccessibleContextPackage;
pkg->accessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getHWNDFromAccessibleContext(%p)", accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getHWNDFromAccessibleContext(%016I64X)", accessibleContext);
#endif
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 1079,1089 ****
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContextParent;
pkg->x = x;
pkg->y = y;
! PrintDebugString("WinAccessBridge::getAccessibleContextAt(%X, %p, %d, %c)", vmID, AccessibleContextParent, x, y);
HWND destABWindow = javaVMs->findAccessBridgeWindow(pkg->vmID);
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*AccessibleContext = pkg->rAccessibleContext;
return TRUE;
}
--- 1080,1090 ----
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContextParent;
pkg->x = x;
pkg->y = y;
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleContextAt(%X, %p, %d, %c)", vmID, AccessibleContextParent, x, y);
HWND destABWindow = javaVMs->findAccessBridgeWindow(pkg->vmID);
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*AccessibleContext = pkg->rAccessibleContext;
return TRUE;
}
*** 1112,1122 ****
char buffer[sizeof(PackageType) + sizeof(GetAccessibleContextWithFocusPackage)];
PackageType *type = (PackageType *) buffer;
GetAccessibleContextWithFocusPackage *pkg = (GetAccessibleContextWithFocusPackage *) (buffer + sizeof(PackageType));
*type = cGetAccessibleContextWithFocusPackage;
! PrintDebugString("WinAccessBridge::getAccessibleContextWithFocus(%p, %X, )", window, vmID);
// find vmID, etc. from HWND; ask that VM for the AC w/Focus
HWND pkgVMID;
if (getAccessibleContextFromHWND(window, (long *)&(pkgVMID), &(pkg->rAccessibleContext)) == TRUE) {
HWND destABWindow = javaVMs->findAccessBridgeWindow((long)pkgVMID); // ineffecient [[[FIXME]]]
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 1113,1123 ----
char buffer[sizeof(PackageType) + sizeof(GetAccessibleContextWithFocusPackage)];
PackageType *type = (PackageType *) buffer;
GetAccessibleContextWithFocusPackage *pkg = (GetAccessibleContextWithFocusPackage *) (buffer + sizeof(PackageType));
*type = cGetAccessibleContextWithFocusPackage;
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleContextWithFocus(%p, %X, )", window, vmID);
// find vmID, etc. from HWND; ask that VM for the AC w/Focus
HWND pkgVMID;
if (getAccessibleContextFromHWND(window, (long *)&(pkgVMID), &(pkg->rAccessibleContext)) == TRUE) {
HWND destABWindow = javaVMs->findAccessBridgeWindow((long)pkgVMID); // ineffecient [[[FIXME]]]
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 1149,1173 ****
*type = cGetAccessibleContextInfoPackage;
pkg->vmID = vmID;
pkg->AccessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getAccessibleContextInfo(%X, %p, )", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getAccessibleContextInfo(%X, %016I64X, )", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(info, &(pkg->rAccessibleContextInfo), sizeof(AccessibleContextInfo));
! PrintDebugString(" name: %ls", info->name);
! PrintDebugString(" description: %ls", info->description);
! PrintDebugString(" role: %ls", info->role);
! PrintDebugString(" role_en_US: %ls", info->role_en_US);
! PrintDebugString(" states: %ls", info->states);
! PrintDebugString(" states_en_US: %ls", info->states_en_US);
return TRUE;
}
}
return FALSE;
--- 1150,1175 ----
*type = cGetAccessibleContextInfoPackage;
pkg->vmID = vmID;
pkg->AccessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleContextInfo(%X, %p, )", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleContextInfo(%X, %016I64X, )", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(info, &(pkg->rAccessibleContextInfo), sizeof(AccessibleContextInfo));
! PrintDebugString("[INFO]: name: %ls\n"\
! " description: %ls\n"\
! " role: %ls\n"\
! " role_en_US: %ls\n"\
! " states: %ls\n"\
! " states_en_US: %ls\n"\
! , info->name, info->description, info->role, info->role_en_US, info->states, info->states_en_US);
return TRUE;
}
}
return FALSE;
*** 1198,1210 ****
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
pkg->childIndex = childIndex;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getAccessibleChildFromContext(%X, %p, %d)", vmID, AccessibleContext, childIndex);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getAccessibleChildFromContext(%X, %016I64X, %d)", vmID, AccessibleContext, childIndex);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 1200,1212 ----
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
pkg->childIndex = childIndex;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleChildFromContext(%X, %p, %d)", vmID, AccessibleContext, childIndex);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleChildFromContext(%X, %016I64X, %d)", vmID, AccessibleContext, childIndex);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 1233,1243 ****
GetAccessibleParentFromContextPackage *pkg = (GetAccessibleParentFromContextPackage *) (buffer + sizeof(PackageType));
*type = cGetAccessibleParentFromContextPackage;
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
! PrintDebugString("WinAccessBridge::getAccessibleParentFromContext(%X, %p)", vmID, AccessibleContext);
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
return pkg->rAccessibleContext;
--- 1235,1245 ----
GetAccessibleParentFromContextPackage *pkg = (GetAccessibleParentFromContextPackage *) (buffer + sizeof(PackageType));
*type = cGetAccessibleParentFromContextPackage;
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleParentFromContext(%X, %p)", vmID, AccessibleContext);
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
return pkg->rAccessibleContext;
*** 1253,1266 ****
WinAccessBridge::getAccessibleTableInfo(long vmID,
JOBJECT64 accessibleContext,
AccessibleTableInfo *tableInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableInfo(%X, %p, %p)", vmID, accessibleContext,
tableInfo);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableInfo(%X, %016I64X, %p)", vmID, accessibleContext,
tableInfo);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1255,1268 ----
WinAccessBridge::getAccessibleTableInfo(long vmID,
JOBJECT64 accessibleContext,
AccessibleTableInfo *tableInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableInfo(%X, %p, %p)", vmID, accessibleContext,
tableInfo);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableInfo(%X, %016I64X, %p)", vmID, accessibleContext,
tableInfo);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 1276,1300 ****
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(tableInfo, &(pkg->rTableInfo), sizeof(AccessibleTableInfo));
if (pkg->rTableInfo.rowCount != -1) {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableInfo succeeded");
return TRUE;
}
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableInfo failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleTableCellInfo(long vmID, JOBJECT64 accessibleTable,
jint row, jint column,
AccessibleTableCellInfo *tableCellInfo) {
! PrintDebugString("##### WinAccessBridge::getAccessibleTableCellInfo(%X, %p, %d, %d, %p)", vmID,
accessibleTable, row, column, tableCellInfo);
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
--- 1278,1302 ----
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(tableInfo, &(pkg->rTableInfo), sizeof(AccessibleTableInfo));
if (pkg->rTableInfo.rowCount != -1) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableInfo succeeded");
return TRUE;
}
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableInfo failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleTableCellInfo(long vmID, JOBJECT64 accessibleTable,
jint row, jint column,
AccessibleTableCellInfo *tableCellInfo) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableCellInfo(%X, %p, %d, %d, %p)", vmID,
accessibleTable, row, column, tableCellInfo);
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
*** 1309,1336 ****
pkg->column = column;
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" XXXX pkg->rTableCellInfo.accessibleContext = %p", pkg->rTableCellInfo.accessibleContext);
memcpy(tableCellInfo, &(pkg->rTableCellInfo), sizeof(AccessibleTableCellInfo));
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableCellInfo succeeded");
return TRUE;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableCellInfo failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleTableRowHeader(long vmID, JOBJECT64 accessibleContext, AccessibleTableInfo *tableInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableRowHeader(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableRowHeader(%X, %016I64X)", vmID, accessibleContext);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
--- 1311,1338 ----
pkg->column = column;
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: XXXX pkg->rTableCellInfo.accessibleContext = %p", pkg->rTableCellInfo.accessibleContext);
memcpy(tableCellInfo, &(pkg->rTableCellInfo), sizeof(AccessibleTableCellInfo));
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableCellInfo succeeded");
return TRUE;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableCellInfo failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleTableRowHeader(long vmID, JOBJECT64 accessibleContext, AccessibleTableInfo *tableInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRowHeader(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRowHeader(%X, %016I64X)", vmID, accessibleContext);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
*** 1343,1368 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableRowHeader succeeded");
memcpy(tableInfo, &(pkg->rTableInfo), sizeof(AccessibleTableInfo));
return TRUE;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableRowHeader failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleTableColumnHeader(long vmID, JOBJECT64 accessibleContext, AccessibleTableInfo *tableInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableColumnHeader(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableColumnHeader(%X, %016I64X)", vmID, accessibleContext);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
--- 1345,1370 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRowHeader succeeded");
memcpy(tableInfo, &(pkg->rTableInfo), sizeof(AccessibleTableInfo));
return TRUE;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableRowHeader failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleTableColumnHeader(long vmID, JOBJECT64 accessibleContext, AccessibleTableInfo *tableInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumnHeader(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumnHeader(%X, %016I64X)", vmID, accessibleContext);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
*** 1375,1403 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableColumnHeader succeeded");
memcpy(tableInfo, &(pkg->rTableInfo), sizeof(AccessibleTableInfo));
return TRUE;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableColumnHeader failed");
return FALSE;
}
JOBJECT64
WinAccessBridge::getAccessibleTableRowDescription(long vmID,
JOBJECT64 accessibleContext,
jint row) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableRowDescription(%X, %p, %d)", vmID, accessibleContext,
row);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableRowDescription(%X, %016I64X, %d)", vmID, accessibleContext,
row);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1377,1405 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumnHeader succeeded");
memcpy(tableInfo, &(pkg->rTableInfo), sizeof(AccessibleTableInfo));
return TRUE;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableColumnHeader failed");
return FALSE;
}
JOBJECT64
WinAccessBridge::getAccessibleTableRowDescription(long vmID,
JOBJECT64 accessibleContext,
jint row) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRowDescription(%X, %p, %d)", vmID, accessibleContext,
row);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRowDescription(%X, %016I64X, %d)", vmID, accessibleContext,
row);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 1412,1439 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableRowDescription succeeded");
return pkg->rAccessibleContext;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableRowDescription failed");
return (JOBJECT64)0;
}
JOBJECT64
WinAccessBridge::getAccessibleTableColumnDescription(long vmID,
JOBJECT64 accessibleContext,
jint column) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableColumnDescription(%X, %p, %d)", vmID, accessibleContext,
column);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableColumnDescription(%X, %016I64X, %d)", vmID, accessibleContext,
column);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1414,1441 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRowDescription succeeded");
return pkg->rAccessibleContext;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableRowDescription failed");
return (JOBJECT64)0;
}
JOBJECT64
WinAccessBridge::getAccessibleTableColumnDescription(long vmID,
JOBJECT64 accessibleContext,
jint column) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumnDescription(%X, %p, %d)", vmID, accessibleContext,
column);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumnDescription(%X, %016I64X, %d)", vmID, accessibleContext,
column);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 1449,1473 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableColumnDescription succeeded");
return pkg->rAccessibleContext;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableColumnDescription failed");
return (JOBJECT64)0;
}
jint
WinAccessBridge::getAccessibleTableRowSelectionCount(long vmID, JOBJECT64 accessibleTable) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableRowSelectionCount(%X, %p)", vmID, accessibleTable);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableRowSelectionCount(%X, %016I64X)", vmID, accessibleTable);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return 0;
}
--- 1451,1475 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumnDescription succeeded");
return pkg->rAccessibleContext;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableColumnDescription failed");
return (JOBJECT64)0;
}
jint
WinAccessBridge::getAccessibleTableRowSelectionCount(long vmID, JOBJECT64 accessibleTable) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRowSelectionCount(%X, %p)", vmID, accessibleTable);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRowSelectionCount(%X, %016I64X)", vmID, accessibleTable);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return 0;
}
*** 1481,1505 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableRowSelectionCount succeeded");
return pkg->rCount;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableRowSelectionCount failed");
return 0;
}
BOOL
WinAccessBridge::isAccessibleTableRowSelected(long vmID, JOBJECT64 accessibleTable, jint row) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::isAccessibleTableRowSelected(%X, %p)", vmID, accessibleTable);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::isAccessibleTableRowSelected(%X, %016I64X)", vmID, accessibleTable);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
--- 1483,1507 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRowSelectionCount succeeded");
return pkg->rCount;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableRowSelectionCount failed");
return 0;
}
BOOL
WinAccessBridge::isAccessibleTableRowSelected(long vmID, JOBJECT64 accessibleTable, jint row) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::isAccessibleTableRowSelected(%X, %p)", vmID, accessibleTable);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::isAccessibleTableRowSelected(%X, %016I64X)", vmID, accessibleTable);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
*** 1513,1537 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::isAccessibleTableRowSelected succeeded");
return pkg->rResult;
}
}
! PrintDebugString(" ##### WinAccessBridge::isAccessibleTableRowSelected failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleTableRowSelections(long vmID, JOBJECT64 accessibleTable, jint count, jint *selections) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableRowSelections(%X, %p)", vmID, accessibleTable);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableRowSelections(%X, %016I64X)", vmID, accessibleTable);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
--- 1515,1539 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::isAccessibleTableRowSelected succeeded");
return pkg->rResult;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::isAccessibleTableRowSelected failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleTableRowSelections(long vmID, JOBJECT64 accessibleTable, jint count, jint *selections) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRowSelections(%X, %p)", vmID, accessibleTable);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRowSelections(%X, %016I64X)", vmID, accessibleTable);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
*** 1546,1573 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableRowSelections succeeded");
memcpy(selections, pkg->rSelections, count * sizeof(jint));
return TRUE;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableRowSelections failed");
return FALSE;
}
jint
WinAccessBridge::getAccessibleTableColumnSelectionCount(long vmID, JOBJECT64 accessibleTable) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableColumnSelectionCount(%X, %p)", vmID,
accessibleTable);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableColumnSelectionCount(%X, %016I64X)", vmID,
accessibleTable);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1548,1575 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRowSelections succeeded");
memcpy(selections, pkg->rSelections, count * sizeof(jint));
return TRUE;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableRowSelections failed");
return FALSE;
}
jint
WinAccessBridge::getAccessibleTableColumnSelectionCount(long vmID, JOBJECT64 accessibleTable) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumnSelectionCount(%X, %p)", vmID,
accessibleTable);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumnSelectionCount(%X, %016I64X)", vmID,
accessibleTable);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 1582,1605 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableColumnSelectionCount succeeded");
return pkg->rCount;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableColumnSelectionCount failed");
return 0;
}
BOOL
WinAccessBridge::isAccessibleTableColumnSelected(long vmID, JOBJECT64 accessibleTable, jint column) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::isAccessibleTableColumnSelected(%X, %p)", vmID, accessibleTable);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::isAccessibleTableColumnSelected(%X, %016I64X)", vmID, accessibleTable);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
--- 1584,1607 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumnSelectionCount succeeded");
return pkg->rCount;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableColumnSelectionCount failed");
return 0;
}
BOOL
WinAccessBridge::isAccessibleTableColumnSelected(long vmID, JOBJECT64 accessibleTable, jint column) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::isAccessibleTableColumnSelected(%X, %p)", vmID, accessibleTable);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::isAccessibleTableColumnSelected(%X, %016I64X)", vmID, accessibleTable);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
*** 1613,1638 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::isAccessibleTableColumnSelected succeeded");
return pkg->rResult;
}
}
! PrintDebugString(" ##### WinAccessBridge::isAccessibleTableColumnSelected failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleTableColumnSelections(long vmID, JOBJECT64 accessibleTable, jint count,
jint *selections) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableColumnSelections(%X, %p)", vmID, accessibleTable);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableColumnSelections(%X, %016I64X)", vmID, accessibleTable);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
--- 1615,1640 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::isAccessibleTableColumnSelected succeeded");
return pkg->rResult;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::isAccessibleTableColumnSelected failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleTableColumnSelections(long vmID, JOBJECT64 accessibleTable, jint count,
jint *selections) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumnSelections(%X, %p)", vmID, accessibleTable);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableColumnSelections(%X, %016I64X)", vmID, accessibleTable);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
}
*** 1647,1673 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableColumnSelections succeeded");
memcpy(selections, pkg->rSelections, count * sizeof(jint));
return TRUE;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableColumnSelections failed");
return FALSE;
}
jint
WinAccessBridge::getAccessibleTableRow(long vmID, JOBJECT64 accessibleTable, jint index) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableRow(%X, %p, index=%d)", vmID,
accessibleTable, index);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableRow(%X, %016I64X, index=%d)", vmID,
accessibleTable, index);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1649,1675 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumnSelections succeeded");
memcpy(selections, pkg->rSelections, count * sizeof(jint));
return TRUE;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableColumnSelections failed");
return FALSE;
}
jint
WinAccessBridge::getAccessibleTableRow(long vmID, JOBJECT64 accessibleTable, jint index) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRow(%X, %p, index=%d)", vmID,
accessibleTable, index);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRow(%X, %016I64X, index=%d)", vmID,
accessibleTable, index);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 1683,1708 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableRow succeeded");
return pkg->rRow;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableRow failed");
return 0;
}
jint
WinAccessBridge::getAccessibleTableColumn(long vmID, JOBJECT64 accessibleTable, jint index) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableColumn(%X, %p, index=%d)", vmID,
accessibleTable, index);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableColumn(%X, %016I64X, index=%d)", vmID,
accessibleTable, index);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1685,1710 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableRow succeeded");
return pkg->rRow;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableRow failed");
return 0;
}
jint
WinAccessBridge::getAccessibleTableColumn(long vmID, JOBJECT64 accessibleTable, jint index) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumn(%X, %p, index=%d)", vmID,
accessibleTable, index);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumn(%X, %016I64X, index=%d)", vmID,
accessibleTable, index);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 1718,1743 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableColumn succeeded");
return pkg->rColumn;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableColumn failed");
return 0;
}
jint
WinAccessBridge::getAccessibleTableIndex(long vmID, JOBJECT64 accessibleTable, jint row, jint column) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableIndex(%X, %p, row=%d, col=%d)", vmID,
accessibleTable, row, column);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleTableIndex(%X, %016I64X, row=%d, col=%d)", vmID,
accessibleTable, row, column);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1720,1745 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableColumn succeeded");
return pkg->rColumn;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableColumn failed");
return 0;
}
jint
WinAccessBridge::getAccessibleTableIndex(long vmID, JOBJECT64 accessibleTable, jint row, jint column) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableIndex(%X, %p, row=%d, col=%d)", vmID,
accessibleTable, row, column);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableIndex(%X, %016I64X, row=%d, col=%d)", vmID,
accessibleTable, row, column);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 1754,1782 ****
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableIndex succeeded");
return pkg->rIndex;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleTableIndex failed");
return 0;
}
/********** end AccessibleTable routines ******************************/
BOOL
WinAccessBridge::getAccessibleRelationSet(long vmID, JOBJECT64 accessibleContext,
AccessibleRelationSetInfo *relationSetInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleRelationSet(%X, %p, %X)", vmID,
accessibleContext, relationSetInfo);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleRelationSet(%X, %016I64X, %X)", vmID,
accessibleContext, relationSetInfo);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1756,1784 ----
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleTableIndex succeeded");
return pkg->rIndex;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleTableIndex failed");
return 0;
}
/********** end AccessibleTable routines ******************************/
BOOL
WinAccessBridge::getAccessibleRelationSet(long vmID, JOBJECT64 accessibleContext,
AccessibleRelationSetInfo *relationSetInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleRelationSet(%X, %p, %X)", vmID,
accessibleContext, relationSetInfo);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleRelationSet(%X, %016I64X, %X)", vmID,
accessibleContext, relationSetInfo);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 1790,1807 ****
pkg->accessibleContext = accessibleContext;
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### pkg->rAccessibleRelationSetInfo.relationCount = %X",
pkg->rAccessibleRelationSetInfo.relationCount);
memcpy(relationSetInfo, &(pkg->rAccessibleRelationSetInfo), sizeof(AccessibleRelationSetInfo));
! PrintDebugString(" ##### WinAccessBridge::getAccessibleRelationSet succeeded");
return TRUE;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleRelationSet failed");
return FALSE;
}
/********** AccessibleHypertext routines ***********/
--- 1792,1809 ----
pkg->accessibleContext = accessibleContext;
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### pkg->rAccessibleRelationSetInfo.relationCount = %X",
pkg->rAccessibleRelationSetInfo.relationCount);
memcpy(relationSetInfo, &(pkg->rAccessibleRelationSetInfo), sizeof(AccessibleRelationSetInfo));
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleRelationSet succeeded");
return TRUE;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleRelationSet failed");
return FALSE;
}
/********** AccessibleHypertext routines ***********/
*** 1809,1822 ****
BOOL
WinAccessBridge::getAccessibleHypertext(long vmID, JOBJECT64 accessibleContext,
AccessibleHypertextInfo *hypertextInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleHypertext(%X, %p, %X)", vmID,
accessibleContext, hypertextInfo);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleHypertext(%X, %016I64X, %X)", vmID,
accessibleContext, hypertextInfo);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1811,1824 ----
BOOL
WinAccessBridge::getAccessibleHypertext(long vmID, JOBJECT64 accessibleContext,
AccessibleHypertextInfo *hypertextInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHypertext(%X, %p, %X)", vmID,
accessibleContext, hypertextInfo);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHypertext(%X, %016I64X, %X)", vmID,
accessibleContext, hypertextInfo);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 1832,1861 ****
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(hypertextInfo, &(pkg->rAccessibleHypertextInfo), sizeof(AccessibleHypertextInfo));
! PrintDebugString(" ##### hypertextInfo.linkCount = %d", hypertextInfo->linkCount);
! PrintDebugString(" ##### WinAccessBridge::getAccessibleHypertext succeeded");
return TRUE;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleHypertext failed");
return FALSE;
}
BOOL
WinAccessBridge::activateAccessibleHyperlink(long vmID, JOBJECT64 accessibleContext,
JOBJECT64 accessibleHyperlink) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::activateAccessibleHyperlink(%p %p)", accessibleContext,
accessibleHyperlink);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::activateAccessibleHyperlink(%016I64X %016I64X)", accessibleContext,
accessibleHyperlink);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1834,1863 ----
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(hypertextInfo, &(pkg->rAccessibleHypertextInfo), sizeof(AccessibleHypertextInfo));
! PrintDebugString("[INFO]: ##### hypertextInfo.linkCount = %d", hypertextInfo->linkCount);
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHypertext succeeded");
return TRUE;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleHypertext failed");
return FALSE;
}
BOOL
WinAccessBridge::activateAccessibleHyperlink(long vmID, JOBJECT64 accessibleContext,
JOBJECT64 accessibleHyperlink) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::activateAccessibleHyperlink(%p %p)", accessibleContext,
accessibleHyperlink);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::activateAccessibleHyperlink(%016I64X %016I64X)", accessibleContext,
accessibleHyperlink);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 1871,1881 ****
HWND destABWindow = javaVMs->findAccessBridgeWindow(pkg->vmID);
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
return pkg->rResult;
}
! PrintDebugString(" WinAccessBridge::activateAccessibleHyperlink returning FALSE (sendMemoryPackage failed)");
return FALSE;
}
/*
* Returns the number of hyperlinks in a component
--- 1873,1883 ----
HWND destABWindow = javaVMs->findAccessBridgeWindow(pkg->vmID);
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
return pkg->rResult;
}
! PrintDebugString("[ERROR]: WinAccessBridge::activateAccessibleHyperlink returning FALSE (sendMemoryPackage failed)");
return FALSE;
}
/*
* Returns the number of hyperlinks in a component
*** 1885,1898 ****
jint
WinAccessBridge::getAccessibleHyperlinkCount(const long vmID,
const AccessibleContext accessibleContext) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleHyperlinkCount(%X, %p)",
vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleHyperlinkCount(%X, %016I64X)",
vmID, accessibleContext);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1887,1900 ----
jint
WinAccessBridge::getAccessibleHyperlinkCount(const long vmID,
const AccessibleContext accessibleContext) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHyperlinkCount(%X, %p)",
vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHyperlinkCount(%X, %016I64X)",
vmID, accessibleContext);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 1906,1921 ****
pkg->accessibleContext = accessibleContext;
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### hypetext link count = %d", pkg->rLinkCount);
! PrintDebugString(" ##### WinAccessBridge::getAccessibleHyperlinkCount succeeded");
return pkg->rLinkCount;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleHyperlinkCount failed");
return -1;
}
/*
* This method is used to iterate through the hyperlinks in a component. It
--- 1908,1923 ----
pkg->accessibleContext = accessibleContext;
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### hypetext link count = %d", pkg->rLinkCount);
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHyperlinkCount succeeded");
return pkg->rLinkCount;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleHyperlinkCount failed");
return -1;
}
/*
* This method is used to iterate through the hyperlinks in a component. It
*** 1929,1942 ****
const AccessibleContext accessibleContext,
const jint startIndex,
/* OUT */ AccessibleHypertextInfo *hypertextInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleHypertextExt(%X, %p %p)", vmID,
accessibleContext, hypertextInfo);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleHypertextExt(%X, %016I64X %p)", vmID,
accessibleContext, hypertextInfo);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1931,1944 ----
const AccessibleContext accessibleContext,
const jint startIndex,
/* OUT */ AccessibleHypertextInfo *hypertextInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHypertextExt(%X, %p %p)", vmID,
accessibleContext, hypertextInfo);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHypertextExt(%X, %016I64X %p)", vmID,
accessibleContext, hypertextInfo);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 1951,1973 ****
pkg->startIndex = startIndex;
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### pkg->rSuccess = %d", pkg->rSuccess);
memcpy(hypertextInfo, &(pkg->rAccessibleHypertextInfo), sizeof(AccessibleHypertextInfo));
if (pkg->rSuccess == TRUE) {
! PrintDebugString(" ##### hypertextInfo.linkCount = %d", hypertextInfo->linkCount);
! PrintDebugString(" ##### hypertextInfo.linkCount = %d", hypertextInfo->linkCount);
} else {
! PrintDebugString(" ##### WinAccessBridge::getAccessibleHypertextExt failed");
}
! return pkg->rSuccess;;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleHypertextExt failed");
return FALSE;
}
/*
--- 1953,1974 ----
pkg->startIndex = startIndex;
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### pkg->rSuccess = %d", pkg->rSuccess);
memcpy(hypertextInfo, &(pkg->rAccessibleHypertextInfo), sizeof(AccessibleHypertextInfo));
if (pkg->rSuccess == TRUE) {
! PrintDebugString("[INFO]: ##### hypertextInfo.linkCount = %d", hypertextInfo->linkCount);
} else {
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleHypertextExt failed");
}
! return pkg->rSuccess;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleHypertextExt failed");
return FALSE;
}
/*
*** 1980,1993 ****
WinAccessBridge::getAccessibleHypertextLinkIndex(const long vmID,
const AccessibleHyperlink hypertext,
const jint charIndex) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleHypertextLinkIndex(%X, %p)",
vmID, hypertext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleHypertextLinkIndex(%X, %016I64X)",
vmID, hypertext);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 1981,1994 ----
WinAccessBridge::getAccessibleHypertextLinkIndex(const long vmID,
const AccessibleHyperlink hypertext,
const jint charIndex) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHypertextLinkIndex(%X, %p)",
vmID, hypertext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHypertextLinkIndex(%X, %016I64X)",
vmID, hypertext);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 2002,2017 ****
pkg->charIndex = charIndex;
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" ##### hypetext link index = %d", pkg->rLinkIndex);
! PrintDebugString(" ##### WinAccessBridge::getAccessibleHypertextLinkIndex succeeded");
return pkg->rLinkIndex;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleHypertextLinkIndex failed");
return -1;
}
/*
* Returns the nth hyperlink in a document.
--- 2003,2018 ----
pkg->charIndex = charIndex;
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: ##### hypetext link index = %d", pkg->rLinkIndex);
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHypertextLinkIndex succeeded");
return pkg->rLinkIndex;
}
}
! PrintDebugString("[ERROR] ##### WinAccessBridge::getAccessibleHypertextLinkIndex failed");
return -1;
}
/*
* Returns the nth hyperlink in a document.
*** 2023,2036 ****
const AccessibleHyperlink hypertext,
const jint linkIndex,
/* OUT */ AccessibleHyperlinkInfo *hyperlinkInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleHyperlink(%X, %p, %p)", vmID,
hypertext, hyperlinkInfo);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleHyperlink(%X, %016I64X, %p)", vmID,
hypertext, hyperlinkInfo);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 2024,2037 ----
const AccessibleHyperlink hypertext,
const jint linkIndex,
/* OUT */ AccessibleHyperlinkInfo *hyperlinkInfo) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHyperlink(%X, %p, %p)", vmID,
hypertext, hyperlinkInfo);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHyperlink(%X, %016I64X, %p)", vmID,
hypertext, hyperlinkInfo);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 2047,2061 ****
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(hyperlinkInfo, &(pkg->rAccessibleHyperlinkInfo),
sizeof(AccessibleHyperlinkInfo));
! PrintDebugString(" ##### WinAccessBridge::getAccessibleHypertext succeeded");
return TRUE;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleHypertext failed");
return FALSE;
}
/********** AccessibleKeyBinding routines ***********/
--- 2048,2062 ----
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(hyperlinkInfo, &(pkg->rAccessibleHyperlinkInfo),
sizeof(AccessibleHyperlinkInfo));
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleHypertext succeeded");
return TRUE;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleHypertext failed");
return FALSE;
}
/********** AccessibleKeyBinding routines ***********/
*** 2063,2076 ****
BOOL
WinAccessBridge::getAccessibleKeyBindings(long vmID, JOBJECT64 accessibleContext,
AccessibleKeyBindings *keyBindings) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleKeyBindings(%X, %p, %p)", vmID,
accessibleContext, keyBindings);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleKeyBindings(%X, %016I64X, %p)", vmID,
accessibleContext, keyBindings);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 2064,2077 ----
BOOL
WinAccessBridge::getAccessibleKeyBindings(long vmID, JOBJECT64 accessibleContext,
AccessibleKeyBindings *keyBindings) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleKeyBindings(%X, %p, %p)", vmID,
accessibleContext, keyBindings);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleKeyBindings(%X, %016I64X, %p)", vmID,
accessibleContext, keyBindings);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 2086,2119 ****
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(keyBindings, &(pkg->rAccessibleKeyBindings), sizeof(AccessibleKeyBindings));
! PrintDebugString(" ##### keyBindings.keyBindingsCount = %d", keyBindings->keyBindingsCount);
for (int i = 0; i < keyBindings->keyBindingsCount; ++i) {
! PrintDebugString(" Key Binding # %d", i+1);
! PrintDebugString(" Modifiers: 0x%x", keyBindings->keyBindingInfo[i].modifiers);
! PrintDebugString(" Character (hex): 0x%x", keyBindings->keyBindingInfo[i].character);
! PrintDebugString(" Character (wide char): %lc", keyBindings->keyBindingInfo[i].character);
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleKeyBindings succeeded");
return TRUE;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleKeyBindings failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleIcons(long vmID, JOBJECT64 accessibleContext, AccessibleIcons *icons) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleIcons(%X, %p, %p)", vmID,
accessibleContext, icons);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleIcons(%X, %016I64X, %p)", vmID,
accessibleContext, icons);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 2087,2121 ----
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(keyBindings, &(pkg->rAccessibleKeyBindings), sizeof(AccessibleKeyBindings));
! PrintDebugString("[INFO]: ##### keyBindings.keyBindingsCount = %d", keyBindings->keyBindingsCount);
for (int i = 0; i < keyBindings->keyBindingsCount; ++i) {
! PrintDebugString("[INFO]: Key Binding # %d"\
! " Modifiers: 0x%x"\
! " Character (hex): 0x%x"\
! " Character (wide char): %lc"\
! , i+1, keyBindings->keyBindingInfo[i].modifiers, keyBindings->keyBindingInfo[i].character, keyBindings->keyBindingInfo[i].character);
}
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleKeyBindings succeeded");
return TRUE;
}
}
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleKeyBindings failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleIcons(long vmID, JOBJECT64 accessibleContext, AccessibleIcons *icons) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleIcons(%X, %p, %p)", vmID,
accessibleContext, icons);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleIcons(%X, %016I64X, %p)", vmID,
accessibleContext, icons);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 2129,2156 ****
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(icons, &(pkg->rAccessibleIcons), sizeof(AccessibleIcons));
! PrintDebugString(" ##### icons.iconsCount = %d", icons->iconsCount);
! PrintDebugString(" ##### WinAccessBridge::getAccessibleIcons succeeded");
return TRUE;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleIcons failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleActions(long vmID, JOBJECT64 accessibleContext, AccessibleActions *actions) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("##### WinAccessBridge::getAccessibleActions(%X, %p, %p)", vmID,
accessibleContext, actions);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("##### WinAccessBridge::getAccessibleActions(%X, %016I64X, %p)", vmID,
accessibleContext, actions);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
--- 2131,2158 ----
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(icons, &(pkg->rAccessibleIcons), sizeof(AccessibleIcons));
! PrintDebugString("[INFO]: ##### icons.iconsCount = %d", icons->iconsCount);
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleIcons succeeded");
return TRUE;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleIcons failed");
return FALSE;
}
BOOL
WinAccessBridge::getAccessibleActions(long vmID, JOBJECT64 accessibleContext, AccessibleActions *actions) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleActions(%X, %p, %p)", vmID,
accessibleContext, actions);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleActions(%X, %016I64X, %p)", vmID,
accessibleContext, actions);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return FALSE;
*** 2166,2195 ****
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(actions, &(pkg->rAccessibleActions), sizeof(AccessibleActions));
! PrintDebugString(" ##### actions.actionsCount = %d", actions->actionsCount);
! PrintDebugString(" ##### WinAccessBridge::getAccessibleActions succeeded");
return TRUE;
}
}
! PrintDebugString(" ##### WinAccessBridge::getAccessibleActions failed");
return FALSE;
}
BOOL
WinAccessBridge::doAccessibleActions(long vmID, JOBJECT64 accessibleContext,
AccessibleActionsToDo *actionsToDo, jint *failure) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::doAccessibleActions(%p #actions %d %ls)", accessibleContext,
actionsToDo->actionsCount,
actionsToDo->actions[0].name);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::doAccessibleActions(%016I64X #actions %d %ls)", accessibleContext,
actionsToDo->actionsCount,
actionsToDo->actions[0].name);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
--- 2168,2197 ----
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(actions, &(pkg->rAccessibleActions), sizeof(AccessibleActions));
! PrintDebugString("[INFO]: ##### actions.actionsCount = %d", actions->actionsCount);
! PrintDebugString("[INFO]: ##### WinAccessBridge::getAccessibleActions succeeded");
return TRUE;
}
}
! PrintDebugString("[ERROR]: ##### WinAccessBridge::getAccessibleActions failed");
return FALSE;
}
BOOL
WinAccessBridge::doAccessibleActions(long vmID, JOBJECT64 accessibleContext,
AccessibleActionsToDo *actionsToDo, jint *failure) {
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::doAccessibleActions(%p #actions %d %ls)", accessibleContext,
actionsToDo->actionsCount,
actionsToDo->actions[0].name);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::doAccessibleActions(%016I64X #actions %d %ls)", accessibleContext,
actionsToDo->actionsCount,
actionsToDo->actions[0].name);
#endif
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
*** 2207,2217 ****
HWND destABWindow = javaVMs->findAccessBridgeWindow(pkg->vmID);
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*failure = pkg->failure;
return pkg->rResult;
}
! PrintDebugString(" WinAccessBridge::doAccessibleActions returning FALSE (sendMemoryPackage failed)");
return FALSE;
}
/* ====== Utility methods ====== */
--- 2209,2219 ----
HWND destABWindow = javaVMs->findAccessBridgeWindow(pkg->vmID);
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*failure = pkg->failure;
return pkg->rResult;
}
! PrintDebugString("[ERROR]: WinAccessBridge::doAccessibleActions returning FALSE (sendMemoryPackage failed)");
return FALSE;
}
/* ====== Utility methods ====== */
*** 2232,2244 ****
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
wcsncpy(pkg->text, text, sizeof(pkg->text)/sizeof(wchar_t)); // wide character copy
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::setTextContents(%X, %016I64X %ls)", vmID, accessibleContext, text);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::setTextContents(%X, %p %ls)", vmID, accessibleContext, text);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2234,2246 ----
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
wcsncpy(pkg->text, text, sizeof(pkg->text)/sizeof(wchar_t)); // wide character copy
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::setTextContents(%X, %016I64X %ls)", vmID, accessibleContext, text);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::setTextContents(%X, %p %ls)", vmID, accessibleContext, text);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2269,2290 ****
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
memcpy((void *)(&(pkg->role)), (void *)role, sizeof(pkg->role));
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getParentWithRole(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getParentWithRole(%X, %016I64X)", vmID, accessibleContext);
#endif
! PrintDebugString(" pkg->vmID: %X", pkg->vmID);
! PrintDebugString(" pkg->accessibleContext: %p", pkg->accessibleContext);
! PrintDebugString(" pkg->role: %ls", pkg->role);
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString(" pkg->rAccessibleContext: %p", pkg->rAccessibleContext);
return pkg->rAccessibleContext;
}
}
return (JOBJECT64) 0;
}
--- 2271,2293 ----
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
memcpy((void *)(&(pkg->role)), (void *)role, sizeof(pkg->role));
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getParentWithRole(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getParentWithRole(%X, %016I64X)", vmID, accessibleContext);
#endif
! PrintDebugString("[INFO]: pkg->vmID: %X"\
! " pkg->accessibleContext: %p"\
! " pkg->role: %ls"\
! , pkg->vmID, pkg->accessibleContext, pkg->role);
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
! PrintDebugString("[INFO]: pkg->rAccessibleContext: %p", pkg->rAccessibleContext);
return pkg->rAccessibleContext;
}
}
return (JOBJECT64) 0;
}
*** 2308,2320 ****
*type = cGetTopLevelObjectPackage;
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getTopLevelObject(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getTopLevelObject(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2311,2323 ----
*type = cGetTopLevelObjectPackage;
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getTopLevelObject(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getTopLevelObject(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2343,2355 ****
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
memcpy((void *)(&(pkg->role)), (void *)role, sizeof(pkg->role));
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getParentWithRoleElseRoot(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getParentWithRoleElseRoot(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2346,2358 ----
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
memcpy((void *)(&(pkg->role)), (void *)role, sizeof(pkg->role));
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getParentWithRoleElseRoot(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getParentWithRoleElseRoot(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2376,2388 ****
*type = cGetObjectDepthPackage;
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getObjectDepth(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getObjectDepth(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2379,2391 ----
*type = cGetObjectDepthPackage;
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getObjectDepth(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getObjectDepth(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2408,2420 ****
*type = cGetActiveDescendentPackage;
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getActiveDescendent(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getActiveDescendent(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2411,2423 ----
*type = cGetActiveDescendentPackage;
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getActiveDescendent(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getActiveDescendent(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2449,2468 ****
pkg->accessibleContext = accessibleContext;
size_t max = (len > sizeof(pkg->rName)) ? sizeof(pkg->rName) : len;
pkg->len = (int)max;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getVirtualAccessibleName(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getVirtualAccessibleName(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
wcsncpy(name, pkg->rName, max);
! PrintDebugString(" WinAccessBridge::getVirtualAccessibleName: Virtual name = %ls", name);
return TRUE;
}
}
return FALSE;
}
--- 2452,2471 ----
pkg->accessibleContext = accessibleContext;
size_t max = (len > sizeof(pkg->rName)) ? sizeof(pkg->rName) : len;
pkg->len = (int)max;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getVirtualAccessibleName(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getVirtualAccessibleName(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
wcsncpy(name, pkg->rName, max);
! PrintDebugString("[INFO]: WinAccessBridge::getVirtualAccessibleName: Virtual name = %ls", name);
return TRUE;
}
}
return FALSE;
}
*** 2484,2496 ****
*type = cRequestFocusPackage;
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::requestFocus(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::requestFocus(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2487,2499 ----
*type = cRequestFocusPackage;
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::requestFocus(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::requestFocus(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2519,2532 ****
pkg->accessibleContext = accessibleContext;
pkg->startIndex = startIndex;
pkg->endIndex = endIndex;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString(" WinAccessBridge::selectTextRange(%X, %p %d %d)", vmID, accessibleContext,
startIndex, endIndex);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString(" WinAccessBridge::selectTextRange(%X, %016I64X %d %d)", vmID, accessibleContext,
startIndex, endIndex);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
--- 2522,2535 ----
pkg->accessibleContext = accessibleContext;
pkg->startIndex = startIndex;
pkg->endIndex = endIndex;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::selectTextRange(%X, %p %d %d)", vmID, accessibleContext,
startIndex, endIndex);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::selectTextRange(%X, %016I64X %d %d)", vmID, accessibleContext,
startIndex, endIndex);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
*** 2561,2574 ****
pkg->endIndex = endIndex;
memcpy(&(pkg->attributes), attributes, sizeof(AccessibleTextAttributesInfo));
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString(" WinAccessBridge::getTextAttributesInRange(%X, %p %d %d)", vmID, accessibleContext,
startIndex, endIndex);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString(" WinAccessBridge::getTextAttributesInRange(%X, %016I64X %d %d)", vmID, accessibleContext,
startIndex, endIndex);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
--- 2564,2577 ----
pkg->endIndex = endIndex;
memcpy(&(pkg->attributes), attributes, sizeof(AccessibleTextAttributesInfo));
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getTextAttributesInRange(%X, %p %d %d)", vmID, accessibleContext,
startIndex, endIndex);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getTextAttributesInRange(%X, %016I64X %d %d)", vmID, accessibleContext,
startIndex, endIndex);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
*** 2598,2610 ****
*type = cGetVisibleChildrenCountPackage;
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getVisibleChildrenCount(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getVisibleChildrenCount(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2601,2613 ----
*type = cGetVisibleChildrenCountPackage;
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getVisibleChildrenCount(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getVisibleChildrenCount(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2633,2645 ****
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
pkg->startIndex = startIndex;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getVisibleChildren(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getVisibleChildren(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2636,2648 ----
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
pkg->startIndex = startIndex;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getVisibleChildren(%X, %p)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getVisibleChildren(%X, %016I64X)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2668,2680 ****
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
pkg->position = position;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::setCaretPosition(%X, %p %ls)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::setCaretPosition(%X, %016I64X %ls)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2671,2683 ----
pkg->vmID = vmID;
pkg->accessibleContext = accessibleContext;
pkg->position = position;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::setCaretPosition(%X, %p %ls)", vmID, accessibleContext);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::setCaretPosition(%X, %016I64X %ls)", vmID, accessibleContext);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2710,2732 ****
pkg->AccessibleContext = AccessibleContext;
pkg->x = x;
pkg->y = y;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getAccessibleTextInfo(%X, %p, %p, %d, %d)", vmID, AccessibleContext, textInfo, x, y);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getAccessibleTextInfo(%X, %016I64X, %p, %d, %d)", vmID, AccessibleContext, textInfo, x, y);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(textInfo, &(pkg->rTextInfo), sizeof(AccessibleTextInfo));
if (pkg->rTextInfo.charCount != -1) {
! PrintDebugString(" charCount: %d", textInfo->charCount);
! PrintDebugString(" caretIndex: %d", textInfo->caretIndex);
! PrintDebugString(" indexAtPoint: %d", textInfo->indexAtPoint);
return TRUE;
}
}
}
--- 2713,2736 ----
pkg->AccessibleContext = AccessibleContext;
pkg->x = x;
pkg->y = y;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextInfo(%X, %p, %p, %d, %d)", vmID, AccessibleContext, textInfo, x, y);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextInfo(%X, %016I64X, %p, %d, %d)", vmID, AccessibleContext, textInfo, x, y);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
memcpy(textInfo, &(pkg->rTextInfo), sizeof(AccessibleTextInfo));
if (pkg->rTextInfo.charCount != -1) {
! PrintDebugString("[INFO]: charCount: %d"\
! " caretIndex: %d"\
! " indexAtPoint: %d"\
! , textInfo->charCount, textInfo->caretIndex, textInfo->indexAtPoint);
return TRUE;
}
}
}
*** 2758,2770 ****
pkg->rTextItemsInfo.letter = '\0';
pkg->rTextItemsInfo.word[0] = '\0';
pkg->rTextItemsInfo.sentence[0] = '\0';
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getAccessibleTextItems(%X, %p, %p, %d)", vmID, AccessibleContext, textItems, index);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getAccessibleTextItems(%X, %016I64X, %p, %d)", vmID, AccessibleContext, textItems, index);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2762,2774 ----
pkg->rTextItemsInfo.letter = '\0';
pkg->rTextItemsInfo.word[0] = '\0';
pkg->rTextItemsInfo.sentence[0] = '\0';
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextItems(%X, %p, %p, %d)", vmID, AccessibleContext, textItems, index);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextItems(%X, %016I64X, %p, %d)", vmID, AccessibleContext, textItems, index);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2797,2809 ****
*type = cGetAccessibleTextSelectionInfoPackage;
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getAccessibleTextSelectionInfo(%X, %p, %p)", vmID, AccessibleContext, selectionInfo);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getAccessibleTextSelectionInfo(%X, %016I64X, %p)", vmID, AccessibleContext, selectionInfo);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2801,2813 ----
*type = cGetAccessibleTextSelectionInfoPackage;
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextSelectionInfo(%X, %p, %p)", vmID, AccessibleContext, selectionInfo);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextSelectionInfo(%X, %016I64X, %p)", vmID, AccessibleContext, selectionInfo);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2837,2849 ****
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
pkg->index = index;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getAccessibleTextAttributes(%X, %p, %d, %p)", vmID, AccessibleContext, index, attributes);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getAccessibleTextAttributes(%X, %016I64X, %d, %p)", vmID, AccessibleContext, index, attributes);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2841,2853 ----
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
pkg->index = index;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextAttributes(%X, %p, %d, %p)", vmID, AccessibleContext, index, attributes);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextAttributes(%X, %016I64X, %d, %p)", vmID, AccessibleContext, index, attributes);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2875,2887 ****
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
pkg->index = index;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getAccessibleTextRect(%X, %p, %p, %d)", vmID, AccessibleContext, rectInfo, index);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getAccessibleTextRect(%X, %016I64X, %p, %d)", vmID, AccessibleContext, rectInfo, index);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2879,2891 ----
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
pkg->index = index;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextRect(%X, %p, %p, %d)", vmID, AccessibleContext, rectInfo, index);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextRect(%X, %016I64X, %p, %d)", vmID, AccessibleContext, rectInfo, index);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2915,2927 ****
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
pkg->index = index;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getCaretLocation(%X, %p, %p, %d)", vmID, AccessibleContext, rectInfo, index);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getCaretLocation(%X, %016I64X, %p, %d)", vmID, AccessibleContext, rectInfo, index);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2919,2931 ----
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
pkg->index = index;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getCaretLocation(%X, %p, %p, %d)", vmID, AccessibleContext, rectInfo, index);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getCaretLocation(%X, %016I64X, %p, %d)", vmID, AccessibleContext, rectInfo, index);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 2967,2979 ****
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
pkg->index = index;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getAccessibleTextLineBounds(%X, %p, %d, )", vmID, AccessibleContext, index);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getAccessibleTextLineBounds(%X, %016I64X, %d, )", vmID, AccessibleContext, index);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 2971,2983 ----
pkg->vmID = vmID;
pkg->AccessibleContext = AccessibleContext;
pkg->index = index;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextLineBounds(%X, %p, %d, )", vmID, AccessibleContext, index);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextLineBounds(%X, %016I64X, %d, )", vmID, AccessibleContext, index);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 3009,3021 ****
pkg->AccessibleContext = AccessibleContext;
pkg->start = start;
pkg->end = end;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("WinAccessBridge::getAccessibleTextRange(%X, %p, %d, %d, )", vmID, AccessibleContext, start, end);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("WinAccessBridge::getAccessibleTextRange(%X, %016I64X, %d, %d, )", vmID, AccessibleContext, start, end);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
--- 3013,3025 ----
pkg->AccessibleContext = AccessibleContext;
pkg->start = start;
pkg->end = end;
#ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextRange(%X, %p, %d, %d, )", vmID, AccessibleContext, start, end);
#else // JOBJECT64 is jlong (64 bit)
! PrintDebugString("[INFO]: WinAccessBridge::getAccessibleTextRange(%X, %016I64X, %d, %d, )", vmID, AccessibleContext, start, end);
#endif
// need to call only the HWND/VM that contains this AC
HWND destABWindow = javaVMs->findAccessBridgeWindow(vmID);
if (destABWindow != (HWND) 0) {
if (sendMemoryPackage(buffer, sizeof(buffer), destABWindow) == TRUE) {
*** 3288,3298 ****
* (though we still may want it to be synchronous; dunno...)
*
*/
void
WinAccessBridge::addJavaEventNotification(jlong type) {
! PrintDebugString("WinAccessBridge::addJavaEventNotification(%016I64X)", type);
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return;
}
char buffer[sizeof(PackageType) + sizeof(AddJavaEventNotificationPackage)];
--- 3292,3302 ----
* (though we still may want it to be synchronous; dunno...)
*
*/
void
WinAccessBridge::addJavaEventNotification(jlong type) {
! PrintDebugString("[INFO]: WinAccessBridge::addJavaEventNotification(%016I64X)", type);
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return;
}
char buffer[sizeof(PackageType) + sizeof(AddJavaEventNotificationPackage)];
*** 3300,3310 ****
AddJavaEventNotificationPackage *pkg = (AddJavaEventNotificationPackage *) (buffer + sizeof(PackageType));
*pkgType = cAddJavaEventNotificationPackage;
pkg->type = type;
pkg->DLLwindow = ABHandleToLong(dialogWindow);
! PrintDebugString(" ->pkgType = %X, eventType = %016I64X, DLLwindow = %p",
*pkgType, pkg->type, pkg->DLLwindow);
// send addEventNotification message to all JVMs
isVMInstanceChainInUse = true;
AccessBridgeJavaVMInstance *current = javaVMs;
--- 3304,3314 ----
AddJavaEventNotificationPackage *pkg = (AddJavaEventNotificationPackage *) (buffer + sizeof(PackageType));
*pkgType = cAddJavaEventNotificationPackage;
pkg->type = type;
pkg->DLLwindow = ABHandleToLong(dialogWindow);
! PrintDebugString("[INFO]: ->pkgType = %X, eventType = %016I64X, DLLwindow = %p",
*pkgType, pkg->type, pkg->DLLwindow);
// send addEventNotification message to all JVMs
isVMInstanceChainInUse = true;
AccessBridgeJavaVMInstance *current = javaVMs;
*** 3325,3346 ****
* (though we still may want it to be synchronous; dunno...)
*
*/
void
WinAccessBridge::removeJavaEventNotification(jlong type) {
! PrintDebugString("in WinAccessBridge::removeJavaEventNotification(%016I64X)", type);
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return;
}
char buffer[sizeof(PackageType) + sizeof(RemoveJavaEventNotificationPackage)];
PackageType *pkgType = (PackageType *) buffer;
RemoveJavaEventNotificationPackage *pkg = (RemoveJavaEventNotificationPackage *) (buffer + sizeof(PackageType));
*pkgType = cRemoveJavaEventNotificationPackage;
pkg->type = type;
pkg->DLLwindow = ABHandleToLong(dialogWindow);
! PrintDebugString(" ->pkgType = %X, eventType = %016I64X, DLLwindow = %p",
*pkgType, pkg->type, pkg->DLLwindow);
// send removeEventNotification message to all JVMs
isVMInstanceChainInUse = true;
AccessBridgeJavaVMInstance *current = javaVMs;
--- 3329,3350 ----
* (though we still may want it to be synchronous; dunno...)
*
*/
void
WinAccessBridge::removeJavaEventNotification(jlong type) {
! PrintDebugString("[INFO]: in WinAccessBridge::removeJavaEventNotification(%016I64X)", type);
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return;
}
char buffer[sizeof(PackageType) + sizeof(RemoveJavaEventNotificationPackage)];
PackageType *pkgType = (PackageType *) buffer;
RemoveJavaEventNotificationPackage *pkg = (RemoveJavaEventNotificationPackage *) (buffer + sizeof(PackageType));
*pkgType = cRemoveJavaEventNotificationPackage;
pkg->type = type;
pkg->DLLwindow = ABHandleToLong(dialogWindow);
! PrintDebugString("[INFO]: ->pkgType = %X, eventType = %016I64X, DLLwindow = %p",
*pkgType, pkg->type, pkg->DLLwindow);
// send removeEventNotification message to all JVMs
isVMInstanceChainInUse = true;
AccessBridgeJavaVMInstance *current = javaVMs;
*** 3363,3384 ****
* (though we still may want it to be synchronous; dunno...)
*
*/
void
WinAccessBridge::addAccessibilityEventNotification(jlong type) {
! PrintDebugString("in WinAccessBridge::addAccessibilityEventNotification(%016I64X)", type);
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return;
}
char buffer[sizeof(PackageType) + sizeof(AddAccessibilityEventNotificationPackage)];
PackageType *pkgType = (PackageType *) buffer;
AddAccessibilityEventNotificationPackage *pkg = (AddAccessibilityEventNotificationPackage *) (buffer + sizeof(PackageType));
*pkgType = cAddAccessibilityEventNotificationPackage;
pkg->type = type;
pkg->DLLwindow = ABHandleToLong(dialogWindow);
! PrintDebugString(" ->pkgType = %X, eventType = %016I64X, DLLwindow = %X",
*pkgType, pkg->type, pkg->DLLwindow);
// send addEventNotification message to all JVMs
isVMInstanceChainInUse = true;
AccessBridgeJavaVMInstance *current = javaVMs;
--- 3367,3388 ----
* (though we still may want it to be synchronous; dunno...)
*
*/
void
WinAccessBridge::addAccessibilityEventNotification(jlong type) {
! PrintDebugString("[INFO]: in WinAccessBridge::addAccessibilityEventNotification(%016I64X)", type);
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return;
}
char buffer[sizeof(PackageType) + sizeof(AddAccessibilityEventNotificationPackage)];
PackageType *pkgType = (PackageType *) buffer;
AddAccessibilityEventNotificationPackage *pkg = (AddAccessibilityEventNotificationPackage *) (buffer + sizeof(PackageType));
*pkgType = cAddAccessibilityEventNotificationPackage;
pkg->type = type;
pkg->DLLwindow = ABHandleToLong(dialogWindow);
! PrintDebugString("[INFO]: ->pkgType = %X, eventType = %016I64X, DLLwindow = %X",
*pkgType, pkg->type, pkg->DLLwindow);
// send addEventNotification message to all JVMs
isVMInstanceChainInUse = true;
AccessBridgeJavaVMInstance *current = javaVMs;
*** 3399,3420 ****
* (though we still may want it to be synchronous; dunno...)
*
*/
void
WinAccessBridge::removeAccessibilityEventNotification(jlong type) {
! PrintDebugString("in WinAccessBridge::removeAccessibilityEventNotification(%016I64X)", type);
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return;
}
char buffer[sizeof(PackageType) + sizeof(RemoveAccessibilityEventNotificationPackage)];
PackageType *pkgType = (PackageType *) buffer;
RemoveAccessibilityEventNotificationPackage *pkg = (RemoveAccessibilityEventNotificationPackage *) (buffer + sizeof(PackageType));
*pkgType = cRemoveAccessibilityEventNotificationPackage;
pkg->type = type;
pkg->DLLwindow = ABHandleToLong(dialogWindow);
! PrintDebugString(" ->pkgType = %X, eventType = %016I64X, DLLwindow = %X",
*pkgType, pkg->type, pkg->DLLwindow);
// send removeEventNotification message to all JVMs
isVMInstanceChainInUse = true;
AccessBridgeJavaVMInstance *current = javaVMs;
--- 3403,3424 ----
* (though we still may want it to be synchronous; dunno...)
*
*/
void
WinAccessBridge::removeAccessibilityEventNotification(jlong type) {
! PrintDebugString("[INFO]: in WinAccessBridge::removeAccessibilityEventNotification(%016I64X)", type);
if ((AccessBridgeJavaVMInstance *) 0 == javaVMs) {
return;
}
char buffer[sizeof(PackageType) + sizeof(RemoveAccessibilityEventNotificationPackage)];
PackageType *pkgType = (PackageType *) buffer;
RemoveAccessibilityEventNotificationPackage *pkg = (RemoveAccessibilityEventNotificationPackage *) (buffer + sizeof(PackageType));
*pkgType = cRemoveAccessibilityEventNotificationPackage;
pkg->type = type;
pkg->DLLwindow = ABHandleToLong(dialogWindow);
! PrintDebugString("[INFO]: ->pkgType = %X, eventType = %016I64X, DLLwindow = %X",
*pkgType, pkg->type, pkg->DLLwindow);
// send removeEventNotification message to all JVMs
isVMInstanceChainInUse = true;
AccessBridgeJavaVMInstance *current = javaVMs;
< prev index next >