NAME
    FML::Process::Fake -- dispatcher to fake several processes.

SYNOPSIS
        use FML::Process::Fake;
        $curproc = new FML::Process::Fake;
        $curproc->run();

DESCRIPTION
    FML::Process::Fake provides the main function for "libexec/faker".

    See "FML::Process::Flow" for the flow detail.

METHODS
  new($args)
    constructor. It make a "FML::Process::Kernel" object and return it.

  prepare($args)
    load default config files, set up domain we need to fake, and fix @INC
    if needed.

    lastly, parse incoming message input from \*STDIN channel.

  verify_request($args)
    parse the header of incoming message to check to: and cc: fields.

    If one of them matches the domain to fake, we need to start to emulate
    something in run() method running phase.

  run($args)
    the top level dispatcher for "faker".

  finish($args)
    dummy.

  help()
    show help.

INTERNAL FAKER FUNCTIONS
    Internally, "faker" process analyses mail headers and it creates a new
    ML if needed. After that, it restarts another process as an emulaion.

Utilities
  is_valid_domain_syntax($domain)
    validate domain syntax.

  is_valid_ml($ml_name, $ml_domain)
    validate the existence of mailing list.

  _set_emul_domain($ml_domain)
    save domain libexec/faker handles.

  _get_emul_domain()
    get domain libexec/faker handles.

  _set_emul_ml_list($list)
    save ml_name list in pcb.

  _get_emul_ml_list()
    get ml_name list in pcb.

  _set_emul_user_list($list)
    save user list in pcb.

  _get_emul_user_list()
    get user list in pcb.

CODING STYLE
    See "http://www.fml.org/software/FNF/" on fml coding style guide.

AUTHOR
    Ken'ichi Fukamachi

COPYRIGHT
    Copyright (C) 2003,2004,2005,2006 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.

HISTORY
    FML::Process::Fake first appeared in fml8 mailing list driver package.
    See "http://www.fml.org/" for more details.

