#-*- 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 ... 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;