/* * 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.logic; import java.io.File; import java.util.List; import java.util.Properties; import com.motorola.studio.android.emulator.core.model.IAndroidEmulatorInstance; /** * DESCRIPTION: * This class adds to the Android Emulator instance contract * some specific methods related to services logic. * * RESPONSIBILITY: * Define which additional information is required from a services to * plug to the Android Emulator viewer. * * COLABORATORS: * None. * * USAGE: * Use the methods to retrieve information from a Android Emulator device instance */ public interface IAndroidLogicInstance extends IAndroidEmulatorInstance { /** * Get the command lines arguments for the instance * * @return list of command line arguments */ String getCommandLineArguments(); /** * Get the command lines arguments for the instance, returned as a Property object * * @return list of command line arguments */ Properties getCommandLineArgumentsAsProperties(); /** * Get the Start logic for this instance, which is the commands used to start the instance * * @return Start logic class */ AbstractStartAndroidEmulatorLogic getStartLogic(); /** * Check if there is a device connected to this instance * * @return true if there is a device connected, false otherwise */ boolean hasDevice(); /** * Get the reference to the File that point to the filesystem location where the * user data of the VM is. * * @return the File object that references the filesystem location where the userdata * of the given VM should be. Returns a null reference if SDK is not configured * or if there is no VM with the given name. */ File getUserdata(); /** * Get the reference to the files in the VM folder that contain state data. * * @return File objects that reference files in the VM folder that contain state data. */ List<File> getStateData(); /** * Tests if there is a userdata file for this android device instance or if it is clean, * i.e, there is no user data file for this Android Device Instance. * * @return True if there is no working copy at that location; false otherwise */ boolean isClean(); /** * Get the timeout value to start the instance * * @return timeout value */ int getTimeout(); File getSnapshotOriginalFilePath(); }