summaryrefslogtreecommitdiff
path: root/src/dev/terminal.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/dev/terminal.hh')
-rw-r--r--src/dev/terminal.hh17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/dev/terminal.hh b/src/dev/terminal.hh
index e2322d7c2..f7a860ac5 100644
--- a/src/dev/terminal.hh
+++ b/src/dev/terminal.hh
@@ -38,6 +38,7 @@
#include <iostream>
+#include "base/callback.hh"
#include "base/circlebuf.hh"
#include "base/pollevent.hh"
#include "base/socket.hh"
@@ -46,12 +47,24 @@
#include "sim/sim_object.hh"
class TerminalListener;
-class Uart;
class Terminal : public SimObject
{
public:
- Uart *uart;
+ /**
+ * Register a data available callback into the transport layer.
+ *
+ * The terminal needs to call the underlying transport layer to
+ * inform it of available data. The transport layer uses this
+ * method to register a callback that informs it of pending data.
+ *
+ * @param c Callback instance from transport layer.
+ */
+ void regDataAvailCallback(Callback *c);
+
+ protected:
+ /** Currently registered transport layer callbacks */
+ Callback *termDataAvail;
protected:
class ListenEvent : public PollEvent