File: core.man

package info (click to toggle)
tcllib 1.14-dfsg-3%2Bdeb7u1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 33,036 kB
  • sloc: tcl: 148,302; ansic: 14,067; sh: 10,320; xml: 1,766; yacc: 753; pascal: 551; makefile: 129; perl: 84; f90: 84; python: 33; ruby: 13; php: 11
file content (86 lines) | stat: -rw-r--r-- 2,752 bytes parent folder | download
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
[comment {-*- tcl -*- doctools manpage}]
[manpage_begin tcl::chan::core n 1]
[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]


[section {BUGS, IDEAS, FEEDBACK}]

This document, and the package it describes, will undoubtedly contain
bugs and other problems.

Please report such in the category [emph virtchannel] of the
[uri {http://sourceforge.net/tracker/?group_id=12883} {Tcllib SF Trackers}].

Please also report any ideas for enhancements you may have for either
package and/or documentation.


[keywords {virtual channel} {reflected channel} {tip 219}]
[manpage_end]