// $Id$
//
-// Copyright (C) 2008
+// Copyright (C) 2008
// Fraunhofer Institute for Open Communication Systems (FOKUS)
// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
#include <boost/iostreams/concepts.hpp>
#include <boost/iostreams/stream.hpp>
#include <set>
+#include <senf/Utils/Logger/SenfLog.hh>
-///////////////////////////////ih.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
namespace senf {
namespace console {
\fixme Don't throw exceptions ... set stream error indicator (if at all)
*/
- class NonblockingSocketSink
+ class NonblockingSocketSink
: public boost::iostreams::sink
{
public:
std::streamsize write(const char * s, std::streamsize n);
Client & client() const;
-
+
private:
Client & client_;
};
typedef boost::iostreams::stream<NonblockingSocketSink> NonblockingSocketOStream;
typedef senf::ServerSocketHandle<
- senf::MakeSocketPolicy< senf::TCPv4SocketProtocol::Policy,
+ senf::MakeSocketPolicy< senf::TCPv4SocketProtocol::Policy,
senf::BSDAddressingPolicy>::policy > ServerHandle;
/** \brief Internal: Generic client interface
class ClientReader
{
public:
+ SENF_LOG_CLASS_AREA();
+
typedef ServerHandle::ClientHandle ClientHandle;
virtual ~ClientReader() = 0;
};
/** \brief Internal: Primitive ClientReader implementation
-
+
This implementation uses the cooked telnet mode to read lines from the console. It does not
support explicit line editing or any other advanced features.
*/
};
/** \brief Internal: Primitive ClientReader implementation
-
+
This implementation uses the cooked telnet mode to read lines from the console. It does not
support explicit line editing or any other advanced features.
*/
scheduler::FdEvent readevent_;
std::string buffer_;
};
-
+
}}}
-///////////////////////////////ih.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
#endif
\f