tcl::chan::events
ИМЯ
tcl::chan::events — поддержка событий для отражённых/виртуальных каналов
Содержание
КРАТКОЕ ОПИСАНИЕ
package require Tcl 8.5 9
package require TclOO
package require tcl::chan::core ?1.1?
package require tcl::chan::events ?1.1?
::tcl::chan::events objectName
objectName finalize thechannel
objectName watch thechannel eventmask
objectName allow eventname...
objectName disallow eventname...
ОПИСАНИЕ
Пакет tcl::chan::events предоставляет класс TclOO, реализующий общие функции, необходимые практически каждому отражённому или виртуальному каналу, поддерживающему событийный ввод-вывод. Этот класс является подклассом tcl::chan::core и наследует все его функции.
Предполагается, что этот класс будет использоваться как суперкласс конкретного класса канала или включаться в такой класс.
API класса
-
::tcl::chan::events objectName
Эта команда создаёт новый объект ядра событий канала и связанную с ним глобальную команду Tcl с именем objectName. Эта команда может использоваться для вызова различных операций объекта, описанных в разделе API экземпляра.
API экземпляра
API экземпляров ядра событий канала предоставляет всего четыре метода: два соответствуют командам обработчиков канала (справочную информацию см. в TIP 219), а два других предназначены для управления генерацией событий подклассами. Первые из них следует вызывать из экземпляра объекта, частью которого стало ядро событий канала.
-
objectName finalize thechannel
Этот метод реализует стандартное поведение метода finalize обработчиков канала. Он переопределяет поведение, унаследованное от tcl::chan::core, и дополнительно отключает генерацию всех событий перед уничтожением объекта.
-
objectName watch thechannel eventmask
Этот метод реализует стандартное поведение метода watch обработчиков канала. Он вызывается системой ввода-вывода при каждом изменении интереса к событиям и обновляет состояние экземпляра, чтобы включить и/или подавить генерацию событий, которые представляют (не)интерес.
objectName allow eventname...
-
objectName disallow eventname...
Эти два метода доступны подклассам, чтобы их экземпляры могли сообщать ядру событий, какие события реализуемый ими канал может генерировать (allow), а какие не может (disallow). Используя эти сведения вместе с информацией о событиях, запрошенных системой ввода-вывода Tcl и переданных через метод watch, ядро событий может определить, какие события следует генерировать или не генерировать, и действовать соответствующим образом.
Ошибки, идеи, отзывы
В этом документе и описываемом в нём пакете, несомненно, могут содержаться ошибки и другие проблемы. Сообщайте о них в категории virtchannel в системе отслеживания ошибок Tcllib. Также сообщайте о любых идеях по улучшению пакета и/или документации.
Предлагая изменения кода, пожалуйста, предоставляйте унифицированные diff-файлы, то есть вывод команды diff -u.
Также обратите внимание, что вложения предпочтительнее встроенных патчей. Чтобы добавить вложение, откройте форму Изменить тикета сразу после его создания, а затем воспользуйтесь самой левой кнопкой на панели вторичной навигации.
КАТЕГОРИЯ
Каналы
АВТОРСКИЕ ПРАВА
Авторские права © 2009 Andreas Kupries