7#ifndef __WVSTREAMSDEBUGGERSERVER_H
8#define __WVSTREAMSDEBUGGERSERVER_H
11#include "wvstreamclone.h"
13#include "wvistreamlist.h"
14#include "wvstreamsdebugger.h"
23 struct Connection :
public WvStreamClone
25 WvStreamsDebugger debugger;
28 Connection(IWvStream *s);
30 void result_cb(WvStringParm cmd, WvStringList &results);
32 void send(WvStringParm code, WvStringParm result);
33 void send(WvStringParm code, WvStringList &results);
38 typedef wv::function<bool(WvStringParm, WvStringParm, WvStringParm)> AuthCallback;
42 WvUnixListener *unix_listener;
43 void unix_listener_cb(IWvStream *s);
44 void unix_listener_close_cb();
46 WvTCPListener *tcp_listener;
47 void tcp_listener_cb(IWvStream *s);
48 void tcp_listener_close_cb();
52 void auth_request_cb(Connection &s);
53 void auth_response_cb(Connection &s);
54 void ready_cb(Connection &s);
56 WvIStreamList streams;
59 WvStreamsDebuggerServer(
const WvUnixAddr &unix_addr,
60 AuthCallback _auth_cb = AuthCallback(),
61 const WvIPPortAddr &tcp_addr = WvIPPortAddr());
62 ~WvStreamsDebuggerServer();
64 void set_auth_callback(AuthCallback _auth_cb)
65 { auth_cb = _auth_cb; }
Unified support for streams, that is, sequences of bytes that may or may not be ready for read/write ...
Class to easily create the Server side of a WvTCPConn.
A Unix domain socket address is really just a filename.
Server end of a Unix Sockets stream.