NAME
    FML::Command - fml command dispatcher.

SYNOPSIS
        use FML::Command;
        my $obj = new FML::Command;
        $obj->rewrite_prompt($curproc, $command_context, \$orig_command);

DESCRIPTION
    "FML::Command" is a wrapper and dispathcer for fml commands. AUTOLOAD()
    picks up the command request and dispatches
    "FML::Command::User::something" suitable for the request. Also, it kicks
    off "FML::Command::Admin::something" for the admin command request and
    makefml commands.

METHODS
  new()
    constructor.

  set_mode($curproc, $command_context)
    set the current mode, either of "admin" or "user".

  get_mode($curproc, $command_context)
    return the current mode, either of "admin" or "user".

METHODS
  rewrite_prompt($curproc, $command_context, $rbuf)
    rewrite the specified buffer $rbuf (STR_REF). $rbuf is rewritten as a
    result. For example, this function is used to hide the password in the
    $rbuf buffer.

    Each module such as "FML::Command::$MODE::$SOMETING" specifies how to
    rewrite by rewrite_prompt() method in it.

  notice_cc_recipient($curproc, $command_context, $rbuf)
    return addresses to inform for the command reply.

    Each module such as "FML::Command::$MODE::$SOMETING" specifies
    recipients by notice_cc_recipient() method in it if needed.

  verify_syntax($curproc, $command_context)
    verify the syntax command string. return 0 if it looks insecure.

  AUTOLOAD()
    the command dispatcher. It hooks up the $command request and loads the
    module in "FML::Command::$MODE::$command".

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

AUTHOR
    Ken'ichi Fukamachi

COPYRIGHT
    Copyright (C) 2001,2002,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::Command first appeared in fml8 mailing list driver package. See
    "http://www.fml.org/" for more details.

