Tcl Library Source Code

Documentation
Login
EuroTcl/OpenACS 11 - 12 JULY 2024, VIENNA


[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | Modules | Applications ]

NAME

page_pluginmgr - page plugin manager

Table Of Contents

SYNOPSIS

package require page::pluginmgr ?0.3?
package require fileutil

::page::pluginmgr::reportvia cmd
::page::pluginmgr::report level text ?from ?to??
::page::pluginmgr::log cmd
::page::pluginmgr::configuration name
::page::pluginmgr::reader name
::page::pluginmgr::rconfigure dict
::page::pluginmgr::rtimeable
::page::pluginmgr::rtime
::page::pluginmgr::rgettime
::page::pluginmgr::rhelp
::page::pluginmgr::rlabel
::page::pluginmgr::read read eof ?complete?
read num
eof
done
::page::pluginmgr::writer name
::page::pluginmgr::wconfigure dict
::page::pluginmgr::wtimeable
::page::pluginmgr::wtime
::page::pluginmgr::wgettime
::page::pluginmgr::whelp
::page::pluginmgr::wlabel
::page::pluginmgr::write chan data
::page::pluginmgr::transform name
::page::pluginmgr::tconfigure id dict
::page::pluginmgr::ttimeable id
::page::pluginmgr::ttime id
::page::pluginmgr::tgettime id
::page::pluginmgr::thelp id
::page::pluginmgr::tlabel id
::page::pluginmgr::transform_do id data
page_cdefinition
page_rfeature name
page_rtime
page_rgettime
page_rlabel
page_rhelp
page_roptions
page_rconfigure option value
page_rrun
page_read num
page_read_done
page_eof
page_info text ?from ?to??
page_warning text ?from ?to??
page_error text ?from ?to??
page_log_info text
page_log_warning text
page_log_error text
page_wfeature
page_wtime
page_wgettime
page_wlabel
page_whelp
page_woptions
page_wconfigure option value
page_wrun chan data
page_info text ?from ?to??
page_warning text ?from ?to??
page_error text ?from ?to??
page_log_info text
page_log_warning text
page_log_error text
page_tfeature
page_ttime
page_tgettime
page_tlabel
page_thelp
page_toptions
page_tconfigure option value
page_trun chan data
page_info text ?from ?to??
page_warning text ?from ?to??
page_error text ?from ?to??
page_log_info text
page_log_warning text
page_log_error text

DESCRIPTION

This package provides the plugin manager central to the page application. It manages the various reader, writer, configuration, and transformation plugins which actually process the text (read, transform, and write).

All plugins are loaded into slave interpreters specially prepared for them. While implemented using packages they need this special environment and are not usable in a plain interpreter, like tclsh. Because of that they are only described in general terms in section PREDEFINED PLUGINS, and not documented as regular packages. It is expected that they follow the APIs specified in the sections

  1. CONFIG PLUGIN API

  2. READER PLUGIN API

  3. WRITER PLUGIN API

  4. TRANSFORM PLUGIN API

as per their type.

API

CONFIG PLUGIN API

Configuration plugins are expected to provide a single command, described below.

Configuration plugins do not expect the environment to provide any special commands.

It is expected that a configuration plugin FOO is implemented by the package page::config::__FOO__.

Configuration plugins are loaded, executed, and unloaded in one step, they are not kept in memory. The command for doing this is ::page::pluginmgr::configuration.

READER PLUGIN API

Reader plugins are expected to provide the following commands, described below.

Reader plugins expect the environment to provide the following special commands.

It is expected that a reader plugin FOO is implemented by the package page::reader::__FOO__.

Reader plugins are loaded by the command ::page::pluginmgr::reader. At most one reader plugin can be kept in memory.

WRITER PLUGIN API

Writer plugins are expected to provide the following commands, described below.

Writer plugins expect the environment to provide the following special commands.

It is expected that a writer plugin FOO is implemented by the package page::writer::__FOO__.

Writer plugins are loaded by the command ::page::pluginmgr::writer. At most one writer plugin can be kept in memory.

TRANSFORM PLUGIN API

page::transform::* Transformation plugins are expected to provide the following commands, described below.

Transformation plugins expect the environment to provide the following special commands.

It is expected that a transformation plugin FOO is implemented by the package page::transform::__FOO__.

Transformation plugins are loaded by the command ::page::pluginmgr::transform. More than one transformation plugin can be kept in memory.

PREDEFINED PLUGINS

The following predefined plugins are known, i.e. provided by the page module.

FEATURES

The plugin manager currently checks the plugins for only one feature, timeable. A plugin supporting this feature is assumed to be able to collect timing statistics on request.

Bugs, Ideas, Feedback

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category page of the Tcllib Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.

When proposing code changes, please provide unified diffs, i.e the output of diff -u.

Note further that attachments are strongly preferred over inlined patches. Attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.

KEYWORDS

page, parser generator, text processing

CATEGORY

Page Parser Generator

COPYRIGHT

Copyright © 2007 Andreas Kupries