package org.droidplanner.services.android.impl.core.drone.autopilot; import org.droidplanner.services.android.impl.core.drone.DroneInterfaces; import com.o3dr.services.android.lib.drone.property.DroneAttribute; import com.o3dr.services.android.lib.model.ICommandListener; import com.o3dr.services.android.lib.model.action.Action; /** * Created by Fredia Huya-Kouadio on 7/27/15. */ public interface Drone { /** * Gets the vehicle id. * The format used for the vehicle id is autopilot specific. * @return Vehicle id */ String getId(); boolean isConnected(); DroneAttribute getAttribute(String attributeType); boolean executeAsyncAction(Action action, ICommandListener listener); void setAttributeListener(DroneInterfaces.AttributeEventListener listener); void destroy(); void addDroneListener(DroneInterfaces.OnDroneListener listener); void removeDroneListener(DroneInterfaces.OnDroneListener listener); void notifyDroneEvent(DroneInterfaces.DroneEventsType event); }