/* * Copyright 2006 Google Inc. * * Licensed 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 com.google.gwt.dev.shell; import com.google.gwt.core.ext.UnableToCompleteException; import com.google.gwt.dev.ModuleHandle; /** * Interface that unifies access to the <code>BrowserWidget</code>, * <code>ModuleSpaceHost</code>, and the compiler. */ public interface BrowserWidgetHost { /** * Create a logger for a module instance. * * @param moduleName * @param userAgent * @param url URL of top-level window, may be null for old browser plugins * @param tabKey opaque key for the tab, may be empty string if the plugin * can't distinguish tabs or null if using an old browser plugin * @param sessionKey unique session key, may be null for old browser plugins * @param serverChannel connection from the client * @param userAgentIcon byte array containing an icon (which fits in 24x24) * for this user agent or null if unavailable * @return ModuleHandle instance -- caller is responsible for calling * {@link ModuleHandle#unload()} on it when done */ ModuleHandle createModuleLogger(String moduleName, String userAgent, String url, String tabKey, String sessionKey, BrowserChannelServer serverChannel, byte[] userAgentIcon); /** * Create a ModuleSpaceHost for the specified module. * * @param module ModuleHandle returned from a previous createModuleLogger * call. * @param moduleName name of module to create * @return ModuleSpaceHost instance * @throws UnableToCompleteException */ ModuleSpaceHost createModuleSpaceHost(ModuleHandle module, String moduleName) throws UnableToCompleteException; }