153 * on the PropertyChangeEvent once it is no longer needed, 154 * otherwise the JavaVM/JNI will suffer memory leaks 155 * 156 */ 157 void 158 AccessBridgeEventHandler::firePropertyChange(long vmID, 159 JOBJECT64 event, JOBJECT64 source, 160 wchar_t *property, wchar_t *oldName, 161 wchar_t *newName) { 162 DEBUG_CODE(char debugBuf[255]); 163 #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) 164 DEBUG_CODE(sprintf(debugBuf, "\r\nCalling firePropertyChange(%p, %p):\r\n", event, source)); 165 #else // JOBJECT64 is jlong (64 bit) 166 DEBUG_CODE(sprintf(debugBuf, "\r\nCalling firePropertyChange(%016I64X, %016I64X):\r\n", event, source)); 167 #endif 168 DEBUG_CODE(AppendToCallInfo(debugBuf)); 169 170 if (propertyChangeFP != (AccessBridge_PropertyChangeFP) 0) { 171 propertyChangeFP(vmID, event, source, property, oldName, newName); 172 } else { 173 DEBUG_CODE(AppendToCallInfo(" Error! propertyChangeFP == 0\r\n")); 174 } 175 } 176 177 178 /** 179 * FIRE_EVENT - macro for all fireXXX methods (which 180 * all are basically identical to one another...) 181 * 182 * Note: the event and source objects passed in are globalReferences; 183 * It is critical that releaseJavaObject() be called 184 * on them once they are no longer needed, otherwise 185 * the JavaVM/JNI will suffer memory leaks 186 * 187 */ 188 #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) 189 const char fireEventDebugString[] = "\r\nIn AccessBridgeEventHandler::%s(%p, %p); vmID = %X\r\n"; 190 #else // JOBJECT64 is jlong (64 bit) 191 const char fireEventDebugString[] = "\r\nIn AccessBridgeEventHandler::%s(%016I64X, %016I64X); vmID = %X\r\n"; 192 #endif 193 194 #define FIRE_EVENT(method, FPprototype, eventFP) \ 195 void AccessBridgeEventHandler::method(long vmID, JOBJECT64 event, JOBJECT64 source) { \ 196 DEBUG_CODE(char debugBuf[255]); \ 197 DEBUG_CODE(sprintf(debugBuf, fireEventDebugString, #method, event, source, vmID)); \ 198 DEBUG_CODE(AppendToCallInfo(debugBuf)); \ 199 if (eventFP != (FPprototype) 0) { \ 200 eventFP(vmID, event, source); \ 201 } else { \ 202 DEBUG_CODE(AppendToCallInfo(" Error! eventFP == 0\r\n")); \ 203 } \ 204 } 205 206 void AccessBridgeEventHandler::fireJavaShutdown(long vmID) { 207 DEBUG_CODE(char debugBuf[255]); 208 DEBUG_CODE(sprintf(debugBuf, "\r\nCalling fireJavaShutdown; vmID = %X\r\n", vmID)); 209 DEBUG_CODE(AppendToCallInfo(debugBuf)); 210 if (javaShutdownFP != (AccessBridge_JavaShutdownFP) 0) { 211 javaShutdownFP(vmID); 212 } else { 213 DEBUG_CODE(AppendToCallInfo(" Error! javaShutdownFP == 0\r\n")); 214 } 215 } 216 217 FIRE_EVENT(fireFocusGained, AccessBridge_FocusGainedFP, focusGainedFP) 218 FIRE_EVENT(fireFocusLost, AccessBridge_FocusLostFP, focusLostFP) 219 FIRE_EVENT(fireCaretUpdate, AccessBridge_CaretUpdateFP, caretUpdateFP) 220 FIRE_EVENT(fireMouseClicked, AccessBridge_MouseClickedFP, mouseClickedFP) 221 FIRE_EVENT(fireMouseEntered, AccessBridge_MouseEnteredFP, mouseEnteredFP) 222 FIRE_EVENT(fireMouseExited, AccessBridge_MouseExitedFP, mouseExitedFP) 223 FIRE_EVENT(fireMousePressed, AccessBridge_MousePressedFP, mousePressedFP) 224 FIRE_EVENT(fireMouseReleased, AccessBridge_MouseReleasedFP, mouseReleasedFP) 225 FIRE_EVENT(fireMenuCanceled, AccessBridge_MenuCanceledFP, menuCanceledFP) 226 FIRE_EVENT(fireMenuDeselected, AccessBridge_MenuDeselectedFP, menuDeselectedFP) 227 FIRE_EVENT(fireMenuSelected, AccessBridge_MenuSelectedFP, menuSelectedFP) 228 FIRE_EVENT(firePopupMenuCanceled, AccessBridge_PopupMenuCanceledFP, popupMenuCanceledFP) 229 FIRE_EVENT(firePopupMenuWillBecomeInvisible, AccessBridge_PopupMenuWillBecomeInvisibleFP, popupMenuWillBecomeInvisibleFP) 230 FIRE_EVENT(firePopupMenuWillBecomeVisible, AccessBridge_PopupMenuWillBecomeVisibleFP, popupMenuWillBecomeVisibleFP) 231 232 233 /** 234 * FIRE_PROPERTY_CHANGE - macro for all fireXXX methods (which 235 * all are basically identical to one another... 236 * 237 * Note: the event and source objects passed in are globalReferences; 238 * It is critical that releaseJavaObject() be called 239 * on them once they are no longer needed, otherwise 240 * the JavaVM/JNI will suffer memory leaks 241 * 242 */ 243 #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) 244 const char firePropertyChangeDebugString[] = "\r\nIn AccessBridgeEventHandler::%s, Firing a no-param property change (%p, %p):\r\n"; 245 #else // JOBJECT64 is jlong (64 bit) 246 const char firePropertyChangeDebugString[] = "\r\nIn AccessBridgeEventHandler::%s, Firing a no-param property change (%016I64X, %016I64X):\r\n"; 247 #endif 248 249 #define FIRE_PROPERTY_CHANGE(method, FPprototype, eventFP) \ 250 void AccessBridgeEventHandler::method(long vmID, JOBJECT64 event, JOBJECT64 source) { \ 251 DEBUG_CODE(char debugBuf[255]); \ 252 DEBUG_CODE(sprintf(debugBuf, firePropertyChangeDebugString, #method, event, source)); \ 253 DEBUG_CODE(AppendToCallInfo(debugBuf)); \ 254 if (eventFP != (FPprototype) 0) { \ 255 eventFP(vmID, event, source); \ 256 } else { \ 257 DEBUG_CODE(AppendToCallInfo(" Error! eventFP == 0\r\n")); \ 258 } \ 259 } 260 261 /** 262 * FIRE_STRING_PROPERTY_CHANGE - macro for all firePropertyXXXChange methods 263 * that have strings as the old/new values 264 265 * Note: the event and source objects passed in are globalReferences; 266 * It is critical that releaseJavaObject() be called 267 * on them once they are no longer needed, otherwise 268 * the JavaVM/JNI will suffer memory leaks 269 * 270 */ 271 #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) 272 const char fireStringPropertyChangeDebugString[] = "\r\nIn AccessBridgeEventHandler::%s, Firing a string property change (%p, %p, %ls, %ls):\r\n"; 273 #else // JOBJECT64 is jlong (64 bit) 274 const char fireStringPropertyChangeDebugString[] = "\r\nIn AccessBridgeEventHandler::%s, Firing a string property change (%016I64X, %016I64X, %ls, %ls):\r\n"; 275 #endif 276 277 #define FIRE_STRING_PROPERTY_CHANGE(method, FPprototype, eventFP, oldValue, newValue) \ 278 void AccessBridgeEventHandler::method(long vmID, JOBJECT64 event, JOBJECT64 source, \ 279 wchar_t *oldValue, wchar_t *newValue) { \ 280 DEBUG_CODE(char debugBuf[255]); \ 281 DEBUG_CODE(sprintf(debugBuf, fireStringPropertyChangeDebugString, #method, event, source, oldValue, newValue)); \ 282 DEBUG_CODE(AppendToCallInfo(debugBuf)); \ 283 if (eventFP != (FPprototype) 0) { \ 284 eventFP(vmID, event, source, oldValue, newValue); \ 285 } else { \ 286 DEBUG_CODE(AppendToCallInfo(" Error! eventFP == 0\r\n")); \ 287 } \ 288 } 289 290 /** 291 * FIRE_INT_PROPERTY_CHANGE - macro for all firePropertyXXXChange methods 292 * that have ints as the old/new values 293 * 294 * Note: the event and source objects passed in are globalReferences; 295 * It is critical that releaseJavaObject() be called 296 * on them once they are no longer needed, otherwise 297 * the JavaVM/JNI will suffer memory leaks 298 * 299 */ 300 #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) 301 const char fireIntPropertyChangeDebugString[] = "\r\nIn AccessBridgeEventHandler::%s, Firing an int property change (%p, %p, %d, %d):\r\n"; 302 #else // JOBJECT64 is jlong (64 bit) 303 const char fireIntPropertyChangeDebugString[] = "\r\nIn AccessBridgeEventHandler::%s, Firing an int property change (%016I64X, %016I64X, %d, %d):\r\n"; 304 #endif 305 306 #define FIRE_INT_PROPERTY_CHANGE(method, FPprototype, eventFP) \ 307 void AccessBridgeEventHandler::method(long vmID, JOBJECT64 event, JOBJECT64 source, \ 308 int oldValue, int newValue) { \ 309 DEBUG_CODE(char debugBuf[255]); \ 310 DEBUG_CODE(sprintf(debugBuf, fireIntPropertyChangeDebugString, #method, event, source, oldValue, newValue)); \ 311 DEBUG_CODE(AppendToCallInfo(debugBuf)); \ 312 if (eventFP != (FPprototype) 0) { \ 313 eventFP(vmID, event, source, oldValue, newValue); \ 314 } else { \ 315 DEBUG_CODE(AppendToCallInfo(" Error! eventFP == 0\r\n")); \ 316 } \ 317 } 318 319 /** 320 * FIRE_AC_PROPERTY_CHANGE - macro for all firePropertyXXXChange methods 321 * that have jobjects (AccessibleContexts) as the old/new values 322 * 323 * Note: the event and source objects passed in are globalReferences; 324 * It is critical that releaseJavaObject() be called 325 * on them once they are no longer needed, otherwise 326 * the JavaVM/JNI will suffer memory leaks 327 * 328 */ 329 #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) 330 const char fireACPropertyChangeDebugString[] = "\r\nIn AccessBridgeEventHandler::%s, Firing an AC property change (%p, %p, %p, %p):\r\n"; 331 #else // JOBJECT64 is jlong (64 bit) 332 const char fireACPropertyChangeDebugString[] = "\r\nIn AccessBridgeEventHandler::%s, Firing an AC property change (%016I64X, %016I64X, %016I64X, %016I64X):\r\n"; 333 #endif 334 335 #define FIRE_AC_PROPERTY_CHANGE(method, FPprototype, eventFP) \ 336 void AccessBridgeEventHandler::method(long vmID, JOBJECT64 event, JOBJECT64 source, \ 337 JOBJECT64 oldValue, JOBJECT64 newValue) { \ 338 DEBUG_CODE(char debugBuf[255]); \ 339 DEBUG_CODE(sprintf(debugBuf, fireACPropertyChangeDebugString, #method, event, source, oldValue, newValue)); \ 340 DEBUG_CODE(AppendToCallInfo(debugBuf)); \ 341 if (eventFP != (FPprototype) 0) { \ 342 eventFP(vmID, event, source, oldValue, newValue); \ 343 } else { \ 344 DEBUG_CODE(AppendToCallInfo(" Error! eventFP == 0\r\n")); \ 345 } \ 346 } 347 348 FIRE_STRING_PROPERTY_CHANGE(firePropertyNameChange, 349 AccessBridge_PropertyNameChangeFP, 350 propertyNameChangeFP, oldName, newName) 351 FIRE_STRING_PROPERTY_CHANGE(firePropertyDescriptionChange, 352 AccessBridge_PropertyDescriptionChangeFP, 353 propertyDescriptionChangeFP, 354 oldDescription, newDescription) 355 FIRE_STRING_PROPERTY_CHANGE(firePropertyStateChange, 356 AccessBridge_PropertyStateChangeFP, 357 propertyStateChangeFP, oldState, newState) 358 FIRE_STRING_PROPERTY_CHANGE(firePropertyValueChange, 359 AccessBridge_PropertyValueChangeFP, 360 propertyValueChangeFP, oldValue, newValue) 361 FIRE_PROPERTY_CHANGE(firePropertySelectionChange, 362 AccessBridge_PropertySelectionChangeFP, 363 propertySelectionChangeFP) 364 FIRE_PROPERTY_CHANGE(firePropertyTextChange, | 153 * on the PropertyChangeEvent once it is no longer needed, 154 * otherwise the JavaVM/JNI will suffer memory leaks 155 * 156 */ 157 void 158 AccessBridgeEventHandler::firePropertyChange(long vmID, 159 JOBJECT64 event, JOBJECT64 source, 160 wchar_t *property, wchar_t *oldName, 161 wchar_t *newName) { 162 DEBUG_CODE(char debugBuf[255]); 163 #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) 164 DEBUG_CODE(sprintf(debugBuf, "\r\nCalling firePropertyChange(%p, %p):\r\n", event, source)); 165 #else // JOBJECT64 is jlong (64 bit) 166 DEBUG_CODE(sprintf(debugBuf, "\r\nCalling firePropertyChange(%016I64X, %016I64X):\r\n", event, source)); 167 #endif 168 DEBUG_CODE(AppendToCallInfo(debugBuf)); 169 170 if (propertyChangeFP != (AccessBridge_PropertyChangeFP) 0) { 171 propertyChangeFP(vmID, event, source, property, oldName, newName); 172 } else { 173 DEBUG_CODE(AppendToCallInfo("[ERROR]: propertyChangeFP == 0")); 174 } 175 } 176 177 178 /** 179 * FIRE_EVENT - macro for all fireXXX methods (which 180 * all are basically identical to one another...) 181 * 182 * Note: the event and source objects passed in are globalReferences; 183 * It is critical that releaseJavaObject() be called 184 * on them once they are no longer needed, otherwise 185 * the JavaVM/JNI will suffer memory leaks 186 * 187 */ 188 #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) 189 const char fireEventDebugString[] = "[INFO]: In AccessBridgeEventHandler::%s(%p, %p); vmID = %X\r\n"; 190 #else // JOBJECT64 is jlong (64 bit) 191 const char fireEventDebugString[] = "[INFO]: In AccessBridgeEventHandler::%s(%016I64X, %016I64X); vmID = %X\r\n"; 192 #endif 193 194 #define FIRE_EVENT(method, FPprototype, eventFP) \ 195 void AccessBridgeEventHandler::method(long vmID, JOBJECT64 event, JOBJECT64 source) { \ 196 DEBUG_CODE(char debugBuf[255]); \ 197 DEBUG_CODE(sprintf(debugBuf, fireEventDebugString, #method, event, source, vmID)); \ 198 DEBUG_CODE(AppendToCallInfo(debugBuf)); \ 199 if (eventFP != (FPprototype) 0) { \ 200 eventFP(vmID, event, source); \ 201 } else { \ 202 DEBUG_CODE(AppendToCallInfo("[ERROR]: eventFP == 0")); \ 203 } \ 204 } 205 206 void AccessBridgeEventHandler::fireJavaShutdown(long vmID) { 207 DEBUG_CODE(char debugBuf[255]); 208 DEBUG_CODE(sprintf(debugBuf, "[INFO]: Calling fireJavaShutdown; vmID = %X\r\n", vmID)); 209 DEBUG_CODE(AppendToCallInfo(debugBuf)); 210 if (javaShutdownFP != (AccessBridge_JavaShutdownFP) 0) { 211 javaShutdownFP(vmID); 212 } else { 213 DEBUG_CODE(AppendToCallInfo("[ERROR]: javaShutdownFP == 0")); 214 } 215 } 216 217 FIRE_EVENT(fireFocusGained, AccessBridge_FocusGainedFP, focusGainedFP) 218 FIRE_EVENT(fireFocusLost, AccessBridge_FocusLostFP, focusLostFP) 219 FIRE_EVENT(fireCaretUpdate, AccessBridge_CaretUpdateFP, caretUpdateFP) 220 FIRE_EVENT(fireMouseClicked, AccessBridge_MouseClickedFP, mouseClickedFP) 221 FIRE_EVENT(fireMouseEntered, AccessBridge_MouseEnteredFP, mouseEnteredFP) 222 FIRE_EVENT(fireMouseExited, AccessBridge_MouseExitedFP, mouseExitedFP) 223 FIRE_EVENT(fireMousePressed, AccessBridge_MousePressedFP, mousePressedFP) 224 FIRE_EVENT(fireMouseReleased, AccessBridge_MouseReleasedFP, mouseReleasedFP) 225 FIRE_EVENT(fireMenuCanceled, AccessBridge_MenuCanceledFP, menuCanceledFP) 226 FIRE_EVENT(fireMenuDeselected, AccessBridge_MenuDeselectedFP, menuDeselectedFP) 227 FIRE_EVENT(fireMenuSelected, AccessBridge_MenuSelectedFP, menuSelectedFP) 228 FIRE_EVENT(firePopupMenuCanceled, AccessBridge_PopupMenuCanceledFP, popupMenuCanceledFP) 229 FIRE_EVENT(firePopupMenuWillBecomeInvisible, AccessBridge_PopupMenuWillBecomeInvisibleFP, popupMenuWillBecomeInvisibleFP) 230 FIRE_EVENT(firePopupMenuWillBecomeVisible, AccessBridge_PopupMenuWillBecomeVisibleFP, popupMenuWillBecomeVisibleFP) 231 232 233 /** 234 * FIRE_PROPERTY_CHANGE - macro for all fireXXX methods (which 235 * all are basically identical to one another... 236 * 237 * Note: the event and source objects passed in are globalReferences; 238 * It is critical that releaseJavaObject() be called 239 * on them once they are no longer needed, otherwise 240 * the JavaVM/JNI will suffer memory leaks 241 * 242 */ 243 #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) 244 const char firePropertyChangeDebugString[] = "[INFO]: In AccessBridgeEventHandler::%s, Firing a no-param property change (%p, %p):\r\n"; 245 #else // JOBJECT64 is jlong (64 bit) 246 const char firePropertyChangeDebugString[] = "[INFO]: In AccessBridgeEventHandler::%s, Firing a no-param property change (%016I64X, %016I64X):\r\n"; 247 #endif 248 249 #define FIRE_PROPERTY_CHANGE(method, FPprototype, eventFP) \ 250 void AccessBridgeEventHandler::method(long vmID, JOBJECT64 event, JOBJECT64 source) { \ 251 DEBUG_CODE(char debugBuf[255]); \ 252 DEBUG_CODE(sprintf(debugBuf, firePropertyChangeDebugString, #method, event, source)); \ 253 DEBUG_CODE(AppendToCallInfo(debugBuf)); \ 254 if (eventFP != (FPprototype) 0) { \ 255 eventFP(vmID, event, source); \ 256 } else { \ 257 DEBUG_CODE(AppendToCallInfo("[ERROR]: eventFP == 0")); \ 258 } \ 259 } 260 261 /** 262 * FIRE_STRING_PROPERTY_CHANGE - macro for all firePropertyXXXChange methods 263 * that have strings as the old/new values 264 265 * Note: the event and source objects passed in are globalReferences; 266 * It is critical that releaseJavaObject() be called 267 * on them once they are no longer needed, otherwise 268 * the JavaVM/JNI will suffer memory leaks 269 * 270 */ 271 #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) 272 const char fireStringPropertyChangeDebugString[] = "[INFO]: In AccessBridgeEventHandler::%s, Firing a string property change (%p, %p, %ls, %ls):\r\n"; 273 #else // JOBJECT64 is jlong (64 bit) 274 const char fireStringPropertyChangeDebugString[] = "[INFO]: In AccessBridgeEventHandler::%s, Firing a string property change (%016I64X, %016I64X, %ls, %ls):\r\n"; 275 #endif 276 277 #define FIRE_STRING_PROPERTY_CHANGE(method, FPprototype, eventFP, oldValue, newValue) \ 278 void AccessBridgeEventHandler::method(long vmID, JOBJECT64 event, JOBJECT64 source, \ 279 wchar_t *oldValue, wchar_t *newValue) { \ 280 DEBUG_CODE(char debugBuf[255]); \ 281 DEBUG_CODE(sprintf(debugBuf, fireStringPropertyChangeDebugString, #method, event, source, oldValue, newValue)); \ 282 DEBUG_CODE(AppendToCallInfo(debugBuf)); \ 283 if (eventFP != (FPprototype) 0) { \ 284 eventFP(vmID, event, source, oldValue, newValue); \ 285 } else { \ 286 DEBUG_CODE(AppendToCallInfo("[ERROR]: eventFP == 0\r\n")); \ 287 } \ 288 } 289 290 /** 291 * FIRE_INT_PROPERTY_CHANGE - macro for all firePropertyXXXChange methods 292 * that have ints as the old/new values 293 * 294 * Note: the event and source objects passed in are globalReferences; 295 * It is critical that releaseJavaObject() be called 296 * on them once they are no longer needed, otherwise 297 * the JavaVM/JNI will suffer memory leaks 298 * 299 */ 300 #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) 301 const char fireIntPropertyChangeDebugString[] = "[INFO]: In AccessBridgeEventHandler::%s, Firing an int property change (%p, %p, %d, %d):\r\n"; 302 #else // JOBJECT64 is jlong (64 bit) 303 const char fireIntPropertyChangeDebugString[] = "[INFO]: In AccessBridgeEventHandler::%s, Firing an int property change (%016I64X, %016I64X, %d, %d):\r\n"; 304 #endif 305 306 #define FIRE_INT_PROPERTY_CHANGE(method, FPprototype, eventFP) \ 307 void AccessBridgeEventHandler::method(long vmID, JOBJECT64 event, JOBJECT64 source, \ 308 int oldValue, int newValue) { \ 309 DEBUG_CODE(char debugBuf[255]); \ 310 DEBUG_CODE(sprintf(debugBuf, fireIntPropertyChangeDebugString, #method, event, source, oldValue, newValue)); \ 311 DEBUG_CODE(AppendToCallInfo(debugBuf)); \ 312 if (eventFP != (FPprototype) 0) { \ 313 eventFP(vmID, event, source, oldValue, newValue); \ 314 } else { \ 315 DEBUG_CODE(AppendToCallInfo("[ERROR]: eventFP == 0\r\n")); \ 316 } \ 317 } 318 319 /** 320 * FIRE_AC_PROPERTY_CHANGE - macro for all firePropertyXXXChange methods 321 * that have jobjects (AccessibleContexts) as the old/new values 322 * 323 * Note: the event and source objects passed in are globalReferences; 324 * It is critical that releaseJavaObject() be called 325 * on them once they are no longer needed, otherwise 326 * the JavaVM/JNI will suffer memory leaks 327 * 328 */ 329 #ifdef ACCESSBRIDGE_ARCH_LEGACY // JOBJECT64 is jobject (32 bit pointer) 330 const char fireACPropertyChangeDebugString[] = "[INFO]: In AccessBridgeEventHandler::%s, Firing an AC property change (%p, %p, %p, %p):\r\n"; 331 #else // JOBJECT64 is jlong (64 bit) 332 const char fireACPropertyChangeDebugString[] = "[INFO]: In AccessBridgeEventHandler::%s, Firing an AC property change (%016I64X, %016I64X, %016I64X, %016I64X):\r\n"; 333 #endif 334 335 #define FIRE_AC_PROPERTY_CHANGE(method, FPprototype, eventFP) \ 336 void AccessBridgeEventHandler::method(long vmID, JOBJECT64 event, JOBJECT64 source, \ 337 JOBJECT64 oldValue, JOBJECT64 newValue) { \ 338 DEBUG_CODE(char debugBuf[255]); \ 339 DEBUG_CODE(sprintf(debugBuf, fireACPropertyChangeDebugString, #method, event, source, oldValue, newValue)); \ 340 DEBUG_CODE(AppendToCallInfo(debugBuf)); \ 341 if (eventFP != (FPprototype) 0) { \ 342 eventFP(vmID, event, source, oldValue, newValue); \ 343 } else { \ 344 DEBUG_CODE(AppendToCallInfo("[ERROR]: eventFP == 0\r\n")); \ 345 } \ 346 } 347 348 FIRE_STRING_PROPERTY_CHANGE(firePropertyNameChange, 349 AccessBridge_PropertyNameChangeFP, 350 propertyNameChangeFP, oldName, newName) 351 FIRE_STRING_PROPERTY_CHANGE(firePropertyDescriptionChange, 352 AccessBridge_PropertyDescriptionChangeFP, 353 propertyDescriptionChangeFP, 354 oldDescription, newDescription) 355 FIRE_STRING_PROPERTY_CHANGE(firePropertyStateChange, 356 AccessBridge_PropertyStateChangeFP, 357 propertyStateChangeFP, oldState, newState) 358 FIRE_STRING_PROPERTY_CHANGE(firePropertyValueChange, 359 AccessBridge_PropertyValueChangeFP, 360 propertyValueChangeFP, oldValue, newValue) 361 FIRE_PROPERTY_CHANGE(firePropertySelectionChange, 362 AccessBridge_PropertySelectionChangeFP, 363 propertySelectionChangeFP) 364 FIRE_PROPERTY_CHANGE(firePropertyTextChange, |