1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
[comment {-*- tcl -*- doctools manpage}]
[manpage_begin tcl::chan::core n 1]
[keywords {reflected channel}]
[keywords {tip 219}]
[keywords {virtual channel}]
[copyright {2009 Andreas Kupries <andreas_kupries@users.sourceforge.net>}]
[moddesc {Reflected/virtual channel support}]
[category Channels]
[titledesc {Basic reflected/virtual channel support}]
[require Tcl 8.5]
[require TclOO]
[require tcl::chan::core [opt 1]]
[description]
[para]
The [package tcl::chan::core] package provides a [package TclOO]
class implementing common behaviour needed by virtually every
reflected or virtual channel (initialization, finalization).
[para] This class expects to be used as either superclass of a concrete
channel class, or to be mixed into such a class.
[section {Class API}]
[list_begin definitions]
[call [cmd ::tcl::chan::core] [arg objectName]]
This command creates a new channel core object with an associated
global Tcl command whose name is [emph objectName]. This command may
be used to invoke various operations on the object, as described in
the section for the [sectref {Instance API}].
[list_end]
[section {Instance API}]
The API of channel core instances provides only two methods, both
corresponding to channel handler commands (For reference see
[uri http:/tip.tcl.tk/219 {TIP 219}]). They expect to be called
from whichever object instance the channel core was made a part of.
[list_begin definitions]
[call [arg objectName] [method initialize] [arg thechannel] [arg mode]]
This method implements standard behaviour for the [method initialize]
method of channel handlers. Using introspection it finds the handler
methods supported by the instance and returns a list containing their
names, as expected by the support for reflected channels in the Tcl
core.
[para] It further remembers the channel handle in an instance variable
for access by sub-classes.
[call [arg objectName] [method finalize] [arg thechannel]]
This method implements standard behaviour for the [method finalize]
method of channel handlers. It simply destroys itself.
[call [arg objectName] [method destroy]]
Destroying the channel core instance closes the channel it was
initialized for, see the method [method initialize]. When destroyed
from within a call of [method finalize] this does not happen, under
the assumption that the channel is being destroyed by Tcl.
[list_end]
[vset CATEGORY virtchannel]
[include ../common-text/feedback.inc]
[manpage_end]
|