All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opentcs.access.rmi.services.RemoteVehicleService Maven / Gradle / Ivy

There is a newer version: 6.2.0
Show newest version
/**
 * Copyright (c) The openTCS Authors.
 *
 * This program is free software and subject to the MIT license. (For details,
 * see the licensing information (LICENSE.txt) you should have received with
 * this copy of the software.)
 */
package org.opentcs.access.rmi.services;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Set;
import org.opentcs.access.rmi.ClientID;
import org.opentcs.components.kernel.services.VehicleService;
import org.opentcs.data.TCSObjectReference;
import org.opentcs.data.model.Vehicle;
import org.opentcs.data.model.Vehicle.EnergyLevelThresholdSet;
import org.opentcs.drivers.vehicle.AdapterCommand;
import org.opentcs.drivers.vehicle.VehicleCommAdapterDescription;
import org.opentcs.drivers.vehicle.management.VehicleAttachmentInformation;
import org.opentcs.drivers.vehicle.management.VehicleProcessModelTO;
import org.opentcs.util.annotations.ScheduledApiChange;

/**
 * Declares the methods provided by the {@link VehicleService} via RMI.
 *
 * 

* The majority of the methods declared here have signatures analogous to their counterparts in * {@link VehicleService}, with an additional {@link ClientID} parameter which serves the purpose * of identifying the calling client and determining its permissions. *

*

* To avoid redundancy, the semantics of methods that only pass through their arguments are not * explicitly documented here again. See the corresponding API documentation in * {@link VehicleService} for these, instead. *

*/ public interface RemoteVehicleService extends RemoteTCSObjectService, Remote { // CHECKSTYLE:OFF void attachCommAdapter( ClientID clientId, TCSObjectReference ref, VehicleCommAdapterDescription description ) throws RemoteException; void disableCommAdapter(ClientID clientId, TCSObjectReference ref) throws RemoteException; void enableCommAdapter(ClientID clientId, TCSObjectReference ref) throws RemoteException; VehicleAttachmentInformation fetchAttachmentInformation( ClientID clientId, TCSObjectReference ref ) throws RemoteException; VehicleProcessModelTO fetchProcessModel(ClientID clientId, TCSObjectReference ref) throws RemoteException; void sendCommAdapterCommand( ClientID clientId, TCSObjectReference ref, AdapterCommand command ) throws RemoteException; void sendCommAdapterMessage( ClientID clientId, TCSObjectReference vehicleRef, Object message ) throws RemoteException; void updateVehicleIntegrationLevel( ClientID clientId, TCSObjectReference ref, Vehicle.IntegrationLevel integrationLevel ) throws RemoteException; void updateVehiclePaused( ClientID clientId, TCSObjectReference ref, boolean paused ) throws RemoteException; @ScheduledApiChange(when = "7.0", details = "Default implementation will be removed.") default void updateVehicleEnergyLevelThresholdSet( ClientID clientId, TCSObjectReference ref, EnergyLevelThresholdSet energyLevelThresholdSet ) throws RemoteException { throw new UnsupportedOperationException("Not yet implemented."); } void updateVehicleAllowedOrderTypes( ClientID clientId, TCSObjectReference ref, Set allowedOrderTypes ) throws RemoteException; void updateVehicleEnvelopeKey( ClientID clientId, TCSObjectReference ref, String envelopeKey ) throws RemoteException; // CHECKSTYLE:ON }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy