1 package iotcode.interfaces;
4 import java.rmi.Remote;
5 import java.rmi.RemoteException;
8 import iotchecker.qual.NonLocalRemote;
10 /** Gateway public interface, e.g. for PhoneGateway
12 * @author Rahmadi Trimananda <rahmadi.trimananda @ uci.edu>
17 public interface GPSGateway extends Remote {
19 /** Method to start the gateway.
25 public void start() throws RemoteException;
28 /** Method to stop the gateway.
34 public void stop() throws RemoteException;
37 /** Method to initialize the gateway.
39 * @return [void] None.
41 public void init() throws RemoteException;
44 /** Register an object to retrieve callbacks when new data is available.
46 * @param _callbackTo [PhoneGatewayCallback].
48 * @return [void] None.
50 public void registerCallback(@NonLocalRemote GPSGatewayCallback _callbackTo) throws RemoteException;
53 /** Get room identifier
57 * @return [int] Room identifier.
59 public int getRoomID() throws RemoteException;
66 * @return [boolean] Ring status (true/false).
68 public boolean getRingStatus() throws RemoteException;
70 /** Set boolean of new room identifier availability
72 * @param [boolean] Room identifier availability (true if there is new room ID)
74 * @return [void] None.
76 public void setNewRoomIDAvailable(boolean bValue) throws RemoteException;
78 /** Set boolean of new ring status availability
80 * @param [boolean] Ring status availability (true if there is new ring status)
82 * @return [void] None.
84 public void setNewRingStatusAvailable(boolean bValue) throws RemoteException;