diff options
| author | fukachan <fukachan> | 2001-01-29 04:32:34 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2001-01-29 04:32:34 +0000 |
| commit | 1b3a879cf3fc9dee8d23fe452060953c3ff8adf6 (patch) | |
| tree | 72852a294243f6e4c277481b89f937b29c83d092 /fml/lib/FML/Process | |
| parent | 221ff1e67b47a843c3f5209803da0daa35506f3b (diff) | |
| download | fml8-1b3a879cf3fc9dee8d23fe452060953c3ff8adf6.tar.gz fml8-1b3a879cf3fc9dee8d23fe452060953c3ff8adf6.tar.bz2 fml8-1b3a879cf3fc9dee8d23fe452060953c3ff8adf6.zip | |
change hierarchy of routines. The current flow is as follows:
loader -> process_switch -> FML::Process::Flow -> each process
1. loader resolves version dependence
2. process_switch loads requred package
3. main::ProcessStart() (exporeted to main:: at FML::Process::Flow)
controlls flow.
4. details of each flow is described in FML::Process::Something et. al.
Diffstat (limited to 'fml/lib/FML/Process')
| -rw-r--r-- | fml/lib/FML/Process/Flow.pm | 82 | ||||
| -rw-r--r-- | fml/lib/FML/Process/Kernel.pm | 3 |
2 files changed, 85 insertions, 0 deletions
diff --git a/fml/lib/FML/Process/Flow.pm b/fml/lib/FML/Process/Flow.pm new file mode 100644 index 00000000..fe54e0d6 --- /dev/null +++ b/fml/lib/FML/Process/Flow.pm @@ -0,0 +1,82 @@ +#-*- perl -*- +# +# Copyright (C) 2001 Ken'ichi Fukamachi +# All rights reserved. This program is free software; you can +# redistribute it and/or modify it under the same terms as Perl itself. +# +# $Id$ +# $FML$ +# + +package FML::Process::Flow; +use strict; +use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD); +use Carp; + +=head1 NAME + +FML::__HERE_IS_YOUR_MODULE_NAME__.pm - what is this + +=head1 SYNOPSIS + +=head1 DESCRIPTION + +=head1 CLASSES + +=head1 METHODS + +=item C<new()> + +... what is this ... + +=head1 AUTHOR + +__YOUR_NAME__ + +=head1 COPYRIGHT + +Copyright (C) 2001 __YOUR_NAME__ + +All rights reserved. This program is free software; you can +redistribute it and/or modify it under the same terms as Perl itself. + +=head1 HISTORY + +FML::__HERE_IS_YOUR_MODULE_NAME__.pm appeared in fml5. + +=cut + + +# Descriptions: drives basic flow +# 1. initialize processes and load configurations from *.cf +# switch to each process according with $0 and @ARGV. +# 2. parse the incoming message(mail) +# 3. start the main transaction +# lock, execute main routine, unlock +# 4. inform error messages, clean up and more ... +# Arguments: $self $args +# Side Effects: +# ProcessSwtich() is exported to main:: Name Space. +# Return Value: none +sub main::ProcessStart +{ + my ($pkg, $args) = @_; + + # create a new process object + my $process = $pkg->new($args); + + # e.g. parse the incoming message (e.g. STDIN) + $process->prepare($args); + + # validate the request e.g. permit post from the sender ... + $process->verify_request($args); + + # start main transaction + $process->run($args); + + # closing the process + $process->finish($args); +} + + +1; diff --git a/fml/lib/FML/Process/Kernel.pm b/fml/lib/FML/Process/Kernel.pm index b94f9fa9..0fc4cb6d 100644 --- a/fml/lib/FML/Process/Kernel.pm +++ b/fml/lib/FML/Process/Kernel.pm @@ -12,6 +12,9 @@ package FML::Process::Kernel; use strict; use Carp; + +use FML::Process::Flow; + use FML::Parse; use FML::Header; use FML::Config; |
