| /* |
| * Copyright (C) 2012 The Android Open Source Project |
| * |
| * 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.motorola.studio.android.emulator.core.model; |
| |
| import java.io.File; |
| import java.util.Properties; |
| |
| import org.eclipse.sequoyah.vnc.protocol.lib.ProtocolHandle; |
| import org.eclipse.swt.widgets.Composite; |
| |
| import com.motorola.studio.android.emulator.core.exception.InstanceStopException; |
| |
| /** |
| * DESCRIPTION: |
| * This class represents the Android Emulator instance contract. |
| * |
| * RESPONSIBILITY: |
| * Define which information is required from a device that wishes to use |
| * the Android Emulator viewer. |
| * |
| * COLABORATORS: |
| * None. |
| * |
| * USAGE: |
| * Use the methods to retrieve information from an Android Emulator device instance |
| */ |
| public interface IAndroidEmulatorInstance |
| { |
| /** |
| * Gets the instance name in simplified format |
| * |
| * @return The instance name |
| */ |
| String getName(); |
| |
| /** |
| * Gets the instance name in full format |
| * |
| * @return The instance name |
| */ |
| String getFullName(); |
| |
| /** |
| * Gets the identifier for this instance, that is available when the emulator is started. |
| * |
| * @return the instance identifier |
| */ |
| String getInstanceIdentifier(); |
| |
| /** |
| * Sets the current layout being used by this instance |
| * |
| * @param layoutName The new layout |
| */ |
| void setCurrentLayout(String layoutName); |
| |
| /** |
| * Gets the current known status of the flip or slide |
| * |
| * @return True if the flip/slide is closed; false otherwise |
| */ |
| String getCurrentLayout(); |
| |
| /** |
| * Sets the parameter used to determine if this instance has CLI display or not |
| * |
| * @param hasCli True if the instance has CLI; false otherwise |
| */ |
| void setHasCli(boolean hasCli); |
| |
| /** |
| * Gets the parameter used to determine if this instance has CLI display or not |
| * |
| * @return True if the instance has CLI; false otherwise |
| */ |
| boolean getHasCli(); |
| |
| /** |
| * Sets the Android protocol object created when connecting to the VM |
| * |
| * @param handle The Android protocol object provided when connecting |
| * the protocol |
| */ |
| void setProtocolHandle(ProtocolHandle handle); |
| |
| /** |
| * Gets the Android protocol object object that identifies the protocol connection |
| * |
| * @returns The Android protocol object representing the connection of this |
| * instance |
| */ |
| ProtocolHandle getProtocolHandle(); |
| |
| /** |
| * Gets the id of the skin logic being used for this instance |
| * |
| * @return The skin id |
| */ |
| String getSkinId(); |
| |
| /** |
| * Gets the path of the files being used to draw the skin for this instance |
| * |
| * @return A pointer to the folder that contains the files to be used |
| * to draw the skin for this instance |
| */ |
| File getSkinPath(); |
| |
| /** |
| * Tests if the instance is started |
| * |
| * @return True if it is started; false otherwise |
| */ |
| boolean isStarted(); |
| |
| /** |
| * Test if the instance is connected, i.e. |
| * The communication protocol is running |
| * |
| * @return True if it is connected; false otherwise |
| */ |
| boolean isConnected(); |
| |
| /** |
| * Test if the instance is available, i.e. |
| * The instance type is available for the current SDK setup. |
| * |
| * @return True if it's available; false otherwise |
| */ |
| boolean isAvailable(); |
| |
| /** |
| * Stops the Android Emulator instance |
| * |
| * @param force whether the stop should be forced or not |
| * |
| * @throws InstanceStopException If the instance fails to stop |
| */ |
| void stop(boolean force) throws InstanceStopException; |
| |
| /** |
| * Retrieves the collection of all instance properties |
| * |
| * @return The collection of instance properties |
| */ |
| public Properties getProperties(); |
| |
| /** |
| * Retrieves the input logic used by this instance to send data to the emulator |
| * |
| * @return The input logic used by this instance |
| */ |
| public IInputLogic getInputLogic(); |
| |
| /** |
| * Gets the emulator process associated to this instance when it's running |
| * @return the Process representing the emulator process |
| */ |
| public Process getProcess(); |
| |
| /** |
| * Sets the emulator process associated to this emulator instance while it's running |
| * @param process |
| */ |
| public void setProcess(Process process); |
| |
| /** |
| * Performs any needed operations to change the instance orientation/rotation |
| * |
| * @param args Additional data provided by the skin to perform the operation |
| */ |
| public void changeOrientation(String args); |
| |
| /** |
| * Get the Android target that the instance is compliant to |
| * |
| * @return Android target that the instance is compliant to |
| */ |
| public String getTarget(); |
| |
| /** |
| * Get the Android API level that the instance is compliant to |
| * |
| * @return Android API level that the instance is compliant to |
| */ |
| public int getAPILevel(); |
| |
| /** |
| * Get the Android Emulator window handle |
| * |
| * @return Android target that the instance is compliant to |
| */ |
| public long getWindowHandle(); |
| |
| /** |
| * Sets the handle of the emulator window associated with the instance |
| * |
| * @param handle |
| */ |
| public void setWindowHandle(long handle); |
| |
| /** |
| * |
| * @param contentComposite |
| */ |
| public void setComposite(Composite composite); |
| |
| /** |
| * |
| * @return |
| */ |
| public Composite getComposite(); |
| |
| |
| } |