Scheduler: Implement new file descriptor event API
[senf.git] / Console / Readline.hh
index 7ac5741..69ae87d 100644 (file)
@@ -31,7 +31,6 @@
 #include "Server.hh"
 #include "../Utils/Exception.hh"
 #include "../Scheduler/Scheduler.hh"
-#include "../Scheduler/Binding.hh"
 
 //#include "Readline.mpp"
 ///////////////////////////////hh.p////////////////////////////////////////
@@ -40,6 +39,8 @@ namespace senf {
 namespace console {
 namespace detail {
 
+#ifndef DOXYGEN
+
     /** \brief Internal: GNU readline based ClientReader implementation
         
         This implementation of the ClientReader interface uses GNU readline library to provide a
@@ -63,21 +64,27 @@ namespace detail {
         void callback(std::string line);
         void write(std::string text);
         void terminate();
+        void eof();
         
     private:
         virtual void v_disablePrompt();
         virtual void v_enablePrompt();
         virtual void v_translate(std::string & data);
 
-        void charEvent(Scheduler::EventId event);
+        void charEvent(int event);
 
         static ReadlineClientReader * instance_;
         int ch_;
         unsigned skipChars_;
         char nameBuffer_[256];
         char promptBuffer_[1024];
-        SchedulerBinding schedBinding_;
+        scheduler::FdEvent readevent_;
         bool terminate_;
+
+        char * savedLineBuffer_;
+        int savedPoint_;
+        int savedEnd_;
+        int savedMark_;
     };
 
     /** \brief Internal: Safe GNU readline based ClientReader implementation
@@ -101,6 +108,8 @@ namespace detail {
         boost::scoped_ptr<ClientReader> reader_;
     };
 
+#endif
+
 }}}
 
 ///////////////////////////////hh.e////////////////////////////////////////