/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package flash.tools.debugger; import flash.tools.debugger.expression.PlayerFaultException; /** * Worker specific debug session commands. These are a subset of Session that * can be individually routed to a specific worker (including the main worker if * the player does not support concurrency). This is implemented by * PlayerSession and used by the getWorkerSession() api. * * @see flash.tools.debugger.IsolateSession, * flash.tools.debugger.Session#getWorkerSession(int) * @author anirudhs * */ public interface IsolateController { /** * @see flash.tools.debugger.Session#resume() */ public void resumeWorker(int isolateId) throws NotSuspendedException, NotConnectedException, NoResponseException; /** * @see flash.tools.debugger.Session#suspend() */ public void suspendWorker(int isolateId) throws SuspendedException, NotConnectedException, NoResponseException; /** * @see flash.tools.debugger.Session#isSuspended() */ public boolean isWorkerSuspended(int isolateId) throws NotConnectedException; /** * @see flash.tools.debugger.Session#isSuspended() */ public int suspendReasonWorker(int isolateId) throws NotConnectedException; /** * @see flash.tools.debugger.Session#getFrames() */ public Frame[] getFramesWorker(int isolateId) throws NotConnectedException; /** * @see flash.tools.debugger.Session#stepInto() */ public void stepIntoWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException; /** * @see flash.tools.debugger.Session#stepOut() */ public void stepOutWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException; /** * @see flash.tools.debugger.Session#stepOver() */ public void stepOverWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException; /** * @see flash.tools.debugger.Session#stepContinue() */ public void stepContinueWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException; /** * @see flash.tools.debugger.Session#getSwfs() */ public SwfInfo[] getSwfsWorker(int isolateId) throws NoResponseException; /** * @see flash.tools.debugger.Session#setBreakpoint(int, int) */ public Location setBreakpointWorker(int fileId, int lineNum, int isolateId) throws NoResponseException, NotConnectedException; /** * @see flash.tools.debugger.Session#getWatchList() */ public Watch[] getWatchListWorker(int isolateId) throws NoResponseException, NotConnectedException; /** * @see flash.tools.debugger.Session#getVariableList() */ public Variable[] getVariableListWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException, VersionException; /** * @see flash.tools.debugger.Session#getValue(long) */ public Value getValueWorker(long valueId, int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException; /** * @see flash.tools.debugger.Session#getGlobal(String) */ public Value getGlobalWorker(String name, int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException; /** * @see flash.tools.debugger.Session#evalIs(Value, Value) */ public boolean evalIsWorker(Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException; /** * @see flash.tools.debugger.Session#evalIs(Value, String) */ public boolean evalIsWorker(Value value, String type, int isolateId) throws PlayerDebugException, PlayerFaultException; /** * @see flash.tools.debugger.Session#evalInstanceof(Value, Value) */ public boolean evalInstanceofWorker(Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException; /** * @see flash.tools.debugger.Session#evalInstanceof(Value, String) */ public boolean evalInstanceofWorker(Value value, String type, int isolateId) throws PlayerDebugException, PlayerFaultException; /** * @see flash.tools.debugger.Session#evalIn(Value, Value) */ public boolean evalInWorker(Value property, Value object, int isolateId) throws PlayerDebugException, PlayerFaultException; /** * @see flash.tools.debugger.Session#evalAs(Value, Value) */ public Value evalAsWorker(Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException; /** * @see flash.tools.debugger.Session#callFunction(Value, String, Value[]) */ public Value callFunctionWorker(Value thisObject, String functionName, Value[] args, int isolateId) throws PlayerDebugException; /** * @see flash.tools.debugger.Session#callConstructor(String, Value[]) */ public Value callConstructorWorker(String classname, Value[] args, int isolateId) throws PlayerDebugException; /** * @see flash.tools.debugger.Session#setExceptionBreakpoint(String) */ public boolean setExceptionBreakpointWorker(String exceptionClass, int isolateId) throws NoResponseException, NotConnectedException; /** * @see flash.tools.debugger.Session#clearExceptionBreakpoint(String) */ public boolean clearExceptionBreakpointWorker(String exceptionClass, int isolateId) throws NoResponseException, NotConnectedException; /** * @see flash.tools.debugger.Session#breakOnCaughtExceptions(boolean) */ public void breakOnCaughtExceptions(boolean b, int isolateId) throws NotSupportedException, NoResponseException; /** * @see flash.tools.debugger.Session#supportsWatchpoints() */ public boolean supportsWatchpoints(int isolateId); /** * @see flash.tools.debugger.Session#playerCanBreakOnAllExceptions() */ public boolean playerCanBreakOnAllExceptions(int isolateId); /** * @see flash.tools.debugger.Session#supportsWideLineNumbers() */ public boolean supportsWideLineNumbers(int isolateId); /** * @see flash.tools.debugger.Session#playerCanCallFunctions(String) */ public boolean playerCanCallFunctions(int isolateId); }