X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fbackend%2FTerminalReader.java;fp=src%2Fjexer%2Fsession%2Fpackage-info.java;h=48e4043f92b34bab0b208bd3e6453e26d5024360;hb=42873e30bf487bc0b695d60652dba44f82185dbb;hp=0b6ccf0fa22fec8d4e00ed5754db718579b0e6e5;hpb=2fef9c6eaa2ba32e7a14ea1e469ec471b05019a2;p=fanfix.git diff --git a/src/jexer/session/package-info.java b/src/jexer/backend/TerminalReader.java similarity index 63% rename from src/jexer/session/package-info.java rename to src/jexer/backend/TerminalReader.java index 0b6ccf0..48e4043 100644 --- a/src/jexer/session/package-info.java +++ b/src/jexer/backend/TerminalReader.java @@ -26,8 +26,36 @@ * @author Kevin Lamonte [kevin.lamonte@gmail.com] * @version 1 */ +package jexer.backend; + +import java.util.List; + +import jexer.event.TInputEvent; /** - * Text terminal session values: width, height, username, language, etc. + * TerminalReader provides keyboard and mouse events. */ -package jexer.session; +public interface TerminalReader { + + /** + * Check if there are events in the queue. + * + * @return if true, getEvents() has something to return to the backend + */ + public boolean hasEvents(); + + /** + * Classes must provide an implementation to get keyboard, mouse, and + * screen resize events. + * + * @param queue list to append new events to + */ + public void getEvents(List queue); + + /** + * Classes must provide an implementation that closes sockets, restores + * console, etc. + */ + public void closeTerminal(); + +}