1 55 56 package org.apache.bsf.debug.meta; 57 58 import java.io.*; 59 import java.net.*; 60 import org.apache.bsf.debug.*; 61 import org.apache.bsf.debug.jsdi.*; 62 import org.apache.bsf.debug.util.*; 63 public class JsEngineDispatcher extends Dispatcher { 64 public JsEngineDispatcher(SocketConnection con) { 65 super(con); 66 } 67 68 public void dispatch(ResultCell rcell) throws Exception { 69 String filename, lang; 70 int count, tid, uid; 71 boolean bool; 72 JsContext cx; 73 Object obj; 74 int depth; 75 JsEngine self; 76 JsCallbacks callbacks; 77 78 self = (JsEngine) rcell.selfSkel; 79 80 switch (rcell.methodId) { 81 82 case DebugConstants.CB_POLL: 83 rcell.booleanResult(true); 84 break; 85 86 case DebugConstants.JE_SET_DEBUGGER: 87 callbacks = (JsCallbacks)rcell.readObject(); 88 self.setDebugger(callbacks); 89 rcell.voidResult(); 90 break; 91 92 case DebugConstants.JE_GET_CONTEXT_AT : 93 depth = rcell.readInt(); 94 DebugLog.stdoutPrintln(" depth="+depth, 95 DebugLog.BSF_LOG_L3); 96 cx = self.getContext(depth); 97 DebugLog.stdoutPrintln(" cx="+cx, 98 DebugLog.BSF_LOG_L3); 99 rcell.objectResult(cx); 100 break; 101 102 case DebugConstants.JE_GET_CONTEXT_COUNT : 103 count = self.getContextCount(); 104 rcell.intResult(count); 105 break; 106 107 case DebugConstants.JE_GET_THREAD : 108 obj = self.getThread(); 109 rcell.objectResult(obj); 110 break; 111 112 case DebugConstants.JE_GET_THREADGROUP : 113 obj = self.getThreadGroup(); 114 rcell.objectResult(obj); 115 break; 116 117 case DebugConstants.JE_RUN : 118 self.run(); 119 rcell.voidResult(); 120 break; 121 122 case DebugConstants.JE_STEP_IN : 123 self.stepIn(); 124 rcell.voidResult(); 125 break; 126 127 case DebugConstants.JE_STEP_OUT : 128 self.stepOut(); 129 rcell.voidResult(); 130 break; 131 132 case DebugConstants.JE_STEP_OVER : 133 self.stepOver(); 134 rcell.voidResult(); 135 break; 136 case DebugConstants.JE_GET_GLOBAL_OBJECT : 137 obj = self.getGlobalObject(); 138 rcell.objectResult(obj); 139 break; 140 141 case DebugConstants.JE_GET_UNDEFINED_VALUE : 142 obj = self.getUndefinedValue(); 143 rcell.objectResult(obj); 144 break; 145 } 146 } 147 } 148 | Popular Tags |