=head1 NAME

Net::Hotline::Task - Task object used internally by Net::Hotline::Client

=head1 SYNOPSIS

    use Net::Hotline::Task;

    $task = new Net::Hotline::Task;

    $task->start(time());
    $task->num($num++);
    ...

=head1 DESCRIPTION

Net::Hotline::Task is a simple class for storing and retrieving task
information,  You should never have to create your own Net::Hotline::Task
objects when using Net::Hotline::Client.  Getting and (to a lesser extent)
setting attributes is all that should be necessary.

=head1 CONSTRUCTION

=over 4

=item new NUM, TYPE, START, SOCKET, PATH

With no arguments, creates a new Net::Hotline::Task object with all attributes
set to undef. With three or four arguments (PATH is optional), creates a
new Net::Hotline::Task object with task number NUM, task type TYPE, start time
START, user socket number SOCKET, and file path PATH.

=back

=head1 METHODS

All the Net::Hotline::Task methods are simple attribute get/set routines.
If given an argument, they set an attribute.  In all cases, they
return the current value of the attribute.

=over 4

=item error EXPR

The error state of the task.  A true value means there was an error.

=item error_text TEXT

The error message text.  This only applies if error() returns a true value.

=item finish TIME

The time (in platform-native time format, i.e. seconds since the epoch
on a Unix system) that a task completed.

=item num NUMBER

The unique task number.  Task numbers increase sequentially.

=item path PATH

The path information associated with a task (if any).  In situations where
two paths may be associated with a task (a "move file" task, for example),
a reference to an array containing the paths will be returned.

=item socket NUMBER

The unique user socket number associated with a task (if any).

=item start TIME

The time (in platform-native time format) that a task was started.

=item type TASK_TYPE

The HTLC_TASK_XXX constant specifying the type of task.  These constants
are defined in Net::Hotline::Constants, and include:

    HTLC_TASK_KICK         Disconnect a user.
    HTLC_TASK_LOGIN        Log into server.
    HTLC_TASK_NEWS         Get the news.
    HTLC_TASK_NEWS_POST    Post to news.
    HTLC_TASK_FILE_DELETE  Delete a file.
    HTLC_TASK_FILE_INFO    Get file information.
    HTLC_TASK_FILE_LIST    Get a file list.
    HTLC_TASK_FILE_MKDIR   Create a new folder.
    HTLC_TASK_FILE_MOVE    Move a file.
    HTLC_TASK_SEND_MSG     Send a private message.
    HTLC_TASK_SET_INFO     Set file information.
    HTLC_TASK_USER_INFO    Get user information.
    HTLC_TASK_USER_LIST    Get the userlist.

=back

=head1 AUTHOR

John C. Siracusa (siracusa@mindspring.com)

=head1 COPYRIGHT

Copyright(c) 1999 by John Siracusa.  All rights reserved.  This program is
free software; you can redistribute it and/or modify it under the same terms
as Perl itself.
