summaryrefslogtreecommitdiff
path: root/src/net/tuschhcm/routercontrol/router/Router.java
blob: 7291bfd10263c863d853c70f3427638032c16ccb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package net.tuschhcm.routercontrol.router;

/**
 * Interface specification for a router
 */
public interface Router {
    /**
     * Send the given input to the given output.
     * 
     * @param output
     * @param input
     * 
     * @throws IllegalArgumentException if input or output are out of range.
     */
    public void switchInput(int output, int input) throws IllegalArgumentException;
    
    /**
     * Power on or power off the router
     * 
     * @param True to turn on the router 
     */
    public void setPower(boolean on);
    
    /**
     * Enable or disable physical controls
     * @param enabled true to disable the controls.
     */
    public void setLockControls(boolean enabled);
}