w11 - cpp 0.794
Backend server for Rlink and w11
Loading...
Searching...
No Matches
RtclAttnShuttle.hpp
Go to the documentation of this file.
1// $Id: RtclAttnShuttle.hpp 1186 2019-07-12 17:49:59Z mueller $
2// SPDX-License-Identifier: GPL-3.0-or-later
3// Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4//
5// Revision History:
6// Date Rev Version Comment
7// 2014-12-30 625 1.1 adopt to Rlink V4 attn logic
8// 2013-03-01 493 1.0 Initial version
9// 2013-01-14 475 0.5 First draft
10// ---------------------------------------------------------------------------
11
16#ifndef included_Retro_RtclAttnShuttle
17#define included_Retro_RtclAttnShuttle 1
18
19#include "tcl.h"
20
21#include <cstdint>
22
25
26namespace Retro {
27
29 public:
30 RtclAttnShuttle(uint16_t mask, Tcl_Obj* pobj);
32
33 uint16_t Mask() const;
34 Tcl_Obj* Script() const;
35
36 void Add(RlinkServer* pserv, Tcl_Interp* interp);
37 void Remove();
38
39 protected:
41 void TclChannelHandler(int mask);
42 static void ThunkTclChannelHandler(ClientData cdata, int mask);
43
44 protected:
46 Tcl_Interp* fpInterp;
49 Tcl_Channel fShuttleChn;
50 uint16_t fMask;
52 };
53
54} // end namespace Retro
55
56#include "RtclAttnShuttle.ipp"
57
58#endif
void Add(RlinkServer *pserv, Tcl_Interp *interp)
FIXME_docs.
uint16_t fMask
attn mask
void TclChannelHandler(int mask)
FIXME_docs.
static void ThunkTclChannelHandler(ClientData cdata, int mask)
FIXME_docs.
RlinkServer * fpServ
RlinkServer used.
Tcl_Interp * fpInterp
Tcl interpreter used.
RtclOPtr fpScript
Tcl handler script (as Tcl_Obj)
uint16_t Mask() const
FIXME_docs.
int AttnHandler(RlinkServer::AttnArgs &args)
FIXME_docs.
int fFdPipeWrite
attn pipe write fd
Tcl_Channel fShuttleChn
Tcl channel.
void Remove()
FIXME_docs.
Tcl_Obj * Script() const
FIXME_docs.
int fFdPipeRead
attn pipe read fd
Implemenation (inline) of RtclOPtr.
Definition: RtclOPtr.hpp:23
Declaration of class ReventLoop.
Definition: ReventLoop.cpp:47