summaryrefslogtreecommitdiff
path: root/src/net/tuschhcm/routercontrol/router/Router.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/tuschhcm/routercontrol/router/Router.java')
-rw-r--r--src/net/tuschhcm/routercontrol/router/Router.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/net/tuschhcm/routercontrol/router/Router.java b/src/net/tuschhcm/routercontrol/router/Router.java
new file mode 100644
index 0000000..d6fe2dd
--- /dev/null
+++ b/src/net/tuschhcm/routercontrol/router/Router.java
@@ -0,0 +1,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);
+}