< prev index next >

src/jdk.accessibility/windows/native/libjavaaccessbridge/JavaAccessBridge.cpp

Print this page

        

*** 83,93 **** * Open a native window (and init the wrappers we'll be using) * */ JNIEXPORT void JNICALL Java_com_sun_java_accessibility_internal_AccessBridge_runDLL(JNIEnv *env, jobject obj) { ! PrintDebugString("\r\nJavaAccessBridge.DLL runDLL() called"); theJavaAccessBridge->javaRun(env, obj); } /** * Our window proc --- 83,93 ---- * Open a native window (and init the wrappers we'll be using) * */ JNIEXPORT void JNICALL Java_com_sun_java_accessibility_internal_AccessBridge_runDLL(JNIEnv *env, jobject obj) { ! PrintDebugString("[INFO]: JavaAccessBridge.DLL runDLL() called"); theJavaAccessBridge->javaRun(env, obj); } /** * Our window proc
*** 98,121 **** COPYDATASTRUCT *sentToUs; char *package; switch (message) { case WM_INITDIALOG: ! PrintDebugString("In AccessBridgeDialog - Initializing"); break; case WM_COMMAND: command = LOWORD (wParam); ! PrintDebugString("In AccessBridgeDialog - Got WM_COMMAND, command: %X", command); break; // call from Java with data for us to deliver case WM_COPYDATA: if (theDialogWindow == (HWND) wParam) { ! PrintDebugString("In AccessBridgeDialog - Got WM_COPYDATA from ourselves"); } else { ! PrintDebugString("In AccessBridgeDialog - Got WM_COPYDATA from HWND %p", wParam); sentToUs = (COPYDATASTRUCT *) lParam; package = (char *) sentToUs->lpData; theJavaAccessBridge->processPackage(package, sentToUs->cbData); } break; --- 98,121 ---- COPYDATASTRUCT *sentToUs; char *package; switch (message) { case WM_INITDIALOG: ! PrintDebugString("[INFO]: In AccessBridgeDialog - Initializing"); break; case WM_COMMAND: command = LOWORD (wParam); ! PrintDebugString("[INFO]: In AccessBridgeDialog - Got WM_COMMAND, command: %X", command); break; // call from Java with data for us to deliver case WM_COPYDATA: if (theDialogWindow == (HWND) wParam) { ! PrintDebugString("[INFO]: In AccessBridgeDialog - Got WM_COPYDATA from ourselves"); } else { ! PrintDebugString("[INFO]: In AccessBridgeDialog - Got WM_COPYDATA from HWND %p", wParam); sentToUs = (COPYDATASTRUCT *) lParam; package = (char *) sentToUs->lpData; theJavaAccessBridge->processPackage(package, sentToUs->cbData); } break;
*** 123,153 **** // call from Java with data for us retrieve from memory mapped file and deliver case AB_MESSAGE_WAITING: // wParam == sourceHwnd // lParam == buffer size in shared memory if (theDialogWindow == (HWND) wParam) { ! PrintDebugString("In AccessBridgeDialog - Got AB_MESSAGE_WAITING from ourselves"); } else { ! PrintDebugString("In AccessBridgeDialog - Got AB_MESSAGE_WAITING from HWND %p", wParam); LRESULT returnVal = theJavaAccessBridge->receiveMemoryPackage((HWND) wParam, (long) lParam); } break; // a JavaAccessBridge DLL is going away case AB_DLL_GOING_AWAY: ! PrintDebugString("In AccessBridgeDialog - Got AB_DLL_GOING_AWAY message"); theJavaAccessBridge->WindowsATDestroyed((HWND) wParam); break; default: // the Windows AT is saying "hi"! // wParam == sourceHwnc; lParam unused if (message == theFromWindowsHelloMsgID) { // A new Windows AT just said "hi"; // say "hi" back so it can mate up with us // otherwise don't do anything (e.g. don't set up data structures yet) ! PrintDebugString("In AccessBridgeDialog - Got theFromWindowsHelloMsgID message"); theJavaAccessBridge->postHelloToWindowsDLLMsg((HWND) wParam); } } return FALSE; } --- 123,153 ---- // call from Java with data for us retrieve from memory mapped file and deliver case AB_MESSAGE_WAITING: // wParam == sourceHwnd // lParam == buffer size in shared memory if (theDialogWindow == (HWND) wParam) { ! PrintDebugString("[INFO]: In AccessBridgeDialog - Got AB_MESSAGE_WAITING from ourselves"); } else { ! PrintDebugString("[INFO]: In AccessBridgeDialog - Got AB_MESSAGE_WAITING from HWND %p", wParam); LRESULT returnVal = theJavaAccessBridge->receiveMemoryPackage((HWND) wParam, (long) lParam); } break; // a JavaAccessBridge DLL is going away case AB_DLL_GOING_AWAY: ! PrintDebugString("[INFO]: In AccessBridgeDialog - Got AB_DLL_GOING_AWAY message"); theJavaAccessBridge->WindowsATDestroyed((HWND) wParam); break; default: // the Windows AT is saying "hi"! // wParam == sourceHwnc; lParam unused if (message == theFromWindowsHelloMsgID) { // A new Windows AT just said "hi"; // say "hi" back so it can mate up with us // otherwise don't do anything (e.g. don't set up data structures yet) ! PrintDebugString("[INFO]: In AccessBridgeDialog - Got theFromWindowsHelloMsgID message"); theJavaAccessBridge->postHelloToWindowsDLLMsg((HWND) wParam); } } return FALSE; }
*** 163,172 **** --- 163,173 ---- * */ JavaAccessBridge::JavaAccessBridge(HINSTANCE hInstance) { windowsInstance = hInstance; ATs = (AccessBridgeATInstance *) 0; + initializeFileLogger("_java_access_bridge"); initBroadcastMessageIDs(); // get the unique to us broadcast msg. IDs } extern DWORD JavaBridgeThreadId;
*** 175,262 **** * */ JavaAccessBridge::~JavaAccessBridge() { // inform all other AccessBridges that we're going away ! PrintDebugString("\r\nin JavaAccessBridge::~JavaAccessBridge()"); // Send a shutdown message for those applications like StarOffice that do // send a shutdown message themselves. javaShutdown(NULL, 0); AccessBridgeATInstance *current = ATs; while (current != (AccessBridgeATInstance *) 0) { ! PrintDebugString(" telling %p we're going away", current->winAccessBridgeWindow); SendMessage(current->winAccessBridgeWindow, AB_DLL_GOING_AWAY, (WPARAM) dialogWindow, (LPARAM) 0); current = current->nextATInstance; } ! PrintDebugString(" finished telling ATs about our demise"); if(JavaBridgeThreadId) { PostThreadMessage(JavaBridgeThreadId,WM_USER+1,0,0); Sleep(100); } delete ATs; ! PrintDebugString(" finished deleting ATs"); ! PrintDebugString("GOODBYE CRUEL WORLD..."); } void JavaAccessBridge::javaRun(JNIEnv *env, jobject obj) { MSG msg; ! PrintDebugString("JavaAccessBridge::javaRun(%p, %p) called", env, obj); if (env->GetJavaVM(&javaVM) != 0) { return; // huh!?!?! } ! PrintDebugString(" -> javaVM = %p", javaVM); if (javaVM->AttachCurrentThread((void **) &windowsThreadJNIEnv, NULL) != 0) { return; // huh!?!?! } ! PrintDebugString(" -> windowsThreadJNIEnv = %p", windowsThreadJNIEnv); javaThreadABObject = env->NewGlobalRef(obj); windowsThreadABObject = windowsThreadJNIEnv->NewGlobalRef(obj); // initialize the Java thread AccessBridge entry points javaThreadEntryPoints = new AccessBridgeJavaEntryPoints(env, javaThreadABObject); if (javaThreadEntryPoints->BuildJavaEntryPoints() == FALSE) { return; // couldn't build our entry points; let's get out of here! } ! PrintDebugString(" all Java thread entry points successfully found."); // initialize the Windows thread AccessBridge entry points windowsThreadEntryPoints = new AccessBridgeJavaEntryPoints(windowsThreadJNIEnv, windowsThreadABObject); if (windowsThreadEntryPoints->BuildJavaEntryPoints() == FALSE) { return; // couldn't build our entry points; let's get out of here! } ! PrintDebugString(" all Windows thread entry points successfully found."); // open our window if (initWindow() == TRUE) { ! PrintDebugString(" Window created. HWND = %p", dialogWindow); // post a broadcast msg.; let other AccessBridge DLLs know we exist postHelloToWindowsDLLMsg(HWND_BROADCAST); // do that message loop thing while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } } else { ! PrintDebugString(" FAILED TO CREATE WINDOW!!!"); } javaVM->DetachCurrentThread(); } --- 176,264 ---- * */ JavaAccessBridge::~JavaAccessBridge() { // inform all other AccessBridges that we're going away ! PrintDebugString("[INFO]: in JavaAccessBridge::~JavaAccessBridge()"); // Send a shutdown message for those applications like StarOffice that do // send a shutdown message themselves. javaShutdown(NULL, 0); AccessBridgeATInstance *current = ATs; while (current != (AccessBridgeATInstance *) 0) { ! PrintDebugString("[INFO]: telling %p we're going away", current->winAccessBridgeWindow); SendMessage(current->winAccessBridgeWindow, AB_DLL_GOING_AWAY, (WPARAM) dialogWindow, (LPARAM) 0); current = current->nextATInstance; } ! PrintDebugString("[INFO]: finished telling ATs about our demise"); if(JavaBridgeThreadId) { PostThreadMessage(JavaBridgeThreadId,WM_USER+1,0,0); Sleep(100); } delete ATs; ! PrintDebugString("[INFO]: finished deleting ATs"); ! PrintDebugString("[INFO]: GOODBYE CRUEL WORLD..."); ! finalizeFileLogger(); } void JavaAccessBridge::javaRun(JNIEnv *env, jobject obj) { MSG msg; ! PrintDebugString("[INFO]: JavaAccessBridge::javaRun(%p, %p) called", env, obj); if (env->GetJavaVM(&javaVM) != 0) { return; // huh!?!?! } ! PrintDebugString("[INFO]: -> javaVM = %p", javaVM); if (javaVM->AttachCurrentThread((void **) &windowsThreadJNIEnv, NULL) != 0) { return; // huh!?!?! } ! PrintDebugString("[INFO]: -> windowsThreadJNIEnv = %p", windowsThreadJNIEnv); javaThreadABObject = env->NewGlobalRef(obj); windowsThreadABObject = windowsThreadJNIEnv->NewGlobalRef(obj); // initialize the Java thread AccessBridge entry points javaThreadEntryPoints = new AccessBridgeJavaEntryPoints(env, javaThreadABObject); if (javaThreadEntryPoints->BuildJavaEntryPoints() == FALSE) { return; // couldn't build our entry points; let's get out of here! } ! PrintDebugString("[INFO]: all Java thread entry points successfully found."); // initialize the Windows thread AccessBridge entry points windowsThreadEntryPoints = new AccessBridgeJavaEntryPoints(windowsThreadJNIEnv, windowsThreadABObject); if (windowsThreadEntryPoints->BuildJavaEntryPoints() == FALSE) { return; // couldn't build our entry points; let's get out of here! } ! PrintDebugString("[INFO]: all Windows thread entry points successfully found."); // open our window if (initWindow() == TRUE) { ! PrintDebugString("[INFO]: Window created. HWND = %p", dialogWindow); // post a broadcast msg.; let other AccessBridge DLLs know we exist postHelloToWindowsDLLMsg(HWND_BROADCAST); // do that message loop thing while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } } else { ! PrintDebugString("[ERROR]: FAILED TO CREATE WINDOW!!!"); } javaVM->DetachCurrentThread(); }
*** 299,310 **** * lParam is our vmID * */ void JavaAccessBridge::postHelloToWindowsDLLMsg(HWND destHwnd) { ! PrintDebugString("\r\nIn JavaAccessBridge::postHelloToWindowsDLLMsg"); ! PrintDebugString(" calling PostMessage(%p, %X, %p, %p)", destHwnd, theFromJavaHelloMsgID, dialogWindow, dialogWindow); PostMessage(destHwnd, theFromJavaHelloMsgID, (WPARAM) dialogWindow, (LPARAM) dialogWindow); } --- 301,312 ---- * lParam is our vmID * */ void JavaAccessBridge::postHelloToWindowsDLLMsg(HWND destHwnd) { ! PrintDebugString("[INFO]: In JavaAccessBridge::postHelloToWindowsDLLMsg"); ! PrintDebugString("[INFO]: calling PostMessage(%p, %X, %p, %p)", destHwnd, theFromJavaHelloMsgID, dialogWindow, dialogWindow); PostMessage(destHwnd, theFromJavaHelloMsgID, (WPARAM) dialogWindow, (LPARAM) dialogWindow); }
*** 331,344 **** * */ void JavaAccessBridge::sendJavaEventPackage(char *buffer, int bufsize, long type) { ! PrintDebugString("JavaAccessBridge::sendJavaEventPackage(), type = %X", type); if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); } AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { ati->sendJavaEventPackage(buffer, bufsize, type); --- 333,346 ---- * */ void JavaAccessBridge::sendJavaEventPackage(char *buffer, int bufsize, long type) { ! PrintDebugString("[INFO]: JavaAccessBridge::sendJavaEventPackage(), type = %X", type); if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); } AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { ati->sendJavaEventPackage(buffer, bufsize, type);
*** 351,364 **** * */ void JavaAccessBridge::sendAccessibilityEventPackage(char *buffer, int bufsize, long type) { ! PrintDebugString("JavaAccessBridge::sendAccessibilityEventPackage(), type = %X", type); if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); } AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { ati->sendAccessibilityEventPackage(buffer, bufsize, type); --- 353,366 ---- * */ void JavaAccessBridge::sendAccessibilityEventPackage(char *buffer, int bufsize, long type) { ! PrintDebugString("[INFO]: JavaAccessBridge::sendAccessibilityEventPackage(), type = %X", type); if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR] ATs == 0! (shouldn't happen here!)"); } AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { ati->sendAccessibilityEventPackage(buffer, bufsize, type);
*** 379,393 **** */ BOOL JavaAccessBridge::receiveMemoryPackage(HWND srcWindow, long bufsize) { char *IPCview; ! PrintDebugString("\r\nJavaAccessBridge::receiveMemoryPackage(%p, %d)", srcWindow, bufsize); // look-up the appropriate IPCview based on the srcHWND of the Windows AccessBridge DLL if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR! - ATs == 0 (shouldn't happen in receiveMemoryPackage()!"); return FALSE; } AccessBridgeATInstance *ati = ATs->findABATInstanceFromATHWND(srcWindow); if (ati != (AccessBridgeATInstance *) 0) { IPCview = (char *) ati->memoryMappedView; --- 381,395 ---- */ BOOL JavaAccessBridge::receiveMemoryPackage(HWND srcWindow, long bufsize) { char *IPCview; ! PrintDebugString("[INFO]: JavaAccessBridge::receiveMemoryPackage(%p, %d)", srcWindow, bufsize); // look-up the appropriate IPCview based on the srcHWND of the Windows AccessBridge DLL if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: - ATs == 0 (shouldn't happen in receiveMemoryPackage()!"); return FALSE; } AccessBridgeATInstance *ati = ATs->findABATInstanceFromATHWND(srcWindow); if (ati != (AccessBridgeATInstance *) 0) { IPCview = (char *) ati->memoryMappedView;
*** 406,416 **** return TRUE; } else { //DEBUG_CODE(AppendToCallInfo("ERROR receiving memory package: couldn't find srcWindow")); ! PrintDebugString("ERROR receiving memory package: couldn't find srcWindow"); return FALSE; } } /** --- 408,418 ---- return TRUE; } else { //DEBUG_CODE(AppendToCallInfo("ERROR receiving memory package: couldn't find srcWindow")); ! PrintDebugString("[ERROR]: receiving memory package: couldn't find srcWindow"); return FALSE; } } /**
*** 418,1186 **** * to do IPC messaging with the Windows AccessBridge DLL * */ LRESULT JavaAccessBridge::processPackage(char *buffer, int bufsize) { ! PrintDebugString("\r\nProcessing package sent from Windows, bufsize = %d:", bufsize); PackageType *type = (PackageType *) buffer; LRESULT returnVal = 0; ! PrintDebugString(" PackageType = %X:", *type); jobject rAC; switch (*type) { case cMemoryMappedFileCreatedPackage: // Windows is telling us it created a memory mapped file for us to use // in repsonding to various information querying packages (see below) ! PrintDebugString(" type == cMemoryMappedFileCreatedPackage"); if (bufsize == (sizeof(PackageType) + sizeof(MemoryMappedFileCreatedPackage))) { MemoryMappedFileCreatedPackage *pkg = (MemoryMappedFileCreatedPackage *) (buffer + sizeof(PackageType)); returnVal = MemoryMappedFileCreated((HWND)ABLongToHandle(pkg->bridgeWindow), pkg->filename); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(MemoryMappedFileCreatedPackage)); } break; // ------------ information querying packages ------------------ case cReleaseJavaObjectPackage: ! PrintDebugString(" type == cReleaseJavaObjectPackage"); if (bufsize == (sizeof(PackageType) + sizeof(ReleaseJavaObjectPackage))) { ReleaseJavaObjectPackage *pkg = (ReleaseJavaObjectPackage *) (buffer + sizeof(PackageType)); releaseJavaObject((jobject)pkg->object); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(ReleaseJavaObjectPackage)); } break; case cGetAccessBridgeVersionPackage: ! PrintDebugString(" type == cGetAccessBridgeVersionPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessBridgeVersionPackage))) { GetAccessBridgeVersionPackage *pkg = (GetAccessBridgeVersionPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getVersionInfo(&(pkg->rVersionInfo)); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessBridgeVersionPackage)); } break; case cIsJavaWindowPackage: ! PrintDebugString(" type == cIsJavaWindowPackage"); if (bufsize == (sizeof(PackageType) + sizeof(IsJavaWindowPackage))) { IsJavaWindowPackage *pkg = (IsJavaWindowPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->isJavaWindow(pkg->window); ! PrintDebugString(" -> returning result = %d", pkg->rResult); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(IsJavaWindowPackage)); } break; case cIsSameObjectPackage: ! PrintDebugString(" type == cIsSameObjectPackage"); if (bufsize == (sizeof(PackageType) + sizeof(IsSameObjectPackage))) { IsSameObjectPackage *pkg = (IsSameObjectPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->isSameObject((jobject)pkg->obj1, (jobject)pkg->obj2); ! PrintDebugString(" -> returning result = %d", pkg->rResult); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(IsSameObjectPackage)); } break; case cGetAccessibleContextFromHWNDPackage: ! PrintDebugString(" type == cGetAccessibleContextFromHWNDPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleContextFromHWNDPackage))) { GetAccessibleContextFromHWNDPackage *pkg = (GetAccessibleContextFromHWNDPackage *) (buffer + sizeof(PackageType)); rAC = windowsThreadEntryPoints->getAccessibleContextFromHWND(pkg->window); pkg->rAccessibleContext = (JOBJECT64)rAC; pkg->rVMID = HandleToLong(dialogWindow); ! PrintDebugString(" -> returning AC = %p, vmID = %X", rAC, pkg->rVMID); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleContextFromHWNDPackage)); } break; case cGetHWNDFromAccessibleContextPackage: ! PrintDebugString(" type == cGetHWNDFromAccessibleContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetHWNDFromAccessibleContextPackage))) { GetHWNDFromAccessibleContextPackage *pkg = (GetHWNDFromAccessibleContextPackage *) (buffer + sizeof(PackageType)); pkg->rHWND = ABHandleToLong( windowsThreadEntryPoints->getHWNDFromAccessibleContext((jobject)pkg->accessibleContext) ); ! PrintDebugString(" -> returning HWND = %p", pkg->rHWND); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetHWNDFromAccessibleContextPackage)); } break; /* ===== utility methods ===== */ case cSetTextContentsPackage: ! PrintDebugString(" type == cSetTextContentsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(SetTextContentsPackage))) { SetTextContentsPackage *pkg = (SetTextContentsPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->setTextContents((jobject)pkg->accessibleContext, pkg->text); ! PrintDebugString(" -> returning result = %d", pkg->rResult); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(SetTextContentsPackage)); } break; case cGetParentWithRolePackage: if (bufsize == (sizeof(PackageType) + sizeof(GetParentWithRolePackage))) { GetParentWithRolePackage *pkg = (GetParentWithRolePackage *) (buffer + sizeof(PackageType)); rAC = windowsThreadEntryPoints->getParentWithRole((jobject)pkg->accessibleContext, pkg->role); pkg->rAccessibleContext = (JOBJECT64)rAC; ! PrintDebugString(" type == cGetParentWithRolePackage"); ! PrintDebugString(" pkg->vmID: %X", pkg->vmID); ! PrintDebugString(" pkg->accessibleContext: %p", (jobject)pkg->accessibleContext); ! PrintDebugString(" pkg->role: %ls", pkg->role); ! PrintDebugString(" -> returning rAccessibleContext = %p", rAC); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetParentWithRolePackage)); } break; case cGetTopLevelObjectPackage: ! PrintDebugString(" type == cGetTopLevelObjectPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetTopLevelObjectPackage))) { GetTopLevelObjectPackage *pkg = (GetTopLevelObjectPackage *) (buffer + sizeof(PackageType)); rAC = windowsThreadEntryPoints->getTopLevelObject((jobject)pkg->accessibleContext); pkg->rAccessibleContext = (JOBJECT64)rAC; ! PrintDebugString(" -> returning rAccessibleContext = %p", rAC); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetTopLevelObjectPackage)); } break; case cGetParentWithRoleElseRootPackage: ! PrintDebugString(" type == cGetParentWithRoleElseRootPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetParentWithRoleElseRootPackage))) { GetParentWithRoleElseRootPackage *pkg = (GetParentWithRoleElseRootPackage *) (buffer + sizeof(PackageType)); rAC = windowsThreadEntryPoints->getParentWithRoleElseRoot((jobject)pkg->accessibleContext, pkg->role); pkg->rAccessibleContext = (JOBJECT64)rAC; ! PrintDebugString(" -> returning rAccessibleContext = %p", rAC); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetParentWithRoleElseRootPackage)); } break; case cGetObjectDepthPackage: ! PrintDebugString(" type == cGetObjectDepthPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetObjectDepthPackage))) { GetObjectDepthPackage *pkg = (GetObjectDepthPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->getObjectDepth((jobject)pkg->accessibleContext); ! PrintDebugString(" -> returning rResult = %d", pkg->rResult); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetObjectDepthPackage)); } break; case cGetActiveDescendentPackage: ! PrintDebugString(" type == cGetActiveDescendentPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetActiveDescendentPackage))) { GetActiveDescendentPackage *pkg = (GetActiveDescendentPackage *) (buffer + sizeof(PackageType)); rAC = windowsThreadEntryPoints->getActiveDescendent((jobject)pkg->accessibleContext); pkg->rAccessibleContext = (JOBJECT64)rAC; ! PrintDebugString(" -> returning rAccessibleContext = %p", rAC); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetActiveDescendentPackage)); } break; case cGetAccessibleContextAtPackage: ! PrintDebugString(" type == cGetAccessibleContextAtPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleContextAtPackage))) { GetAccessibleContextAtPackage *pkg = (GetAccessibleContextAtPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64) windowsThreadEntryPoints->getAccessibleContextAt(pkg->x, pkg->y, (jobject)pkg->AccessibleContext); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleContextAtPackage)); } break; case cGetAccessibleContextWithFocusPackage: ! PrintDebugString(" type == cGetAccessibleContextWithFocusPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleContextWithFocusPackage))) { GetAccessibleContextWithFocusPackage *pkg = (GetAccessibleContextWithFocusPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64) windowsThreadEntryPoints->getAccessibleContextWithFocus(); pkg->rVMID = HandleToLong(dialogWindow); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleContextWithFocusPackage)); } break; case cGetAccessibleContextInfoPackage: ! PrintDebugString(" type == cGetAccessibleContextInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleContextInfoPackage))) { GetAccessibleContextInfoPackage *pkg = (GetAccessibleContextInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleContextInfo( (jobject)pkg->AccessibleContext, &(pkg->rAccessibleContextInfo)); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleContextInfoPackage)); } break; case cGetAccessibleChildFromContextPackage: ! PrintDebugString(" type == cGetAccessibleChildFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleChildFromContextPackage))) { GetAccessibleChildFromContextPackage *pkg = (GetAccessibleChildFromContextPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64)windowsThreadEntryPoints->getAccessibleChildFromContext( (jobject)pkg->AccessibleContext, pkg->childIndex); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleChildFromContextPackage)); } break; case cGetAccessibleParentFromContextPackage: ! PrintDebugString(" type == cGetAccessibleParentFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleParentFromContextPackage))) { GetAccessibleParentFromContextPackage *pkg = (GetAccessibleParentFromContextPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64)windowsThreadEntryPoints->getAccessibleParentFromContext( (jobject)pkg->AccessibleContext); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleParentFromContextPackage)); } break; // ------------ begin AccessibleTable packages ------------------ case cGetAccessibleTableInfoPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableInfoPackage))) { GetAccessibleTableInfoPackage *pkg = (GetAccessibleTableInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTableInfo((jobject)pkg->accessibleContext, &(pkg->rTableInfo)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableInfoPackage)); } break; case cGetAccessibleTableCellInfoPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableCellInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableCellInfoPackage))) { GetAccessibleTableCellInfoPackage *pkg = (GetAccessibleTableCellInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTableCellInfo((jobject)pkg->accessibleTable, pkg->row, pkg->column, &(pkg->rTableCellInfo)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableCellInfoPackage)); } break; case cGetAccessibleTableRowHeaderPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableRowHeaderPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableRowHeaderPackage))) { GetAccessibleTableRowHeaderPackage *pkg = (GetAccessibleTableRowHeaderPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTableRowHeader((jobject)pkg->accessibleContext, &(pkg->rTableInfo)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableRowHeaderPackage)); } break; case cGetAccessibleTableColumnHeaderPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableColumnHeaderPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableColumnHeaderPackage))) { GetAccessibleTableColumnHeaderPackage *pkg = (GetAccessibleTableColumnHeaderPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTableColumnHeader((jobject)pkg->accessibleContext, &(pkg->rTableInfo)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableColumnHeaderPackage)); } break; case cGetAccessibleTableRowDescriptionPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableRowDescriptionPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableRowDescriptionPackage))) { GetAccessibleTableRowDescriptionPackage *pkg = (GetAccessibleTableRowDescriptionPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64)windowsThreadEntryPoints->getAccessibleTableRowDescription( (jobject)pkg->accessibleContext, pkg->row); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableRowDescriptionPackage)); } break; case cGetAccessibleTableColumnDescriptionPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableColumnDescriptionPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableColumnDescriptionPackage))) { GetAccessibleTableColumnDescriptionPackage *pkg = (GetAccessibleTableColumnDescriptionPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64)windowsThreadEntryPoints->getAccessibleTableColumnDescription( (jobject)pkg->accessibleContext, pkg->column); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableColumnDescriptionPackage)); } break; case cGetAccessibleTableColumnSelectionCountPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableColumnSelectionCountPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableColumnSelectionCountPackage))) { GetAccessibleTableColumnSelectionCountPackage *pkg = (GetAccessibleTableColumnSelectionCountPackage *) (buffer + sizeof(PackageType)); pkg->rCount = windowsThreadEntryPoints->getAccessibleTableColumnSelectionCount( (jobject)pkg->accessibleTable); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableColumnSelectionCountPackage)); } break; case cGetAccessibleTableRowSelectionCountPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableRowSelectionCountPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableRowSelectionCountPackage))) { GetAccessibleTableRowSelectionCountPackage *pkg = (GetAccessibleTableRowSelectionCountPackage *) (buffer + sizeof(PackageType)); pkg->rCount = windowsThreadEntryPoints->getAccessibleTableRowSelectionCount( (jobject)pkg->accessibleTable); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableRowSelectionCountPackage)); } break; case cIsAccessibleTableRowSelectedPackage: ! PrintDebugString(" ##### type == cIsAccessibleTableRowSelectedPackage"); if (bufsize == (sizeof(PackageType) + sizeof(IsAccessibleTableRowSelectedPackage))) { IsAccessibleTableRowSelectedPackage *pkg = (IsAccessibleTableRowSelectedPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->isAccessibleTableRowSelected( (jobject)pkg->accessibleTable, pkg->row); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(IsAccessibleTableRowSelectedPackage)); } break; case cIsAccessibleTableColumnSelectedPackage: ! PrintDebugString(" ##### type == cIsAccessibleTableColumnSelectedPackage"); if (bufsize == (sizeof(PackageType) + sizeof(IsAccessibleTableColumnSelectedPackage))) { IsAccessibleTableColumnSelectedPackage *pkg = (IsAccessibleTableColumnSelectedPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->isAccessibleTableColumnSelected( (jobject)pkg->accessibleTable, pkg->column); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(IsAccessibleTableColumnSelectedPackage)); } break; case cGetAccessibleTableColumnSelectionsPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableColumnSelectionsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableColumnSelectionsPackage))) { GetAccessibleTableColumnSelectionsPackage *pkg = (GetAccessibleTableColumnSelectionsPackage *) (buffer + sizeof(PackageType)); ! PrintDebugString(" ##### cGetAccessibleTableColumnSelectionsPackage count=%d", pkg->count); windowsThreadEntryPoints->getAccessibleTableColumnSelections( (jobject)pkg->accessibleTable, pkg->count, pkg->rSelections); for (int i = 0; i < pkg->count; i++) { ! PrintDebugString(" ##### cGetAccessibleTableColumnSelectionsPackage(%d)=%d", i, pkg->rSelections[i]); } ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableColumnSelectionsPackage)); } break; case cGetAccessibleTableRowSelectionsPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableRowSelectionsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableRowSelectionsPackage))) { GetAccessibleTableRowSelectionsPackage *pkg = (GetAccessibleTableRowSelectionsPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTableRowSelections( (jobject)pkg->accessibleTable, pkg->count, pkg->rSelections); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableRowSelectionsPackage)); } break; case cGetAccessibleTableRowPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableRowPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableRowPackage))) { GetAccessibleTableRowPackage *pkg = (GetAccessibleTableRowPackage *) (buffer + sizeof(PackageType)); pkg->rRow = windowsThreadEntryPoints->getAccessibleTableRow( (jobject)pkg->accessibleTable, pkg->index); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableRowPackage)); } break; case cGetAccessibleTableColumnPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableColumnPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableColumnPackage))) { GetAccessibleTableColumnPackage *pkg = (GetAccessibleTableColumnPackage *) (buffer + sizeof(PackageType)); pkg->rColumn = windowsThreadEntryPoints->getAccessibleTableColumn( (jobject)pkg->accessibleTable, pkg->index); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableColumnPackage)); } break; case cGetAccessibleTableIndexPackage: ! PrintDebugString(" ##### type == cGetAccessibleTableIndexPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableIndexPackage))) { GetAccessibleTableIndexPackage *pkg = (GetAccessibleTableIndexPackage *) (buffer + sizeof(PackageType)); pkg->rIndex = windowsThreadEntryPoints->getAccessibleTableIndex( (jobject)pkg->accessibleTable, pkg->row, pkg->column); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableIndexPackage)); } break; // ------------ end AccessibleTable packages ------------------ // ------------ begin AccessibleRelationSet packages ------------------ case cGetAccessibleRelationSetPackage: ! PrintDebugString(" ##### type == cGetAccessibleRelationSetPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleRelationSetPackage))) { GetAccessibleRelationSetPackage *pkg = (GetAccessibleRelationSetPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleRelationSet( (jobject)pkg->accessibleContext, &(pkg->rAccessibleRelationSetInfo)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleRelationSetPackage)); } break; // ------------ end AccessibleRelationSet packages ------------------ // ------------ begin AccessibleHypertext packages ------------------ case cGetAccessibleHypertextPackage: ! PrintDebugString(" ##### type == cGetAccessibleHypertextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleHypertextPackage))) { GetAccessibleHypertextPackage *pkg = (GetAccessibleHypertextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleHypertext( (jobject)pkg->accessibleContext, &(pkg->rAccessibleHypertextInfo)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleHypertextPackage)); } break; case cActivateAccessibleHyperlinkPackage: ! PrintDebugString(" ##### type == cActivateAccessibleHyperlinkPackage"); if (bufsize == (sizeof(PackageType) + sizeof(ActivateAccessibleHyperlinkPackage))) { ActivateAccessibleHyperlinkPackage *pkg = (ActivateAccessibleHyperlinkPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->activateAccessibleHyperlink( (jobject)pkg->accessibleContext, (jobject)pkg->accessibleHyperlink); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(ActivateAccessibleHyperlinkPackage)); } break; case cGetAccessibleHyperlinkCountPackage: ! PrintDebugString(" ##### type == cGetAccessibleHyperlinkCountPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleHyperlinkCountPackage))) { GetAccessibleHyperlinkCountPackage *pkg = (GetAccessibleHyperlinkCountPackage *) (buffer + sizeof(PackageType)); pkg->rLinkCount = windowsThreadEntryPoints->getAccessibleHyperlinkCount( (jobject)pkg->accessibleContext); ! PrintDebugString(" ##### processing succeeded: pkg->rLinkCount = %d", pkg->rLinkCount); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleHyperlinkCountPackage)); } break; case cGetAccessibleHypertextExtPackage: ! PrintDebugString(" ##### type == cGetAccessibleHypertextExtPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleHypertextExtPackage))) { GetAccessibleHypertextExtPackage *pkg = (GetAccessibleHypertextExtPackage *) (buffer + sizeof(PackageType)); pkg->rSuccess = windowsThreadEntryPoints->getAccessibleHypertextExt( (jobject)pkg->accessibleContext, pkg->startIndex, &(pkg->rAccessibleHypertextInfo)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleHypertextExtPackage)); } break; case cGetAccessibleHypertextLinkIndexPackage: ! PrintDebugString(" ##### type == cGetAccessibleHypertextLinkIndexPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleHypertextLinkIndexPackage))) { GetAccessibleHypertextLinkIndexPackage *pkg = (GetAccessibleHypertextLinkIndexPackage *) (buffer + sizeof(PackageType)); pkg->rLinkIndex = windowsThreadEntryPoints->getAccessibleHypertextLinkIndex( (jobject)pkg->hypertext, pkg->charIndex); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleHypertextLinkIndexPackage)); } break; case cGetAccessibleHyperlinkPackage: ! PrintDebugString(" ##### type == cGetAccessibleHyperlinkPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleHyperlinkPackage))) { GetAccessibleHyperlinkPackage *pkg = (GetAccessibleHyperlinkPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleHyperlink((jobject)pkg->hypertext, pkg->linkIndex, &(pkg->rAccessibleHyperlinkInfo)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleHyperlinkPackage)); } break; // ------------ end AccessibleHypertext packages // ------------ begin Accessible KeyBindings, Icons and Actions case cGetAccessibleKeyBindingsPackage: ! PrintDebugString(" ##### type == cGetAccessibleKeyBindingsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleKeyBindingsPackage))) { GetAccessibleKeyBindingsPackage *pkg = (GetAccessibleKeyBindingsPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleKeyBindings ( (jobject)pkg->accessibleContext, &(pkg->rAccessibleKeyBindings)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleKeyBindingsPackage)); } break; case cGetAccessibleIconsPackage: ! PrintDebugString(" ##### type == cGetAccessibleIconsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleIconsPackage))) { GetAccessibleIconsPackage *pkg = (GetAccessibleIconsPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleIcons ( (jobject)pkg->accessibleContext, &(pkg->rAccessibleIcons)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleIconsPackage)); } break; case cGetAccessibleActionsPackage: ! PrintDebugString(" ##### type == cGetAccessibleActionsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleActionsPackage))) { GetAccessibleActionsPackage *pkg = (GetAccessibleActionsPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleActions ( (jobject)pkg->accessibleContext, &(pkg->rAccessibleActions)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleActionsPackage)); } break; case cDoAccessibleActionsPackage: ! PrintDebugString(" ##### type == cDoAccessibleActionsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(DoAccessibleActionsPackage))) { DoAccessibleActionsPackage *pkg = (DoAccessibleActionsPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->doAccessibleActions((jobject)pkg->accessibleContext, &(pkg->actionsToDo), &(pkg->failure)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(DoAccessibleActionsPackage)); } break; // ------------ begin addtional methods for Teton case cGetVirtualAccessibleNamePackage: ! PrintDebugString(" ##### type == GetVirtualAccessibleNamePackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetVirtualAccessibleNamePackage))) { GetVirtualAccessibleNamePackage *pkg = (GetVirtualAccessibleNamePackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getVirtualAccessibleName ((const jobject)pkg->accessibleContext, pkg->rName, pkg->len); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetVirtualAccessibleNamePackage)); } break; case cRequestFocusPackage: ! PrintDebugString(" ##### type == RequestFocusPackage"); if (bufsize == (sizeof(PackageType) + sizeof(RequestFocusPackage))) { RequestFocusPackage *pkg = (RequestFocusPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->requestFocus ( (jobject)pkg->accessibleContext); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(RequestFocusPackage)); } break; case cSelectTextRangePackage: ! PrintDebugString(" ##### type == SelectTextRangePackage"); if (bufsize == (sizeof(PackageType) + sizeof(SelectTextRangePackage))) { SelectTextRangePackage *pkg = (SelectTextRangePackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->selectTextRange ( (jobject)pkg->accessibleContext, pkg->startIndex, pkg->endIndex); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(SelectTextRangePackage)); } break; case cGetTextAttributesInRangePackage: ! PrintDebugString(" ##### type == GetTextAttributesInRangePackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetTextAttributesInRangePackage))) { GetTextAttributesInRangePackage *pkg = (GetTextAttributesInRangePackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getTextAttributesInRange ( (jobject)pkg->accessibleContext, pkg->startIndex, pkg->endIndex, (AccessibleTextAttributesInfo *)&(pkg->attributes), &(pkg->rLength)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetTextAttributesInRangePackage)); } break; case cGetVisibleChildrenCountPackage: ! PrintDebugString(" ##### type == GetVisibleChildrenCountPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetVisibleChildrenCountPackage))) { GetVisibleChildrenCountPackage *pkg = (GetVisibleChildrenCountPackage *) (buffer + sizeof(PackageType)); pkg->rChildrenCount = windowsThreadEntryPoints->getVisibleChildrenCount ((jobject)pkg->accessibleContext); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetVisibleChildrenCountPackage)); } break; case cGetVisibleChildrenPackage: ! PrintDebugString(" ##### type == GetVisibleChildrenPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetVisibleChildrenPackage))) { GetVisibleChildrenPackage *pkg = (GetVisibleChildrenPackage *) (buffer + sizeof(PackageType)); pkg->rSuccess = windowsThreadEntryPoints->getVisibleChildren ((jobject)pkg->accessibleContext, pkg->startIndex, &(pkg->rVisibleChildrenInfo)); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetVisibleChildrenPackage)); } break; case cSetCaretPositionPackage: ! PrintDebugString(" ##### type == SetCaretPositionPackage"); if (bufsize == (sizeof(PackageType) + sizeof(SetCaretPositionPackage))) { SetCaretPositionPackage *pkg = (SetCaretPositionPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->setCaretPosition ( (jobject)pkg->accessibleContext, pkg->position); ! PrintDebugString(" ##### processing succeeded"); } else { ! PrintDebugString(" ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(SetCaretPositionPackage)); } break; // ------------ end additional methods for Teton --- 420,1189 ---- * to do IPC messaging with the Windows AccessBridge DLL * */ LRESULT JavaAccessBridge::processPackage(char *buffer, int bufsize) { ! PrintDebugString("[INFO]: Processing package sent from Windows, bufsize = %d:", bufsize); PackageType *type = (PackageType *) buffer; LRESULT returnVal = 0; ! PrintDebugString("[INFO]: PackageType = %X:", *type); jobject rAC; switch (*type) { case cMemoryMappedFileCreatedPackage: // Windows is telling us it created a memory mapped file for us to use // in repsonding to various information querying packages (see below) ! PrintDebugString("[INFO]: type == cMemoryMappedFileCreatedPackage"); if (bufsize == (sizeof(PackageType) + sizeof(MemoryMappedFileCreatedPackage))) { MemoryMappedFileCreatedPackage *pkg = (MemoryMappedFileCreatedPackage *) (buffer + sizeof(PackageType)); returnVal = MemoryMappedFileCreated((HWND)ABLongToHandle(pkg->bridgeWindow), pkg->filename); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(MemoryMappedFileCreatedPackage)); } break; // ------------ information querying packages ------------------ case cReleaseJavaObjectPackage: ! PrintDebugString("[INFO]: type == cReleaseJavaObjectPackage"); if (bufsize == (sizeof(PackageType) + sizeof(ReleaseJavaObjectPackage))) { ReleaseJavaObjectPackage *pkg = (ReleaseJavaObjectPackage *) (buffer + sizeof(PackageType)); releaseJavaObject((jobject)pkg->object); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(ReleaseJavaObjectPackage)); } break; case cGetAccessBridgeVersionPackage: ! PrintDebugString("[INFO]: type == cGetAccessBridgeVersionPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessBridgeVersionPackage))) { GetAccessBridgeVersionPackage *pkg = (GetAccessBridgeVersionPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getVersionInfo(&(pkg->rVersionInfo)); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessBridgeVersionPackage)); } break; case cIsJavaWindowPackage: ! PrintDebugString("[INFO]: type == cIsJavaWindowPackage"); if (bufsize == (sizeof(PackageType) + sizeof(IsJavaWindowPackage))) { IsJavaWindowPackage *pkg = (IsJavaWindowPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->isJavaWindow(pkg->window); ! PrintDebugString("[INFO]: -> returning result = %d", pkg->rResult); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(IsJavaWindowPackage)); } break; case cIsSameObjectPackage: ! PrintDebugString("[INFO]: type == cIsSameObjectPackage"); if (bufsize == (sizeof(PackageType) + sizeof(IsSameObjectPackage))) { IsSameObjectPackage *pkg = (IsSameObjectPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->isSameObject((jobject)pkg->obj1, (jobject)pkg->obj2); ! PrintDebugString("[INFO]: -> returning result = %d", pkg->rResult); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(IsSameObjectPackage)); } break; case cGetAccessibleContextFromHWNDPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleContextFromHWNDPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleContextFromHWNDPackage))) { GetAccessibleContextFromHWNDPackage *pkg = (GetAccessibleContextFromHWNDPackage *) (buffer + sizeof(PackageType)); rAC = windowsThreadEntryPoints->getAccessibleContextFromHWND(pkg->window); pkg->rAccessibleContext = (JOBJECT64)rAC; pkg->rVMID = HandleToLong(dialogWindow); ! PrintDebugString("[INFO]: -> returning AC = %p, vmID = %X", rAC, pkg->rVMID); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleContextFromHWNDPackage)); } break; case cGetHWNDFromAccessibleContextPackage: ! PrintDebugString("[INFO]: type == cGetHWNDFromAccessibleContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetHWNDFromAccessibleContextPackage))) { GetHWNDFromAccessibleContextPackage *pkg = (GetHWNDFromAccessibleContextPackage *) (buffer + sizeof(PackageType)); pkg->rHWND = ABHandleToLong( windowsThreadEntryPoints->getHWNDFromAccessibleContext((jobject)pkg->accessibleContext) ); ! PrintDebugString("[INFO]: -> returning HWND = %p", pkg->rHWND); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetHWNDFromAccessibleContextPackage)); } break; /* ===== utility methods ===== */ case cSetTextContentsPackage: ! PrintDebugString("[INFO]: type == cSetTextContentsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(SetTextContentsPackage))) { SetTextContentsPackage *pkg = (SetTextContentsPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->setTextContents((jobject)pkg->accessibleContext, pkg->text); ! PrintDebugString("[INFO]: -> returning result = %d", pkg->rResult); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(SetTextContentsPackage)); } break; case cGetParentWithRolePackage: if (bufsize == (sizeof(PackageType) + sizeof(GetParentWithRolePackage))) { GetParentWithRolePackage *pkg = (GetParentWithRolePackage *) (buffer + sizeof(PackageType)); rAC = windowsThreadEntryPoints->getParentWithRole((jobject)pkg->accessibleContext, pkg->role); pkg->rAccessibleContext = (JOBJECT64)rAC; ! PrintDebugString("[INFO]: type == cGetParentWithRolePackage\n"\ ! " pkg->vmID: %X"\ ! " pkg->accessibleContext: %p"\ ! " pkg->role: %ls"\ ! " -> returning rAccessibleContext = %p"\ ! , pkg->vmID, (jobject)pkg->accessibleContext, pkg->role, rAC); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetParentWithRolePackage)); } break; case cGetTopLevelObjectPackage: ! PrintDebugString("[INFO]: type == cGetTopLevelObjectPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetTopLevelObjectPackage))) { GetTopLevelObjectPackage *pkg = (GetTopLevelObjectPackage *) (buffer + sizeof(PackageType)); rAC = windowsThreadEntryPoints->getTopLevelObject((jobject)pkg->accessibleContext); pkg->rAccessibleContext = (JOBJECT64)rAC; ! PrintDebugString("[INFO]: -> returning rAccessibleContext = %p", rAC); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetTopLevelObjectPackage)); } break; case cGetParentWithRoleElseRootPackage: ! PrintDebugString("[INFO]: type == cGetParentWithRoleElseRootPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetParentWithRoleElseRootPackage))) { GetParentWithRoleElseRootPackage *pkg = (GetParentWithRoleElseRootPackage *) (buffer + sizeof(PackageType)); rAC = windowsThreadEntryPoints->getParentWithRoleElseRoot((jobject)pkg->accessibleContext, pkg->role); pkg->rAccessibleContext = (JOBJECT64)rAC; ! PrintDebugString("[INFO]: -> returning rAccessibleContext = %p", rAC); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetParentWithRoleElseRootPackage)); } break; case cGetObjectDepthPackage: ! PrintDebugString("[INFO]: type == cGetObjectDepthPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetObjectDepthPackage))) { GetObjectDepthPackage *pkg = (GetObjectDepthPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->getObjectDepth((jobject)pkg->accessibleContext); ! PrintDebugString("[INFO]: -> returning rResult = %d", pkg->rResult); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetObjectDepthPackage)); } break; case cGetActiveDescendentPackage: ! PrintDebugString("[INFO]: type == cGetActiveDescendentPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetActiveDescendentPackage))) { GetActiveDescendentPackage *pkg = (GetActiveDescendentPackage *) (buffer + sizeof(PackageType)); rAC = windowsThreadEntryPoints->getActiveDescendent((jobject)pkg->accessibleContext); pkg->rAccessibleContext = (JOBJECT64)rAC; ! PrintDebugString("[INFO]: -> returning rAccessibleContext = %p", rAC); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetActiveDescendentPackage)); } break; case cGetAccessibleContextAtPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleContextAtPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleContextAtPackage))) { GetAccessibleContextAtPackage *pkg = (GetAccessibleContextAtPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64) windowsThreadEntryPoints->getAccessibleContextAt(pkg->x, pkg->y, (jobject)pkg->AccessibleContext); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleContextAtPackage)); } break; case cGetAccessibleContextWithFocusPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleContextWithFocusPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleContextWithFocusPackage))) { GetAccessibleContextWithFocusPackage *pkg = (GetAccessibleContextWithFocusPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64) windowsThreadEntryPoints->getAccessibleContextWithFocus(); pkg->rVMID = HandleToLong(dialogWindow); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleContextWithFocusPackage)); } break; case cGetAccessibleContextInfoPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleContextInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleContextInfoPackage))) { GetAccessibleContextInfoPackage *pkg = (GetAccessibleContextInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleContextInfo( (jobject)pkg->AccessibleContext, &(pkg->rAccessibleContextInfo)); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleContextInfoPackage)); } break; case cGetAccessibleChildFromContextPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleChildFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleChildFromContextPackage))) { GetAccessibleChildFromContextPackage *pkg = (GetAccessibleChildFromContextPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64)windowsThreadEntryPoints->getAccessibleChildFromContext( (jobject)pkg->AccessibleContext, pkg->childIndex); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleChildFromContextPackage)); } break; case cGetAccessibleParentFromContextPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleParentFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleParentFromContextPackage))) { GetAccessibleParentFromContextPackage *pkg = (GetAccessibleParentFromContextPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64)windowsThreadEntryPoints->getAccessibleParentFromContext( (jobject)pkg->AccessibleContext); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleParentFromContextPackage)); } break; // ------------ begin AccessibleTable packages ------------------ case cGetAccessibleTableInfoPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableInfoPackage))) { GetAccessibleTableInfoPackage *pkg = (GetAccessibleTableInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTableInfo((jobject)pkg->accessibleContext, &(pkg->rTableInfo)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableInfoPackage)); } break; case cGetAccessibleTableCellInfoPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableCellInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableCellInfoPackage))) { GetAccessibleTableCellInfoPackage *pkg = (GetAccessibleTableCellInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTableCellInfo((jobject)pkg->accessibleTable, pkg->row, pkg->column, &(pkg->rTableCellInfo)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableCellInfoPackage)); } break; case cGetAccessibleTableRowHeaderPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableRowHeaderPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableRowHeaderPackage))) { GetAccessibleTableRowHeaderPackage *pkg = (GetAccessibleTableRowHeaderPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTableRowHeader((jobject)pkg->accessibleContext, &(pkg->rTableInfo)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableRowHeaderPackage)); } break; case cGetAccessibleTableColumnHeaderPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableColumnHeaderPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableColumnHeaderPackage))) { GetAccessibleTableColumnHeaderPackage *pkg = (GetAccessibleTableColumnHeaderPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTableColumnHeader((jobject)pkg->accessibleContext, &(pkg->rTableInfo)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableColumnHeaderPackage)); } break; case cGetAccessibleTableRowDescriptionPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableRowDescriptionPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableRowDescriptionPackage))) { GetAccessibleTableRowDescriptionPackage *pkg = (GetAccessibleTableRowDescriptionPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64)windowsThreadEntryPoints->getAccessibleTableRowDescription( (jobject)pkg->accessibleContext, pkg->row); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableRowDescriptionPackage)); } break; case cGetAccessibleTableColumnDescriptionPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableColumnDescriptionPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableColumnDescriptionPackage))) { GetAccessibleTableColumnDescriptionPackage *pkg = (GetAccessibleTableColumnDescriptionPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64)windowsThreadEntryPoints->getAccessibleTableColumnDescription( (jobject)pkg->accessibleContext, pkg->column); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableColumnDescriptionPackage)); } break; case cGetAccessibleTableColumnSelectionCountPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableColumnSelectionCountPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableColumnSelectionCountPackage))) { GetAccessibleTableColumnSelectionCountPackage *pkg = (GetAccessibleTableColumnSelectionCountPackage *) (buffer + sizeof(PackageType)); pkg->rCount = windowsThreadEntryPoints->getAccessibleTableColumnSelectionCount( (jobject)pkg->accessibleTable); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableColumnSelectionCountPackage)); } break; case cGetAccessibleTableRowSelectionCountPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableRowSelectionCountPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableRowSelectionCountPackage))) { GetAccessibleTableRowSelectionCountPackage *pkg = (GetAccessibleTableRowSelectionCountPackage *) (buffer + sizeof(PackageType)); pkg->rCount = windowsThreadEntryPoints->getAccessibleTableRowSelectionCount( (jobject)pkg->accessibleTable); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableRowSelectionCountPackage)); } break; case cIsAccessibleTableRowSelectedPackage: ! PrintDebugString("[INFO]: ##### type == cIsAccessibleTableRowSelectedPackage"); if (bufsize == (sizeof(PackageType) + sizeof(IsAccessibleTableRowSelectedPackage))) { IsAccessibleTableRowSelectedPackage *pkg = (IsAccessibleTableRowSelectedPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->isAccessibleTableRowSelected( (jobject)pkg->accessibleTable, pkg->row); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(IsAccessibleTableRowSelectedPackage)); } break; case cIsAccessibleTableColumnSelectedPackage: ! PrintDebugString("[INFO]: ##### type == cIsAccessibleTableColumnSelectedPackage"); if (bufsize == (sizeof(PackageType) + sizeof(IsAccessibleTableColumnSelectedPackage))) { IsAccessibleTableColumnSelectedPackage *pkg = (IsAccessibleTableColumnSelectedPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->isAccessibleTableColumnSelected( (jobject)pkg->accessibleTable, pkg->column); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(IsAccessibleTableColumnSelectedPackage)); } break; case cGetAccessibleTableColumnSelectionsPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableColumnSelectionsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableColumnSelectionsPackage))) { GetAccessibleTableColumnSelectionsPackage *pkg = (GetAccessibleTableColumnSelectionsPackage *) (buffer + sizeof(PackageType)); ! PrintDebugString("[INFO]: ##### cGetAccessibleTableColumnSelectionsPackage count=%d", pkg->count); windowsThreadEntryPoints->getAccessibleTableColumnSelections( (jobject)pkg->accessibleTable, pkg->count, pkg->rSelections); for (int i = 0; i < pkg->count; i++) { ! PrintDebugString("[INFO]: ##### cGetAccessibleTableColumnSelectionsPackage(%d)=%d", i, pkg->rSelections[i]); } ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableColumnSelectionsPackage)); } break; case cGetAccessibleTableRowSelectionsPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableRowSelectionsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableRowSelectionsPackage))) { GetAccessibleTableRowSelectionsPackage *pkg = (GetAccessibleTableRowSelectionsPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTableRowSelections( (jobject)pkg->accessibleTable, pkg->count, pkg->rSelections); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableRowSelectionsPackage)); } break; case cGetAccessibleTableRowPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableRowPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableRowPackage))) { GetAccessibleTableRowPackage *pkg = (GetAccessibleTableRowPackage *) (buffer + sizeof(PackageType)); pkg->rRow = windowsThreadEntryPoints->getAccessibleTableRow( (jobject)pkg->accessibleTable, pkg->index); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableRowPackage)); } break; case cGetAccessibleTableColumnPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableColumnPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableColumnPackage))) { GetAccessibleTableColumnPackage *pkg = (GetAccessibleTableColumnPackage *) (buffer + sizeof(PackageType)); pkg->rColumn = windowsThreadEntryPoints->getAccessibleTableColumn( (jobject)pkg->accessibleTable, pkg->index); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableColumnPackage)); } break; case cGetAccessibleTableIndexPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleTableIndexPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTableIndexPackage))) { GetAccessibleTableIndexPackage *pkg = (GetAccessibleTableIndexPackage *) (buffer + sizeof(PackageType)); pkg->rIndex = windowsThreadEntryPoints->getAccessibleTableIndex( (jobject)pkg->accessibleTable, pkg->row, pkg->column); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTableIndexPackage)); } break; // ------------ end AccessibleTable packages ------------------ // ------------ begin AccessibleRelationSet packages ------------------ case cGetAccessibleRelationSetPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleRelationSetPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleRelationSetPackage))) { GetAccessibleRelationSetPackage *pkg = (GetAccessibleRelationSetPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleRelationSet( (jobject)pkg->accessibleContext, &(pkg->rAccessibleRelationSetInfo)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleRelationSetPackage)); } break; // ------------ end AccessibleRelationSet packages ------------------ // ------------ begin AccessibleHypertext packages ------------------ case cGetAccessibleHypertextPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleHypertextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleHypertextPackage))) { GetAccessibleHypertextPackage *pkg = (GetAccessibleHypertextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleHypertext( (jobject)pkg->accessibleContext, &(pkg->rAccessibleHypertextInfo)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleHypertextPackage)); } break; case cActivateAccessibleHyperlinkPackage: ! PrintDebugString("[INFO]: ##### type == cActivateAccessibleHyperlinkPackage"); if (bufsize == (sizeof(PackageType) + sizeof(ActivateAccessibleHyperlinkPackage))) { ActivateAccessibleHyperlinkPackage *pkg = (ActivateAccessibleHyperlinkPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->activateAccessibleHyperlink( (jobject)pkg->accessibleContext, (jobject)pkg->accessibleHyperlink); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(ActivateAccessibleHyperlinkPackage)); } break; case cGetAccessibleHyperlinkCountPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleHyperlinkCountPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleHyperlinkCountPackage))) { GetAccessibleHyperlinkCountPackage *pkg = (GetAccessibleHyperlinkCountPackage *) (buffer + sizeof(PackageType)); pkg->rLinkCount = windowsThreadEntryPoints->getAccessibleHyperlinkCount( (jobject)pkg->accessibleContext); ! PrintDebugString("[INFO]: ##### processing succeeded: pkg->rLinkCount = %d", pkg->rLinkCount); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleHyperlinkCountPackage)); } break; case cGetAccessibleHypertextExtPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleHypertextExtPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleHypertextExtPackage))) { GetAccessibleHypertextExtPackage *pkg = (GetAccessibleHypertextExtPackage *) (buffer + sizeof(PackageType)); pkg->rSuccess = windowsThreadEntryPoints->getAccessibleHypertextExt( (jobject)pkg->accessibleContext, pkg->startIndex, &(pkg->rAccessibleHypertextInfo)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleHypertextExtPackage)); } break; case cGetAccessibleHypertextLinkIndexPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleHypertextLinkIndexPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleHypertextLinkIndexPackage))) { GetAccessibleHypertextLinkIndexPackage *pkg = (GetAccessibleHypertextLinkIndexPackage *) (buffer + sizeof(PackageType)); pkg->rLinkIndex = windowsThreadEntryPoints->getAccessibleHypertextLinkIndex( (jobject)pkg->hypertext, pkg->charIndex); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleHypertextLinkIndexPackage)); } break; case cGetAccessibleHyperlinkPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleHyperlinkPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleHyperlinkPackage))) { GetAccessibleHyperlinkPackage *pkg = (GetAccessibleHyperlinkPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleHyperlink((jobject)pkg->hypertext, pkg->linkIndex, &(pkg->rAccessibleHyperlinkInfo)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleHyperlinkPackage)); } break; // ------------ end AccessibleHypertext packages // ------------ begin Accessible KeyBindings, Icons and Actions case cGetAccessibleKeyBindingsPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleKeyBindingsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleKeyBindingsPackage))) { GetAccessibleKeyBindingsPackage *pkg = (GetAccessibleKeyBindingsPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleKeyBindings ( (jobject)pkg->accessibleContext, &(pkg->rAccessibleKeyBindings)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleKeyBindingsPackage)); } break; case cGetAccessibleIconsPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleIconsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleIconsPackage))) { GetAccessibleIconsPackage *pkg = (GetAccessibleIconsPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleIcons ( (jobject)pkg->accessibleContext, &(pkg->rAccessibleIcons)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleIconsPackage)); } break; case cGetAccessibleActionsPackage: ! PrintDebugString("[INFO]: ##### type == cGetAccessibleActionsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleActionsPackage))) { GetAccessibleActionsPackage *pkg = (GetAccessibleActionsPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleActions ( (jobject)pkg->accessibleContext, &(pkg->rAccessibleActions)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleActionsPackage)); } break; case cDoAccessibleActionsPackage: ! PrintDebugString("[INFO]: ##### type == cDoAccessibleActionsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(DoAccessibleActionsPackage))) { DoAccessibleActionsPackage *pkg = (DoAccessibleActionsPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->doAccessibleActions((jobject)pkg->accessibleContext, &(pkg->actionsToDo), &(pkg->failure)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(DoAccessibleActionsPackage)); } break; // ------------ begin addtional methods for Teton case cGetVirtualAccessibleNamePackage: ! PrintDebugString("[INFO]: ##### type == GetVirtualAccessibleNamePackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetVirtualAccessibleNamePackage))) { GetVirtualAccessibleNamePackage *pkg = (GetVirtualAccessibleNamePackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getVirtualAccessibleName ((const jobject)pkg->accessibleContext, pkg->rName, pkg->len); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetVirtualAccessibleNamePackage)); } break; case cRequestFocusPackage: ! PrintDebugString("[INFO]: ##### type == RequestFocusPackage"); if (bufsize == (sizeof(PackageType) + sizeof(RequestFocusPackage))) { RequestFocusPackage *pkg = (RequestFocusPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->requestFocus ( (jobject)pkg->accessibleContext); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(RequestFocusPackage)); } break; case cSelectTextRangePackage: ! PrintDebugString("[INFO]: ##### type == SelectTextRangePackage"); if (bufsize == (sizeof(PackageType) + sizeof(SelectTextRangePackage))) { SelectTextRangePackage *pkg = (SelectTextRangePackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->selectTextRange ( (jobject)pkg->accessibleContext, pkg->startIndex, pkg->endIndex); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(SelectTextRangePackage)); } break; case cGetTextAttributesInRangePackage: ! PrintDebugString("[INFO]: ##### type == GetTextAttributesInRangePackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetTextAttributesInRangePackage))) { GetTextAttributesInRangePackage *pkg = (GetTextAttributesInRangePackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getTextAttributesInRange ( (jobject)pkg->accessibleContext, pkg->startIndex, pkg->endIndex, (AccessibleTextAttributesInfo *)&(pkg->attributes), &(pkg->rLength)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetTextAttributesInRangePackage)); } break; case cGetVisibleChildrenCountPackage: ! PrintDebugString("[INFO]: ##### type == GetVisibleChildrenCountPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetVisibleChildrenCountPackage))) { GetVisibleChildrenCountPackage *pkg = (GetVisibleChildrenCountPackage *) (buffer + sizeof(PackageType)); pkg->rChildrenCount = windowsThreadEntryPoints->getVisibleChildrenCount ((jobject)pkg->accessibleContext); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetVisibleChildrenCountPackage)); } break; case cGetVisibleChildrenPackage: ! PrintDebugString("[INFO]: ##### type == GetVisibleChildrenPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetVisibleChildrenPackage))) { GetVisibleChildrenPackage *pkg = (GetVisibleChildrenPackage *) (buffer + sizeof(PackageType)); pkg->rSuccess = windowsThreadEntryPoints->getVisibleChildren ((jobject)pkg->accessibleContext, pkg->startIndex, &(pkg->rVisibleChildrenInfo)); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetVisibleChildrenPackage)); } break; case cSetCaretPositionPackage: ! PrintDebugString("[INFO]: ##### type == SetCaretPositionPackage"); if (bufsize == (sizeof(PackageType) + sizeof(SetCaretPositionPackage))) { SetCaretPositionPackage *pkg = (SetCaretPositionPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->setCaretPosition ( (jobject)pkg->accessibleContext, pkg->position); ! PrintDebugString("[INFO]: ##### processing succeeded"); } else { ! PrintDebugString("[ERROR]: ##### processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(SetCaretPositionPackage)); } break; // ------------ end additional methods for Teton
*** 1188,1491 **** // ------------ end Accessible KeyBindings, Icons and Actions // ------------ Accessible Text packages ------------------ case cGetAccessibleTextInfoPackage: ! PrintDebugString(" type == cGetAccessibleTextInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextInfoPackage))) { GetAccessibleTextInfoPackage *pkg = (GetAccessibleTextInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextInfo((jobject)pkg->AccessibleContext, &(pkg->rTextInfo), pkg->x, pkg->y); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextInfoPackage)); } break; case cGetAccessibleTextItemsPackage: ! PrintDebugString(" type == cGetAccessibleTextItemsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextItemsPackage))) { GetAccessibleTextItemsPackage *pkg = (GetAccessibleTextItemsPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextItems((jobject)pkg->AccessibleContext, &(pkg->rTextItemsInfo), pkg->index); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextInfoPackage)); } break; case cGetAccessibleTextSelectionInfoPackage: ! PrintDebugString(" type == cGetAccessibleTextSelectionInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextSelectionInfoPackage))) { GetAccessibleTextSelectionInfoPackage *pkg = (GetAccessibleTextSelectionInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextSelectionInfo( (jobject)pkg->AccessibleContext, &(pkg->rTextSelectionItemsInfo)); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextSelectionInfoPackage)); } break; case cGetAccessibleTextAttributeInfoPackage: ! PrintDebugString(" type == cGetAccessibleTextAttributeInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextAttributeInfoPackage))) { GetAccessibleTextAttributeInfoPackage *pkg = (GetAccessibleTextAttributeInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextAttributes( (jobject)pkg->AccessibleContext, pkg->index, (AccessibleTextAttributesInfo *) &(pkg->rAttributeInfo)); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextAttributeInfoPackage)); } break; case cGetAccessibleTextRectInfoPackage: ! PrintDebugString(" type == cGetAccessibleTextRectInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextRectInfoPackage))) { GetAccessibleTextRectInfoPackage *pkg = (GetAccessibleTextRectInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextRect((jobject)pkg->AccessibleContext, &(pkg->rTextRectInfo), pkg->index); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextRectInfoPackage)); } break; case cGetCaretLocationPackage: ! PrintDebugString(" type == cGetCaretLocationPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetCaretLocationPackage))) { GetCaretLocationPackage *pkg = (GetCaretLocationPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getCaretLocation((jobject)pkg->AccessibleContext, &(pkg->rTextRectInfo), pkg->index); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetCaretLocationPackage)); } break; case cGetAccessibleTextLineBoundsPackage: ! PrintDebugString(" type == cGetAccessibleTextLineBoundsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextLineBoundsPackage))) { GetAccessibleTextLineBoundsPackage *pkg = (GetAccessibleTextLineBoundsPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextLineBounds((jobject)pkg->AccessibleContext, pkg->index, &(pkg->rLineStart), &(pkg->rLineEnd)); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextLineBoundsPackage)); } break; case cGetAccessibleTextRangePackage: ! PrintDebugString(" type == cGetAccessibleTextRangePackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextRangePackage))) { GetAccessibleTextRangePackage *pkg = (GetAccessibleTextRangePackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextRange((jobject)pkg->AccessibleContext, pkg->start, pkg->end, (wchar_t *) &(pkg->rText), (sizeof(pkg->rText) / sizeof(wchar_t))); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextRangePackage)); } break; // ------------ Accessible Value packages ------------------ case cGetCurrentAccessibleValueFromContextPackage: ! PrintDebugString(" type == cGetCurrentAccessibleValueFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetCurrentAccessibleValueFromContextPackage))) { GetCurrentAccessibleValueFromContextPackage *pkg = (GetCurrentAccessibleValueFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getCurrentAccessibleValueFromContext((jobject)pkg->AccessibleContext, (wchar_t *) &(pkg->rValue), (sizeof(pkg->rValue) / sizeof(wchar_t))); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetCurrentAccessibleValueFromContextPackage)); } break; case cGetMaximumAccessibleValueFromContextPackage: ! PrintDebugString(" type == cGetMaximumAccessibleValueFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetMaximumAccessibleValueFromContextPackage))) { GetMaximumAccessibleValueFromContextPackage *pkg = (GetMaximumAccessibleValueFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getMaximumAccessibleValueFromContext((jobject)pkg->AccessibleContext, (wchar_t *) &(pkg->rValue), (sizeof(pkg->rValue) / sizeof(wchar_t))); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetMaximumAccessibleValueFromContextPackage)); } break; case cGetMinimumAccessibleValueFromContextPackage: ! PrintDebugString(" type == cGetMinimumAccessibleValueFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetMinimumAccessibleValueFromContextPackage))) { GetMinimumAccessibleValueFromContextPackage *pkg = (GetMinimumAccessibleValueFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getMinimumAccessibleValueFromContext((jobject)pkg->AccessibleContext, (wchar_t *) &(pkg->rValue), (sizeof(pkg->rValue) / sizeof(wchar_t))); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetMinimumAccessibleValueFromContextPackage)); } break; // ------------ Accessible Selection packages ------------------ case cAddAccessibleSelectionFromContextPackage: ! PrintDebugString(" type == cAddAccessibleSelectionFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(AddAccessibleSelectionFromContextPackage))) { AddAccessibleSelectionFromContextPackage *pkg = (AddAccessibleSelectionFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->addAccessibleSelectionFromContext((jobject)pkg->AccessibleContext, pkg->index); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(AddAccessibleSelectionFromContextPackage)); } break; case cClearAccessibleSelectionFromContextPackage: ! PrintDebugString(" type == cClearAccessibleSelectionFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(ClearAccessibleSelectionFromContextPackage))) { ClearAccessibleSelectionFromContextPackage *pkg = (ClearAccessibleSelectionFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->clearAccessibleSelectionFromContext((jobject)pkg->AccessibleContext); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(ClearAccessibleSelectionFromContextPackage)); } break; case cGetAccessibleSelectionFromContextPackage: ! PrintDebugString(" type == cGetAccessibleSelectionFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleSelectionFromContextPackage))) { GetAccessibleSelectionFromContextPackage *pkg = (GetAccessibleSelectionFromContextPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64)windowsThreadEntryPoints->getAccessibleSelectionFromContext( (jobject)pkg->AccessibleContext, pkg->index); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleSelectionFromContextPackage)); } break; case cGetAccessibleSelectionCountFromContextPackage: ! PrintDebugString(" type == cGetAccessibleSelectionCountFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleSelectionCountFromContextPackage))) { GetAccessibleSelectionCountFromContextPackage *pkg = (GetAccessibleSelectionCountFromContextPackage *) (buffer + sizeof(PackageType)); pkg->rCount = windowsThreadEntryPoints->getAccessibleSelectionCountFromContext( (jobject)pkg->AccessibleContext); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleSelectionCountFromContextPackage)); } break; case cIsAccessibleChildSelectedFromContextPackage: ! PrintDebugString(" type == cIsAccessibleChildSelectedFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(IsAccessibleChildSelectedFromContextPackage))) { IsAccessibleChildSelectedFromContextPackage *pkg = (IsAccessibleChildSelectedFromContextPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->isAccessibleChildSelectedFromContext( (jobject)pkg->AccessibleContext, pkg->index); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(IsAccessibleChildSelectedFromContextPackage)); } break; case cRemoveAccessibleSelectionFromContextPackage: ! PrintDebugString(" type == cRemoveAccessibleSelectionFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(RemoveAccessibleSelectionFromContextPackage))) { RemoveAccessibleSelectionFromContextPackage *pkg = (RemoveAccessibleSelectionFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->removeAccessibleSelectionFromContext((jobject)pkg->AccessibleContext, pkg->index); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(RemoveAccessibleSelectionFromContextPackage)); } break; case cSelectAllAccessibleSelectionFromContextPackage: ! PrintDebugString(" type == cSelectAllAccessibleSelectionFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(SelectAllAccessibleSelectionFromContextPackage))) { SelectAllAccessibleSelectionFromContextPackage *pkg = (SelectAllAccessibleSelectionFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->selectAllAccessibleSelectionFromContext((jobject)pkg->AccessibleContext); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(SelectAllAccessibleSelectionFromContextPackage)); } break; // ------------ event notification management packages ------------------ case cAddJavaEventNotificationPackage: ! PrintDebugString(" type = cAddJavaEventNotificationPackage"); if (bufsize == (sizeof(PackageType) + sizeof(AddJavaEventNotificationPackage))) { AddJavaEventNotificationPackage *pkg = (AddJavaEventNotificationPackage *) (buffer + sizeof(PackageType)); addJavaEventNotification(pkg->type, (HWND)ABLongToHandle( pkg->DLLwindow ) ); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(AddJavaEventNotificationPackage)); } break; case cRemoveJavaEventNotificationPackage: ! PrintDebugString(" type = cRemoveJavaEventNotificationPackage"); if (bufsize == (sizeof(PackageType) + sizeof(RemoveJavaEventNotificationPackage))) { RemoveJavaEventNotificationPackage *pkg = (RemoveJavaEventNotificationPackage *) (buffer + sizeof(PackageType)); removeJavaEventNotification(pkg->type, (HWND)ABLongToHandle( pkg->DLLwindow )); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(RemoveJavaEventNotificationPackage)); } break; case cAddAccessibilityEventNotificationPackage: ! PrintDebugString(" type = cAddAccessibilityEventNotificationPackage"); if (bufsize == (sizeof(PackageType) + sizeof(AddAccessibilityEventNotificationPackage))) { AddAccessibilityEventNotificationPackage *pkg = (AddAccessibilityEventNotificationPackage *) (buffer + sizeof(PackageType)); addAccessibilityEventNotification(pkg->type, (HWND)ABLongToHandle(pkg->DLLwindow)); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(AddAccessibilityEventNotificationPackage)); } break; case cRemoveAccessibilityEventNotificationPackage: ! PrintDebugString(" type = cRemoveAccessibilityEventNotificationPackage"); if (bufsize == (sizeof(PackageType) + sizeof(RemoveAccessibilityEventNotificationPackage))) { RemoveAccessibilityEventNotificationPackage *pkg = (RemoveAccessibilityEventNotificationPackage *) (buffer + sizeof(PackageType)); removeAccessibilityEventNotification(pkg->type, (HWND)ABLongToHandle(pkg->DLLwindow)); } else { ! PrintDebugString(" processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(RemoveAccessibilityEventNotificationPackage)); } break; default: ! PrintDebugString(" processing FAILED!! -> don't know how to handle type = %X", *type); returnVal = -1; break; } ! PrintDebugString(" package processing completed"); return returnVal; } // ----------------------------- --- 1191,1494 ---- // ------------ end Accessible KeyBindings, Icons and Actions // ------------ Accessible Text packages ------------------ case cGetAccessibleTextInfoPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleTextInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextInfoPackage))) { GetAccessibleTextInfoPackage *pkg = (GetAccessibleTextInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextInfo((jobject)pkg->AccessibleContext, &(pkg->rTextInfo), pkg->x, pkg->y); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextInfoPackage)); } break; case cGetAccessibleTextItemsPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleTextItemsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextItemsPackage))) { GetAccessibleTextItemsPackage *pkg = (GetAccessibleTextItemsPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextItems((jobject)pkg->AccessibleContext, &(pkg->rTextItemsInfo), pkg->index); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextInfoPackage)); } break; case cGetAccessibleTextSelectionInfoPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleTextSelectionInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextSelectionInfoPackage))) { GetAccessibleTextSelectionInfoPackage *pkg = (GetAccessibleTextSelectionInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextSelectionInfo( (jobject)pkg->AccessibleContext, &(pkg->rTextSelectionItemsInfo)); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextSelectionInfoPackage)); } break; case cGetAccessibleTextAttributeInfoPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleTextAttributeInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextAttributeInfoPackage))) { GetAccessibleTextAttributeInfoPackage *pkg = (GetAccessibleTextAttributeInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextAttributes( (jobject)pkg->AccessibleContext, pkg->index, (AccessibleTextAttributesInfo *) &(pkg->rAttributeInfo)); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextAttributeInfoPackage)); } break; case cGetAccessibleTextRectInfoPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleTextRectInfoPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextRectInfoPackage))) { GetAccessibleTextRectInfoPackage *pkg = (GetAccessibleTextRectInfoPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextRect((jobject)pkg->AccessibleContext, &(pkg->rTextRectInfo), pkg->index); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextRectInfoPackage)); } break; case cGetCaretLocationPackage: ! PrintDebugString("[INFO]: type == cGetCaretLocationPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetCaretLocationPackage))) { GetCaretLocationPackage *pkg = (GetCaretLocationPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getCaretLocation((jobject)pkg->AccessibleContext, &(pkg->rTextRectInfo), pkg->index); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetCaretLocationPackage)); } break; case cGetAccessibleTextLineBoundsPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleTextLineBoundsPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextLineBoundsPackage))) { GetAccessibleTextLineBoundsPackage *pkg = (GetAccessibleTextLineBoundsPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextLineBounds((jobject)pkg->AccessibleContext, pkg->index, &(pkg->rLineStart), &(pkg->rLineEnd)); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextLineBoundsPackage)); } break; case cGetAccessibleTextRangePackage: ! PrintDebugString("[INFO]: type == cGetAccessibleTextRangePackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleTextRangePackage))) { GetAccessibleTextRangePackage *pkg = (GetAccessibleTextRangePackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getAccessibleTextRange((jobject)pkg->AccessibleContext, pkg->start, pkg->end, (wchar_t *) &(pkg->rText), (sizeof(pkg->rText) / sizeof(wchar_t))); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleTextRangePackage)); } break; // ------------ Accessible Value packages ------------------ case cGetCurrentAccessibleValueFromContextPackage: ! PrintDebugString("[INFO]: type == cGetCurrentAccessibleValueFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetCurrentAccessibleValueFromContextPackage))) { GetCurrentAccessibleValueFromContextPackage *pkg = (GetCurrentAccessibleValueFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getCurrentAccessibleValueFromContext((jobject)pkg->AccessibleContext, (wchar_t *) &(pkg->rValue), (sizeof(pkg->rValue) / sizeof(wchar_t))); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetCurrentAccessibleValueFromContextPackage)); } break; case cGetMaximumAccessibleValueFromContextPackage: ! PrintDebugString("[INFO]: type == cGetMaximumAccessibleValueFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetMaximumAccessibleValueFromContextPackage))) { GetMaximumAccessibleValueFromContextPackage *pkg = (GetMaximumAccessibleValueFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getMaximumAccessibleValueFromContext((jobject)pkg->AccessibleContext, (wchar_t *) &(pkg->rValue), (sizeof(pkg->rValue) / sizeof(wchar_t))); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetMaximumAccessibleValueFromContextPackage)); } break; case cGetMinimumAccessibleValueFromContextPackage: ! PrintDebugString("[INFO]: type == cGetMinimumAccessibleValueFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetMinimumAccessibleValueFromContextPackage))) { GetMinimumAccessibleValueFromContextPackage *pkg = (GetMinimumAccessibleValueFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->getMinimumAccessibleValueFromContext((jobject)pkg->AccessibleContext, (wchar_t *) &(pkg->rValue), (sizeof(pkg->rValue) / sizeof(wchar_t))); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetMinimumAccessibleValueFromContextPackage)); } break; // ------------ Accessible Selection packages ------------------ case cAddAccessibleSelectionFromContextPackage: ! PrintDebugString("[INFO]: type == cAddAccessibleSelectionFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(AddAccessibleSelectionFromContextPackage))) { AddAccessibleSelectionFromContextPackage *pkg = (AddAccessibleSelectionFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->addAccessibleSelectionFromContext((jobject)pkg->AccessibleContext, pkg->index); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(AddAccessibleSelectionFromContextPackage)); } break; case cClearAccessibleSelectionFromContextPackage: ! PrintDebugString("[INFO]: type == cClearAccessibleSelectionFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(ClearAccessibleSelectionFromContextPackage))) { ClearAccessibleSelectionFromContextPackage *pkg = (ClearAccessibleSelectionFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->clearAccessibleSelectionFromContext((jobject)pkg->AccessibleContext); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(ClearAccessibleSelectionFromContextPackage)); } break; case cGetAccessibleSelectionFromContextPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleSelectionFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleSelectionFromContextPackage))) { GetAccessibleSelectionFromContextPackage *pkg = (GetAccessibleSelectionFromContextPackage *) (buffer + sizeof(PackageType)); pkg->rAccessibleContext = (JOBJECT64)windowsThreadEntryPoints->getAccessibleSelectionFromContext( (jobject)pkg->AccessibleContext, pkg->index); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleSelectionFromContextPackage)); } break; case cGetAccessibleSelectionCountFromContextPackage: ! PrintDebugString("[INFO]: type == cGetAccessibleSelectionCountFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(GetAccessibleSelectionCountFromContextPackage))) { GetAccessibleSelectionCountFromContextPackage *pkg = (GetAccessibleSelectionCountFromContextPackage *) (buffer + sizeof(PackageType)); pkg->rCount = windowsThreadEntryPoints->getAccessibleSelectionCountFromContext( (jobject)pkg->AccessibleContext); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(GetAccessibleSelectionCountFromContextPackage)); } break; case cIsAccessibleChildSelectedFromContextPackage: ! PrintDebugString("[INFO]: type == cIsAccessibleChildSelectedFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(IsAccessibleChildSelectedFromContextPackage))) { IsAccessibleChildSelectedFromContextPackage *pkg = (IsAccessibleChildSelectedFromContextPackage *) (buffer + sizeof(PackageType)); pkg->rResult = windowsThreadEntryPoints->isAccessibleChildSelectedFromContext( (jobject)pkg->AccessibleContext, pkg->index); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(IsAccessibleChildSelectedFromContextPackage)); } break; case cRemoveAccessibleSelectionFromContextPackage: ! PrintDebugString("[INFO]: type == cRemoveAccessibleSelectionFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(RemoveAccessibleSelectionFromContextPackage))) { RemoveAccessibleSelectionFromContextPackage *pkg = (RemoveAccessibleSelectionFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->removeAccessibleSelectionFromContext((jobject)pkg->AccessibleContext, pkg->index); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(RemoveAccessibleSelectionFromContextPackage)); } break; case cSelectAllAccessibleSelectionFromContextPackage: ! PrintDebugString("[INFO]: type == cSelectAllAccessibleSelectionFromContextPackage"); if (bufsize == (sizeof(PackageType) + sizeof(SelectAllAccessibleSelectionFromContextPackage))) { SelectAllAccessibleSelectionFromContextPackage *pkg = (SelectAllAccessibleSelectionFromContextPackage *) (buffer + sizeof(PackageType)); windowsThreadEntryPoints->selectAllAccessibleSelectionFromContext((jobject)pkg->AccessibleContext); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(SelectAllAccessibleSelectionFromContextPackage)); } break; // ------------ event notification management packages ------------------ case cAddJavaEventNotificationPackage: ! PrintDebugString("[INFO]: type = cAddJavaEventNotificationPackage"); if (bufsize == (sizeof(PackageType) + sizeof(AddJavaEventNotificationPackage))) { AddJavaEventNotificationPackage *pkg = (AddJavaEventNotificationPackage *) (buffer + sizeof(PackageType)); addJavaEventNotification(pkg->type, (HWND)ABLongToHandle( pkg->DLLwindow ) ); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(AddJavaEventNotificationPackage)); } break; case cRemoveJavaEventNotificationPackage: ! PrintDebugString("[INFO]: type = cRemoveJavaEventNotificationPackage"); if (bufsize == (sizeof(PackageType) + sizeof(RemoveJavaEventNotificationPackage))) { RemoveJavaEventNotificationPackage *pkg = (RemoveJavaEventNotificationPackage *) (buffer + sizeof(PackageType)); removeJavaEventNotification(pkg->type, (HWND)ABLongToHandle( pkg->DLLwindow )); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(RemoveJavaEventNotificationPackage)); } break; case cAddAccessibilityEventNotificationPackage: ! PrintDebugString("[INFO]: type = cAddAccessibilityEventNotificationPackage"); if (bufsize == (sizeof(PackageType) + sizeof(AddAccessibilityEventNotificationPackage))) { AddAccessibilityEventNotificationPackage *pkg = (AddAccessibilityEventNotificationPackage *) (buffer + sizeof(PackageType)); addAccessibilityEventNotification(pkg->type, (HWND)ABLongToHandle(pkg->DLLwindow)); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(AddAccessibilityEventNotificationPackage)); } break; case cRemoveAccessibilityEventNotificationPackage: ! PrintDebugString("[INFO]: type = cRemoveAccessibilityEventNotificationPackage"); if (bufsize == (sizeof(PackageType) + sizeof(RemoveAccessibilityEventNotificationPackage))) { RemoveAccessibilityEventNotificationPackage *pkg = (RemoveAccessibilityEventNotificationPackage *) (buffer + sizeof(PackageType)); removeAccessibilityEventNotification(pkg->type, (HWND)ABLongToHandle(pkg->DLLwindow)); } else { ! PrintDebugString("[ERROR]: processing FAILED!! -> bufsize = %d; expectation = %d", bufsize, sizeof(PackageType) + sizeof(RemoveAccessibilityEventNotificationPackage)); } break; default: ! PrintDebugString("[ERROR]: processing FAILED!! -> don't know how to handle type = %X", *type); returnVal = -1; break; } ! PrintDebugString("[INFO]: package processing completed"); return returnVal; } // -----------------------------
*** 1500,1520 **** * WindowsDLL * */ LRESULT JavaAccessBridge::MemoryMappedFileCreated(HWND ATBridgeDLLWindow, char *filename) { ! PrintDebugString(" in MemoryMappedFileCreated(%p, %s)!", ATBridgeDLLWindow, filename); AccessBridgeATInstance *newAT = new AccessBridgeATInstance(dialogWindow, ATBridgeDLLWindow, filename, ATs); ! PrintDebugString(" just created a new ATInstance = %p, old = %p", newAT, ATs); ATs = newAT; LRESULT returnVal = ATs->initiateIPC(); if (returnVal == 0) { ! PrintDebugString(" Successfully initiated IPC with AT!!!"); } else { ! PrintDebugString(" ERROR: Failed to initiate IPC with AT!!!"); } return returnVal; } --- 1503,1523 ---- * WindowsDLL * */ LRESULT JavaAccessBridge::MemoryMappedFileCreated(HWND ATBridgeDLLWindow, char *filename) { ! PrintDebugString("[INFO]: in MemoryMappedFileCreated(%p, %s)!", ATBridgeDLLWindow, filename); AccessBridgeATInstance *newAT = new AccessBridgeATInstance(dialogWindow, ATBridgeDLLWindow, filename, ATs); ! PrintDebugString("[INFO]: just created a new ATInstance = %p, old = %p", newAT, ATs); ATs = newAT; LRESULT returnVal = ATs->initiateIPC(); if (returnVal == 0) { ! PrintDebugString("[INFO]: Successfully initiated IPC with AT!!!"); } else { ! PrintDebugString("[ERROR]: Failed to initiate IPC with AT!!!"); } return returnVal; }
*** 1523,1535 **** * WindowsATDestroyed - lets the JavaABDLL know a Windows AT disappeared * */ void JavaAccessBridge::WindowsATDestroyed(HWND ATBridgeDLLWindow) { ! PrintDebugString("\r\nin JavaAccessBridge::WindowsATDestroyed(%p)", ATBridgeDLLWindow); if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! -> ATs == 0! (shouldn't happen here)"); return; } AccessBridgeATInstance *currentAT = ATs; AccessBridgeATInstance *previousAT = ATs; --- 1526,1538 ---- * WindowsATDestroyed - lets the JavaABDLL know a Windows AT disappeared * */ void JavaAccessBridge::WindowsATDestroyed(HWND ATBridgeDLLWindow) { ! PrintDebugString("[INFO]: in JavaAccessBridge::WindowsATDestroyed(%p)", ATBridgeDLLWindow); if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: -> ATs == 0! (shouldn't happen here)"); return; } AccessBridgeATInstance *currentAT = ATs; AccessBridgeATInstance *previousAT = ATs;
*** 1537,1560 **** ATs = ATs->nextATInstance; // remove event notification for this AT removeJavaEventNotification(currentAT->javaEventMask, ATBridgeDLLWindow); removeAccessibilityEventNotification(currentAT->accessibilityEventMask, ATBridgeDLLWindow); delete currentAT; ! PrintDebugString(" data structures successfully removed"); } else { while (currentAT != (AccessBridgeATInstance *) NULL) { if (currentAT->winAccessBridgeWindow == ATBridgeDLLWindow) { previousAT->nextATInstance = currentAT->nextATInstance; delete currentAT; ! PrintDebugString(" data structures successfully removed"); return; } else { previousAT = currentAT; currentAT = currentAT->nextATInstance; } } ! PrintDebugString(" ERROR!! couldn't find matching data structures!"); } } // ----------------------------- --- 1540,1563 ---- ATs = ATs->nextATInstance; // remove event notification for this AT removeJavaEventNotification(currentAT->javaEventMask, ATBridgeDLLWindow); removeAccessibilityEventNotification(currentAT->accessibilityEventMask, ATBridgeDLLWindow); delete currentAT; ! PrintDebugString("[INFO]: data structures successfully removed"); } else { while (currentAT != (AccessBridgeATInstance *) NULL) { if (currentAT->winAccessBridgeWindow == ATBridgeDLLWindow) { previousAT->nextATInstance = currentAT->nextATInstance; delete currentAT; ! PrintDebugString("[INFO]: data structures successfully removed"); return; } else { previousAT = currentAT; currentAT = currentAT->nextATInstance; } } ! PrintDebugString("[ERROR]: couldn't find matching data structures!"); } } // -----------------------------
*** 1568,1584 **** * call, you will cause all maner of havoc! * */ void JavaAccessBridge::releaseJavaObject(jobject object) { ! PrintDebugString("In JavaAccessBridge::releaseJavaObject"); ! PrintDebugString(" object X: %p", object); if (windowsThreadJNIEnv != (JNIEnv *) 0) { windowsThreadJNIEnv->DeleteGlobalRef(object); ! PrintDebugString(" global reference deleted.", object); } else { ! PrintDebugString(" Error! windowsThreadJNIEnv == 0"); } } // ----------------------------- --- 1571,1587 ---- * call, you will cause all maner of havoc! * */ void JavaAccessBridge::releaseJavaObject(jobject object) { ! PrintDebugString("[INFO]: In JavaAccessBridge::releaseJavaObject"); ! PrintDebugString("[INFO]: object X: %p", object); if (windowsThreadJNIEnv != (JNIEnv *) 0) { windowsThreadJNIEnv->DeleteGlobalRef(object); ! PrintDebugString("[INFO]: global reference deleted.", object); } else { ! PrintDebugString("[ERROR]: windowsThreadJNIEnv == 0"); } } // -----------------------------
*** 1588,1614 **** */ void JavaAccessBridge::addJavaEventNotification(jlong type, HWND DLLwindow) { // walk through list of ATs, find this one and add this type // and, if we weren't listening for these before, ask Java for 'em ! PrintDebugString(" adding Java event type %016I64X to HWND %p", type, DLLwindow); AccessBridgeATInstance *ati = ATs; long globalEventMask = 0; while (ati != (AccessBridgeATInstance *) 0) { if (ati->winAccessBridgeWindow == DLLwindow) { ati->javaEventMask |= type; ! PrintDebugString(" found HWND, javaEventMask now is %X", ati->javaEventMask); } else { globalEventMask |= ati->javaEventMask; } ati = ati->nextATInstance; } ! PrintDebugString(" union of all Java AT event masks: %X", globalEventMask); if (!(globalEventMask & type)) { // no other ATs wanted this event; // start getting them from Java ! PrintDebugString(" no other AT wanted this Java event (so not registered); adding to AccessBridge.java"); windowsThreadEntryPoints->addJavaEventNotification(type); } } /** --- 1591,1617 ---- */ void JavaAccessBridge::addJavaEventNotification(jlong type, HWND DLLwindow) { // walk through list of ATs, find this one and add this type // and, if we weren't listening for these before, ask Java for 'em ! PrintDebugString("[INFO]: adding Java event type %016I64X to HWND %p", type, DLLwindow); AccessBridgeATInstance *ati = ATs; long globalEventMask = 0; while (ati != (AccessBridgeATInstance *) 0) { if (ati->winAccessBridgeWindow == DLLwindow) { ati->javaEventMask |= type; ! PrintDebugString("[INFO]: found HWND, javaEventMask now is %X", ati->javaEventMask); } else { globalEventMask |= ati->javaEventMask; } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: union of all Java AT event masks: %X", globalEventMask); if (!(globalEventMask & type)) { // no other ATs wanted this event; // start getting them from Java ! PrintDebugString("[INFO]: no other AT wanted this Java event (so not registered); adding to AccessBridge.java"); windowsThreadEntryPoints->addJavaEventNotification(type); } } /**
*** 1617,1643 **** */ void JavaAccessBridge::removeJavaEventNotification(jlong type, HWND DLLwindow) { // walk through list of ATs, find this one and remove this type // and, if no other AT wants 'em either, tell Java we no longer want 'em ! PrintDebugString(" removing Java event type %016I64X from HWND %p", type, DLLwindow); AccessBridgeATInstance *ati = ATs; long globalEventMask = 0; while (ati != (AccessBridgeATInstance *) 0) { if (ati->winAccessBridgeWindow == DLLwindow) { ati->javaEventMask &= (0xFFFFFFFF - type); ! PrintDebugString(" found HWND, javaEventMask now is %X", ati->javaEventMask); } else { globalEventMask |= ati->javaEventMask; } ati = ati->nextATInstance; } ! PrintDebugString(" union of all Java AT event masks: %X", globalEventMask); if (!(globalEventMask & type)) { // no other ATs wanted this event; // stop getting them from Java ! PrintDebugString(" no other AT wanted this Java event (so can remove); removing from AccessBridge.java"); windowsThreadEntryPoints->removeJavaEventNotification(type); } } --- 1620,1646 ---- */ void JavaAccessBridge::removeJavaEventNotification(jlong type, HWND DLLwindow) { // walk through list of ATs, find this one and remove this type // and, if no other AT wants 'em either, tell Java we no longer want 'em ! PrintDebugString("[INFO]: removing Java event type %016I64X from HWND %p", type, DLLwindow); AccessBridgeATInstance *ati = ATs; long globalEventMask = 0; while (ati != (AccessBridgeATInstance *) 0) { if (ati->winAccessBridgeWindow == DLLwindow) { ati->javaEventMask &= (0xFFFFFFFF - type); ! PrintDebugString("[INFO]: found HWND, javaEventMask now is %X", ati->javaEventMask); } else { globalEventMask |= ati->javaEventMask; } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: union of all Java AT event masks: %X", globalEventMask); if (!(globalEventMask & type)) { // no other ATs wanted this event; // stop getting them from Java ! PrintDebugString("[INFO]: no other AT wanted this Java event (so can remove); removing from AccessBridge.java"); windowsThreadEntryPoints->removeJavaEventNotification(type); } }
*** 1647,1673 **** */ void JavaAccessBridge::addAccessibilityEventNotification(jlong type, HWND DLLwindow) { // walk through list of ATs, find this one and add this type // and, if we weren't listening for these before, ask Java for 'em ! PrintDebugString(" adding Accesibility event type %016I64X to HWND %p", type, DLLwindow); AccessBridgeATInstance *ati = ATs; long globalEventMask = 0; while (ati != (AccessBridgeATInstance *) 0) { if (ati->winAccessBridgeWindow == DLLwindow) { ati->accessibilityEventMask |= type; ! PrintDebugString(" found HWND, accessibilityEventMask now is %X", ati->accessibilityEventMask); } else { globalEventMask |= ati->accessibilityEventMask; } ati = ati->nextATInstance; } ! PrintDebugString(" union of all Accessibility AT event masks: %X", globalEventMask); if (!(globalEventMask & type)) { // no other ATs wanted this event; // start getting them from Java ! PrintDebugString(" no other AT wanted this Accesibility event (so not registered); adding to AccessBridge.java"); windowsThreadEntryPoints->addAccessibilityEventNotification(type); } } /** --- 1650,1676 ---- */ void JavaAccessBridge::addAccessibilityEventNotification(jlong type, HWND DLLwindow) { // walk through list of ATs, find this one and add this type // and, if we weren't listening for these before, ask Java for 'em ! PrintDebugString("[INFO]: adding Accesibility event type %016I64X to HWND %p", type, DLLwindow); AccessBridgeATInstance *ati = ATs; long globalEventMask = 0; while (ati != (AccessBridgeATInstance *) 0) { if (ati->winAccessBridgeWindow == DLLwindow) { ati->accessibilityEventMask |= type; ! PrintDebugString("[INFO]: found HWND, accessibilityEventMask now is %X", ati->accessibilityEventMask); } else { globalEventMask |= ati->accessibilityEventMask; } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: union of all Accessibility AT event masks: %X", globalEventMask); if (!(globalEventMask & type)) { // no other ATs wanted this event; // start getting them from Java ! PrintDebugString("[INFO]: no other AT wanted this Accesibility event (so not registered); adding to AccessBridge.java"); windowsThreadEntryPoints->addAccessibilityEventNotification(type); } } /**
*** 1676,1702 **** */ void JavaAccessBridge::removeAccessibilityEventNotification(jlong type, HWND DLLwindow) { // walk through list of ATs, find this one and remove this type // and, if no other AT wants 'em either, tell Java we no longer want 'em ! PrintDebugString(" removing Accesibility event type %016I64X from HWND %p", type, DLLwindow); AccessBridgeATInstance *ati = ATs; long globalEventMask = 0; while (ati != (AccessBridgeATInstance *) 0) { if (ati->winAccessBridgeWindow == DLLwindow) { ati->accessibilityEventMask &= (0xFFFFFFFF - type); ! PrintDebugString(" found HWND, accessibilityEventMask now is %X", ati->accessibilityEventMask); } else { globalEventMask |= ati->accessibilityEventMask; } ati = ati->nextATInstance; } ! PrintDebugString(" union of all Accessibility AT event masks: %X", globalEventMask); if (!(globalEventMask & type)) { // no other ATs wanted this event; // stop getting them from Java ! PrintDebugString(" no other AT wanted this Accessibility event (so can remove); removing from AccessBridge.java"); windowsThreadEntryPoints->removeAccessibilityEventNotification(type); } } --- 1679,1705 ---- */ void JavaAccessBridge::removeAccessibilityEventNotification(jlong type, HWND DLLwindow) { // walk through list of ATs, find this one and remove this type // and, if no other AT wants 'em either, tell Java we no longer want 'em ! PrintDebugString("[INFO]: removing Accesibility event type %016I64X from HWND %p", type, DLLwindow); AccessBridgeATInstance *ati = ATs; long globalEventMask = 0; while (ati != (AccessBridgeATInstance *) 0) { if (ati->winAccessBridgeWindow == DLLwindow) { ati->accessibilityEventMask &= (0xFFFFFFFF - type); ! PrintDebugString("[INFO]: found HWND, accessibilityEventMask now is %X", ati->accessibilityEventMask); } else { globalEventMask |= ati->accessibilityEventMask; } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: union of all Accessibility AT event masks: %X", globalEventMask); if (!(globalEventMask & type)) { // no other ATs wanted this event; // stop getting them from Java ! PrintDebugString("[INFO]: no other AT wanted this Accessibility event (so can remove); removing from AccessBridge.java"); windowsThreadEntryPoints->removeAccessibilityEventNotification(type); } }
*** 1709,1725 **** void JavaAccessBridge::firePropertyCaretChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jint oldValue, jint newValue) { ! PrintDebugString("\r\nJava_com_sun_java_accessibility_internal_AccessBridge_propertyCaretChanged(%p, %p, %p, %p, %d, %d)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup char buffer[sizeof(PackageType) + sizeof(PropertyCaretChangePackage)]; --- 1712,1728 ---- void JavaAccessBridge::firePropertyCaretChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jint oldValue, jint newValue) { ! PrintDebugString("[INFO]: Java_com_sun_java_accessibility_internal_AccessBridge_propertyCaretChanged(%p, %p, %p, %p, %d, %d)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup char buffer[sizeof(PackageType) + sizeof(PropertyCaretChangePackage)];
*** 1731,1761 **** // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyCaretChangeEvent) { ! PrintDebugString(" sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString(" GlobalRef'd Event: %p", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %p", pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString(" GlobalRef'd Event: %016I64X", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %016I64X", pkg->AccessibleContextSource); #endif pkg->oldPosition = oldValue; pkg->newPosition = newValue; ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyCaretChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString(" done with propertyCaretChange event"); } /** * firePropertyDescriptionChange * --- 1734,1764 ---- // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyCaretChangeEvent) { ! PrintDebugString("[INFO]: sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString("[INFO]: GlobalRef'd Event: %p"\ ! " GlobalRef'd Source: %p", pkg->Event, pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString("[INFO]: GlobalRef'd Event: %016I64X"\ ! " GlobalRef'd Source: %016I64X", pkg->Event, pkg->AccessibleContextSource); #endif pkg->oldPosition = oldValue; pkg->newPosition = newValue; ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyCaretChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: done with propertyCaretChange event"); } /** * firePropertyDescriptionChange *
*** 1763,1779 **** void JavaAccessBridge::firePropertyDescriptionChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jstring oldValue, jstring newValue){ ! PrintDebugString("\r\nJava_com_sun_java_accessibility_internal_AccessBridge_propertyDescriptionChanged(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup const wchar_t *stringBytes; --- 1766,1782 ---- void JavaAccessBridge::firePropertyDescriptionChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jstring oldValue, jstring newValue){ ! PrintDebugString("[INFO]: Java_com_sun_java_accessibility_internal_AccessBridge_propertyDescriptionChanged(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup const wchar_t *stringBytes;
*** 1786,1806 **** // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyCaretChangeEvent) { ! PrintDebugString(" sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString(" GlobalRef'd Event: %p", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %p", pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString(" GlobalRef'd Event: %016I64X", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %016I64X", pkg->AccessibleContextSource); #endif if (oldValue != (jstring) 0) { stringBytes = (const wchar_t *) env->GetStringChars(oldValue, 0); if (stringBytes == NULL) { --- 1789,1809 ---- // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyCaretChangeEvent) { ! PrintDebugString("[INFO]: sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString("[INFO]: GlobalRef'd Event: %p"\ ! " GlobalRef'd Source: %p", pkg->Event, pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString("[INFO]: GlobalRef'd Event: %016I64X"\ ! " GlobalRef'd Source: %016I64X", pkg->Event, pkg->AccessibleContextSource); #endif if (oldValue != (jstring) 0) { stringBytes = (const wchar_t *) env->GetStringChars(oldValue, 0); if (stringBytes == NULL) {
*** 1837,1847 **** ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyDescriptionChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString(" done with propertyDescriptionChange event"); } /** * firePropertyNameChange * --- 1840,1850 ---- ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyDescriptionChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: done with propertyDescriptionChange event"); } /** * firePropertyNameChange *
*** 1849,1865 **** void JavaAccessBridge::firePropertyNameChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jstring oldValue, jstring newValue){ ! PrintDebugString("\r\nJava_com_sun_java_accessibility_internal_AccessBridge_propertyNameChanged(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup const wchar_t *stringBytes; --- 1852,1868 ---- void JavaAccessBridge::firePropertyNameChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jstring oldValue, jstring newValue){ ! PrintDebugString("[INFO]: Java_com_sun_java_accessibility_internal_AccessBridge_propertyNameChanged(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup const wchar_t *stringBytes;
*** 1872,1892 **** // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyNameChangeEvent) { ! PrintDebugString(" sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString(" GlobalRef'd Event: %p", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %p", pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString(" GlobalRef'd Event: %016I64X", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %016I64X", pkg->AccessibleContextSource); #endif if (oldValue != (jstring) 0) { stringBytes = (const wchar_t *) env->GetStringChars(oldValue, 0); if (stringBytes == NULL) { --- 1875,1895 ---- // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyNameChangeEvent) { ! PrintDebugString("[INFO]: sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString("[INFO]: GlobalRef'd Event: %p"\ ! " GlobalRef'd Source: %p", pkg->Event, pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString("[INFO]: GlobalRef'd Event: %016I64X"\ ! " GlobalRef'd Source: %016I64X", pkg->Event, pkg->AccessibleContextSource); #endif if (oldValue != (jstring) 0) { stringBytes = (const wchar_t *) env->GetStringChars(oldValue, 0); if (stringBytes == NULL) {
*** 1923,1933 **** ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyNameChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString(" done with propertyNameChange event"); } /** * firePropertySelectionChange --- 1926,1936 ---- ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyNameChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: done with propertyNameChange event"); } /** * firePropertySelectionChange
*** 1935,1950 **** */ void JavaAccessBridge::firePropertySelectionChange(JNIEnv *env, jobject callingObj, jobject event, jobject source) { ! PrintDebugString("\r\nJava_com_sun_java_accessibility_internal_AccessBridge_propertySelectionChanged(%p, %p, %p, %p)", env, callingObj, event, source); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup char buffer[sizeof(PackageType) + sizeof(PropertySelectionChangePackage)]; --- 1938,1953 ---- */ void JavaAccessBridge::firePropertySelectionChange(JNIEnv *env, jobject callingObj, jobject event, jobject source) { ! PrintDebugString("[INFO]: Java_com_sun_java_accessibility_internal_AccessBridge_propertySelectionChanged(%p, %p, %p, %p)", env, callingObj, event, source); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup char buffer[sizeof(PackageType) + sizeof(PropertySelectionChangePackage)];
*** 1956,1983 **** // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertySelectionChangeEvent) { ! PrintDebugString(" sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString(" GlobalRef'd Event: %p", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %p", pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString(" GlobalRef'd Event: %016I64X", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %016I64X", pkg->AccessibleContextSource); #endif ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertySelectionChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString(" done with propertySelectionChange event"); } /** * firePropertyStateChange --- 1959,1986 ---- // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertySelectionChangeEvent) { ! PrintDebugString("[INFO]: sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString("[INFO]: GlobalRef'd Event: %p"\ ! " GlobalRef'd Source: %p", pkg->Event, pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString("[INFO]: GlobalRef'd Event: %016I64X"\ ! " GlobalRef'd Source: %016I64X", pkg->Event, pkg->AccessibleContextSource); #endif ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertySelectionChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: done with propertySelectionChange event"); } /** * firePropertyStateChange
*** 1986,2002 **** void JavaAccessBridge::firePropertyStateChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jstring oldValue, jstring newValue){ ! PrintDebugString("\r\nJava_com_sun_java_accessibility_internal_AccessBridge_propertyStateChanged(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup const wchar_t *stringBytes; --- 1989,2005 ---- void JavaAccessBridge::firePropertyStateChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jstring oldValue, jstring newValue){ ! PrintDebugString("[INFO]: Java_com_sun_java_accessibility_internal_AccessBridge_propertyStateChanged(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup const wchar_t *stringBytes;
*** 2009,2029 **** // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyStateChangeEvent) { ! PrintDebugString(" sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString(" GlobalRef'd Event: %p", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %p", pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString(" GlobalRef'd Event: %016I64X", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %016I64X", pkg->AccessibleContextSource); #endif if (oldValue != (jstring) 0) { stringBytes = (const wchar_t *) env->GetStringChars(oldValue, 0); if (stringBytes == NULL) { --- 2012,2032 ---- // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyStateChangeEvent) { ! PrintDebugString("[INFO]: sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString("[INFO]: GlobalRef'd Event: %p"\ ! " GlobalRef'd Source: %p", pkg->Event, pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString("[INFO]: GlobalRef'd Event: %016I64X"\ ! " GlobalRef'd Source: %016I64X", pkg->Event, pkg->AccessibleContextSource); #endif if (oldValue != (jstring) 0) { stringBytes = (const wchar_t *) env->GetStringChars(oldValue, 0); if (stringBytes == NULL) {
*** 2060,2070 **** ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyStateChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString(" done with propertyStateChange event"); } /** * firePropertyTextChange --- 2063,2073 ---- ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyStateChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: done with propertyStateChange event"); } /** * firePropertyTextChange
*** 2072,2087 **** */ void JavaAccessBridge::firePropertyTextChange(JNIEnv *env, jobject callingObj, jobject event, jobject source) { ! PrintDebugString("\r\nJava_com_sun_java_accessibility_internal_AccessBridge_propertyTextChanged(%p, %p, %p, %p)", env, callingObj, event, source); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup char buffer[sizeof(PackageType) + sizeof(PropertyTextChangePackage)]; --- 2075,2090 ---- */ void JavaAccessBridge::firePropertyTextChange(JNIEnv *env, jobject callingObj, jobject event, jobject source) { ! PrintDebugString("[INFO]: Java_com_sun_java_accessibility_internal_AccessBridge_propertyTextChanged(%p, %p, %p, %p)", env, callingObj, event, source); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup char buffer[sizeof(PackageType) + sizeof(PropertyTextChangePackage)];
*** 2093,2120 **** // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyTextChangeEvent) { ! PrintDebugString(" sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString(" GlobalRef'd Event: %p", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %p", pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString(" GlobalRef'd Event: %016I64X", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %016I64X", pkg->AccessibleContextSource); #endif ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyTextChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString(" done with propertyTextChange event"); } /** * firePropertyValueChange --- 2096,2123 ---- // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyTextChangeEvent) { ! PrintDebugString("[INFO]: sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString("[INFO]: GlobalRef'd Event: %p"\ ! " GlobalRef'd Source: %p",pkg->Event, pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString("[INFO]: GlobalRef'd Event: %016I64X"\ ! " GlobalRef'd Source: %016I64X", pkg->Event, pkg->AccessibleContextSource); #endif ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyTextChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: done with propertyTextChange event"); } /** * firePropertyValueChange
*** 2123,2139 **** void JavaAccessBridge::firePropertyValueChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jstring oldValue, jstring newValue){ ! PrintDebugString("\r\nJava_com_sun_java_accessibility_internal_AccessBridge_propertyValueChanged(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup const wchar_t *stringBytes; --- 2126,2142 ---- void JavaAccessBridge::firePropertyValueChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jstring oldValue, jstring newValue){ ! PrintDebugString("[INFO]: Java_com_sun_java_accessibility_internal_AccessBridge_propertyValueChanged(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup const wchar_t *stringBytes;
*** 2146,2166 **** // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyValueChangeEvent) { ! PrintDebugString(" sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString(" GlobalRef'd Event: %p", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %p", pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString(" GlobalRef'd Event: %016I64X", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %016I64X", pkg->AccessibleContextSource); #endif if (oldValue != (jstring) 0) { stringBytes = (const wchar_t *) env->GetStringChars(oldValue, 0); if (stringBytes == NULL) { --- 2149,2169 ---- // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyValueChangeEvent) { ! PrintDebugString("[INFO]: sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString("[INFO]: GlobalRef'd Event: %p"\ ! " GlobalRef'd Source: %p", pkg->Event, pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString("[INFO]: GlobalRef'd Event: %016I64X"\ ! " GlobalRef'd Source: %016I64X", pkg->Event, pkg->AccessibleContextSource); #endif if (oldValue != (jstring) 0) { stringBytes = (const wchar_t *) env->GetStringChars(oldValue, 0); if (stringBytes == NULL) {
*** 2197,2223 **** ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyValueChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString(" done with propertyValueChange event"); } /** * firePropertyVisibleDataChange * */ void JavaAccessBridge::firePropertyVisibleDataChange(JNIEnv *env, jobject callingObj, jobject event, jobject source) { ! PrintDebugString("\r\nJava_com_sun_java_accessibility_internal_AccessBridge_propertyVisibleDataChanged(%p, %p, %p, %p)", env, callingObj, event, source); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup char buffer[sizeof(PackageType) + sizeof(PropertyVisibleDataChangePackage)]; --- 2200,2226 ---- ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyValueChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: done with propertyValueChange event"); } /** * firePropertyVisibleDataChange * */ void JavaAccessBridge::firePropertyVisibleDataChange(JNIEnv *env, jobject callingObj, jobject event, jobject source) { ! PrintDebugString("[INFO]: Java_com_sun_java_accessibility_internal_AccessBridge_propertyVisibleDataChanged(%p, %p, %p, %p)", env, callingObj, event, source); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup char buffer[sizeof(PackageType) + sizeof(PropertyVisibleDataChangePackage)];
*** 2229,2256 **** // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyVisibleDataChangeEvent) { ! PrintDebugString(" sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString(" GlobalRef'd Event: %p", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %p", pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString(" GlobalRef'd Event: %016I64X", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %016I64X", pkg->AccessibleContextSource); #endif ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyVisibleDataChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString(" done with propertyVisibleDataChange event"); } /** * firePropertyChildChange --- 2232,2259 ---- // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyVisibleDataChangeEvent) { ! PrintDebugString("[INFO]: sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString("[INFO]: GlobalRef'd Event: %p"\ ! " GlobalRef'd Source: %p", pkg->Event, pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString("[INFO]: GlobalRef'd Event: %016I64X"\ ! " GlobalRef'd Source: %016I64X", pkg->Event, pkg->AccessibleContextSource); #endif ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyVisibleDataChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: done with propertyVisibleDataChange event"); } /** * firePropertyChildChange
*** 2259,2275 **** void JavaAccessBridge::firePropertyChildChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jobject oldValue, jobject newValue){ ! PrintDebugString("\r\nJava_com_sun_java_accessibility_internal_AccessBridge_propertyChildPropertyChanged(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup char buffer[sizeof(PackageType) + sizeof(PropertyChildChangePackage)]; --- 2262,2278 ---- void JavaAccessBridge::firePropertyChildChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jobject oldValue, jobject newValue){ ! PrintDebugString("[INFO]: Java_com_sun_java_accessibility_internal_AccessBridge_propertyChildPropertyChanged(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup char buffer[sizeof(PackageType) + sizeof(PropertyChildChangePackage)];
*** 2281,2314 **** // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyChildChangeEvent) { ! PrintDebugString(" sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); pkg->oldChildAccessibleContext = (JOBJECT64)env->NewGlobalRef(oldValue); pkg->newChildAccessibleContext = (JOBJECT64)env->NewGlobalRef(newValue); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString(" GlobalRef'd Event: %p", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %p", pkg->AccessibleContextSource); ! PrintDebugString(" GlobalRef'd OldChildAC: %p", pkg->oldChildAccessibleContext); ! PrintDebugString(" GlobalRef'd NewChildAC: %p", pkg->newChildAccessibleContext); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString(" GlobalRef'd Event: %016I64X", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %016I64X", pkg->AccessibleContextSource); ! PrintDebugString(" GlobalRef'd OldChildAC: %016I64X", pkg->oldChildAccessibleContext); ! PrintDebugString(" GlobalRef'd NewChildAC: %016I64X", pkg->newChildAccessibleContext); #endif ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyChildChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString(" done with propertyChildChange event"); } /** * firePropertyActiveDescendentChange --- 2284,2319 ---- // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyChildChangeEvent) { ! PrintDebugString("[INFO]: sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); pkg->oldChildAccessibleContext = (JOBJECT64)env->NewGlobalRef(oldValue); pkg->newChildAccessibleContext = (JOBJECT64)env->NewGlobalRef(newValue); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString("[INFO]: GlobalRef'd Event: %p"\ ! " GlobalRef'd Source: %p"\ ! " GlobalRef'd OldChildAC: %p"\ ! " GlobalRef'd NewChildAC: %p"\ ! , pkg->Event, pkg->AccessibleContextSource, pkg->oldChildAccessibleContext, pkg->newChildAccessibleContext); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString("[INFO]: GlobalRef'd Event: %016I64X"\ ! " GlobalRef'd Source: %016I64X"\ ! " GlobalRef'd OldChildAC: %016I64X"\ ! " GlobalRef'd NewChildAC: %016I64X"\ ! , pkg->Event, pkg->AccessibleContextSource, pkg->oldChildAccessibleContext, pkg->newChildAccessibleContext); #endif ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyChildChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: done with propertyChildChange event"); } /** * firePropertyActiveDescendentChange
*** 2317,2333 **** void JavaAccessBridge::firePropertyActiveDescendentChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jobject oldValue, jobject newValue){ ! PrintDebugString("\r\nJava_com_sun_java_accessibility_internal_AccessBridge_propertyActiveDescendentPropertyChanged(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup char buffer[sizeof(PackageType) + sizeof(PropertyActiveDescendentChangePackage)]; --- 2322,2338 ---- void JavaAccessBridge::firePropertyActiveDescendentChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jobject oldValue, jobject newValue){ ! PrintDebugString("[INFO]: Java_com_sun_java_accessibility_internal_AccessBridge_propertyActiveDescendentPropertyChanged(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup char buffer[sizeof(PackageType) + sizeof(PropertyActiveDescendentChangePackage)];
*** 2339,2372 **** // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyActiveDescendentChangeEvent) { ! PrintDebugString(" sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); pkg->oldActiveDescendentAccessibleContext = (JOBJECT64)env->NewGlobalRef(oldValue); pkg->newActiveDescendentAccessibleContext = (JOBJECT64)env->NewGlobalRef(newValue); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString(" GlobalRef'd Event: %p", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %p", pkg->AccessibleContextSource); ! PrintDebugString(" GlobalRef'd OldActiveDescendentAC: %p", pkg->oldActiveDescendentAccessibleContext); ! PrintDebugString(" GlobalRef'd NewActiveDescendentAC: %p", pkg->newActiveDescendentAccessibleContext); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString(" GlobalRef'd Event: %016I64X", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %016I64X", pkg->AccessibleContextSource); ! PrintDebugString(" GlobalRef'd OldActiveDescendentAC: %016I64X", pkg->oldActiveDescendentAccessibleContext); ! PrintDebugString(" GlobalRef'd NewActiveDescendentAC: %016I64X", pkg->newActiveDescendentAccessibleContext); #endif ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyActiveDescendentChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString(" done with propertyActiveChange event"); } /** * firePropertyValueChange * --- 2344,2379 ---- // make new Global Refs and send events only to those ATs that want 'em AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->accessibilityEventMask & cPropertyActiveDescendentChangeEvent) { ! PrintDebugString("[INFO]: sending to AT"); // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); pkg->oldActiveDescendentAccessibleContext = (JOBJECT64)env->NewGlobalRef(oldValue); pkg->newActiveDescendentAccessibleContext = (JOBJECT64)env->NewGlobalRef(newValue); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString("[INFO]: GlobalRef'd Event: %p"\ ! " GlobalRef'd Source: %p"\ ! " GlobalRef'd OldActiveDescendentAC: %p"\ ! " GlobalRef'd NewActiveDescendentAC: %p"\ ! , pkg->Event, pkg->AccessibleContextSource, pkg->oldActiveDescendentAccessibleContext, pkg->newActiveDescendentAccessibleContext); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString("[INFO]: GlobalRef'd Event: %016I64X"\ ! " GlobalRef'd Source: %016I64X"\ ! " GlobalRef'd OldActiveDescendentAC: %016I64X"\ ! " GlobalRef'd NewActiveDescendentAC: %016I64X"\ ! , pkg->Event, pkg->AccessibleContextSource, pkg->oldActiveDescendentAccessibleContext, pkg->newActiveDescendentAccessibleContext); #endif ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyActiveDescendentChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: done with propertyActiveChange event"); } /** * firePropertyValueChange *
*** 2374,2390 **** void JavaAccessBridge::firePropertyTableModelChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jstring oldValue, jstring newValue){ ! PrintDebugString("\r\nJava_com_sun_java_accessibility_internal_AccessBridge_propertyTableModelChange(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup const wchar_t *stringBytes; --- 2381,2397 ---- void JavaAccessBridge::firePropertyTableModelChange(JNIEnv *env, jobject callingObj, jobject event, jobject source, jstring oldValue, jstring newValue){ ! PrintDebugString("[INFO]: Java_com_sun_java_accessibility_internal_AccessBridge_propertyTableModelChange(%p, %p, %p, %p, %p, %p)", env, callingObj, event, source, oldValue, newValue); // sanity check if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); return; // panic! } // common setup const wchar_t *stringBytes;
*** 2403,2417 **** // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString(" GlobalRef'd Event: %p", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %p", pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString(" GlobalRef'd Event: %016I64X", pkg->Event); ! PrintDebugString(" GlobalRef'd Source: %016I64X", pkg->AccessibleContextSource); #endif if (oldValue != (jstring) 0) { stringBytes = (const wchar_t *) env->GetStringChars(oldValue, 0); if (stringBytes == NULL) { --- 2410,2424 ---- // make new GlobalRefs for this AT pkg->Event = (JOBJECT64)env->NewGlobalRef(event); pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) ! PrintDebugString("[INFO]: GlobalRef'd Event: %p"\ ! " GlobalRef'd Source: %p", pkg->Event, pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) ! PrintDebugString("[INFO]: GlobalRef'd Event: %016I64X"\ ! " GlobalRef'd Source: %016I64X", pkg->Event, pkg->AccessibleContextSource); #endif if (oldValue != (jstring) 0) { stringBytes = (const wchar_t *) env->GetStringChars(oldValue, 0); if (stringBytes == NULL) {
*** 2448,2482 **** ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyTableModelChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString(" done with propertyTableModelChange event"); } #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) #define PRINT_GLOBALREFS() \ ! PrintDebugString(" GlobalRef'd Event: %p", pkg->Event); \ ! PrintDebugString(" GlobalRef'd Source: %p", pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) #define PRINT_GLOBALREFS() \ ! PrintDebugString(" GlobalRef'd Event: %016I64X", pkg->Event); \ ! PrintDebugString(" GlobalRef'd Source: %016I64X", pkg->AccessibleContextSource); #endif #define FIRE_EVENT(function, packageStruct, packageConstant, eventConstant) \ void JavaAccessBridge::function(JNIEnv *env, jobject callingObj, \ jobject eventObj, jobject source) { \ \ ! PrintDebugString("\r\nFiring event id = %d(%p, %p, %p, %p); vmID = %X", \ ! eventConstant, env, callingObj, eventObj, source, dialogWindow); \ \ /* sanity check */ \ if (ATs == (AccessBridgeATInstance *) 0) { \ ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); \ return; /* panic! */ \ } \ \ /* common setup */ \ char buffer[sizeof(PackageType) + sizeof(packageStruct)]; \ --- 2455,2489 ---- ati->sendAccessibilityEventPackage(buffer, sizeof(buffer), cPropertyTableModelChangeEvent); } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: done with propertyTableModelChange event"); } #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) #define PRINT_GLOBALREFS() \ ! PrintDebugString("[INFO]: GlobalRef'd Event: %p"\ ! " GlobalRef'd Source: %p", pkg->Event, pkg->AccessibleContextSource); #else // JOBJECT64 is jlong (64 bit) #define PRINT_GLOBALREFS() \ ! PrintDebugString("[INFO]: GlobalRef'd Event: %016I64X"\ ! " GlobalRef'd Source: %016I64X", pkg->Event, pkg->AccessibleContextSource); #endif #define FIRE_EVENT(function, packageStruct, packageConstant, eventConstant) \ void JavaAccessBridge::function(JNIEnv *env, jobject callingObj, \ jobject eventObj, jobject source) { \ \ ! PrintDebugString("[INFO]: Firing event id = %d(%p, %p, %p, %p); vmID = %X", \ ! eventConstant, env, callingObj, eventObj, source, dialogWindow);\ \ /* sanity check */ \ if (ATs == (AccessBridgeATInstance *) 0) { \ ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); \ return; /* panic! */ \ } \ \ /* common setup */ \ char buffer[sizeof(PackageType) + sizeof(packageStruct)]; \
*** 2486,2520 **** pkg->vmID = (long) dialogWindow; \ \ /* make new Global Refs, send events only to those ATs that want 'em */ \ AccessBridgeATInstance *ati = ATs; \ while (ati != (AccessBridgeATInstance *) 0) { \ ! PrintDebugString("\r\njavaEventMask = %X eventConstant=%d pkg->vmID=%X", \ ati->javaEventMask, eventConstant, pkg->vmID ); \ if (ati->javaEventMask & eventConstant) { \ \ ! PrintDebugString(" sending to AT"); \ /* make new GlobalRefs for this AT */ \ pkg->Event = (JOBJECT64)env->NewGlobalRef(eventObj); \ pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); \ PRINT_GLOBALREFS() \ \ ati->sendJavaEventPackage(buffer, sizeof(buffer), eventConstant); \ } \ ati = ati->nextATInstance; \ } \ ! PrintDebugString(" done with firing AWT event"); \ } void JavaAccessBridge::javaShutdown(JNIEnv *env, jobject callingObj) { ! PrintDebugString("\r\nFiring event id = %d(%p, %p); vmID = %X", cJavaShutdownEvent, env, callingObj, dialogWindow); /* sanity check */ if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString(" ERROR!! ATs == 0! (shouldn't happen here!)"); return; /* panic! */ } /* common setup */ char buffer[sizeof(PackageType) + sizeof(JavaShutdownPackage)]; --- 2493,2527 ---- pkg->vmID = (long) dialogWindow; \ \ /* make new Global Refs, send events only to those ATs that want 'em */ \ AccessBridgeATInstance *ati = ATs; \ while (ati != (AccessBridgeATInstance *) 0) { \ ! PrintDebugString("[INFO]: javaEventMask = %X eventConstant=%d pkg->vmID=%X",\ ati->javaEventMask, eventConstant, pkg->vmID ); \ if (ati->javaEventMask & eventConstant) { \ \ ! PrintDebugString("[INFO]: sending to AT"); \ /* make new GlobalRefs for this AT */ \ pkg->Event = (JOBJECT64)env->NewGlobalRef(eventObj); \ pkg->AccessibleContextSource = (JOBJECT64)env->NewGlobalRef(source); \ PRINT_GLOBALREFS() \ \ ati->sendJavaEventPackage(buffer, sizeof(buffer), eventConstant); \ } \ ati = ati->nextATInstance; \ } \ ! PrintDebugString("[INFO]: done with firing AWT event"); \ } void JavaAccessBridge::javaShutdown(JNIEnv *env, jobject callingObj) { ! PrintDebugString("[INFO]: Firing event id = %d(%p, %p); vmID = %X", cJavaShutdownEvent, env, callingObj, dialogWindow); /* sanity check */ if (ATs == (AccessBridgeATInstance *) 0) { ! PrintDebugString("[ERROR]: ATs == 0! (shouldn't happen here!)"); return; /* panic! */ } /* common setup */ char buffer[sizeof(PackageType) + sizeof(JavaShutdownPackage)];
*** 2525,2540 **** /* make new Global Refs, send events only to those ATs that want 'em */ AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->javaEventMask & cJavaShutdownEvent) { ! PrintDebugString(" sending to AT"); ati->sendJavaEventPackage(buffer, sizeof(buffer), cJavaShutdownEvent); } ati = ati->nextATInstance; } ! PrintDebugString(" done with firing AWT event"); } FIRE_EVENT(fireFocusGained, FocusGainedPackage, cFocusGainedPackage, cFocusGainedEvent) FIRE_EVENT(fireFocusLost, FocusLostPackage, cFocusLostPackage, cFocusLostEvent) FIRE_EVENT(fireCaretUpdate, CaretUpdatePackage, cCaretUpdatePackage, cCaretUpdateEvent) --- 2532,2547 ---- /* make new Global Refs, send events only to those ATs that want 'em */ AccessBridgeATInstance *ati = ATs; while (ati != (AccessBridgeATInstance *) 0) { if (ati->javaEventMask & cJavaShutdownEvent) { ! PrintDebugString("[INFO]: sending to AT"); ati->sendJavaEventPackage(buffer, sizeof(buffer), cJavaShutdownEvent); } ati = ati->nextATInstance; } ! PrintDebugString("[INFO]: done with firing AWT event"); } FIRE_EVENT(fireFocusGained, FocusGainedPackage, cFocusGainedPackage, cFocusGainedEvent) FIRE_EVENT(fireFocusLost, FocusLostPackage, cFocusLostPackage, cFocusLostEvent) FIRE_EVENT(fireCaretUpdate, CaretUpdatePackage, cCaretUpdatePackage, cCaretUpdateEvent)
< prev index next >