[project @ 2004-04-28 03:33:52 by unknown_lamer]
[clinton/bobotpp.git] / TODO
diff --git a/TODO b/TODO
index b2e121f..8fe2313 100644 (file)
--- a/TODO
+++ b/TODO
@@ -6,34 +6,32 @@ General:
 * Audit code and see what data in classes should be made private and
    have getters/setters added (e.g. logFileName in Bot--if this is
    changed the log file doesn't change after the Bot is started).
-* Replace large select-loop in Bot::waitForInput with multithreaded
-   CC++ sockets (this will require locking around everything Guile
-   related).
 
 Scripting:
 * Add commands to delete a hook
    - return an iterator to the Hook
    - this would require a new SMOB to be created
    - Scheme could pass Hook objects around and do nifty things
+   - At least allow all hooks of a type with the same name field to be
+     deleted at once (also all hooks with the same name). Also allow
+     deleting based on the regexp
 * Finish adding commands to Scheme for sending messages
-   (e.g. bot:send-CTCP to send a CTCP message)
+  (e.g. bot:send-CTCP to send a CTCP message)
 * Add util functions for doing stuff like quoting CTCP messages
 * Finish adding hooks/send hooks
-* Lock around Guile Operations
 
 Networking:
-+ Add functions to talk to DCC chatters
 * Add a networked interface to guile repl
+   - This can be done as a script, but requires non-coop threads
+      support to be done easily
    - Admins only
    - Telnet
    - Store authorized users and passwords in bot.telnet file
    - Bot master can add new telnet users
    - MUST HAVE PASSWORD
-* Make connecting to irc.oftc.net work...I wonder if their ircd is
-   broken (it appears to be so because AthenaIRC on Mac OS X [the IRC
-   client I use at school] cannot connect to oftc either, giving the
-   error 'some command didn't have enough arguments')
-* DCC FILE support (this can be done as a script)
+   - Maybe use SSL?
+* DCC FILE support (this can be done as a script if a few changes are
+   made to the DCC support)
 
 Documentation:
 * Work on Texinfo manual (especially scripting section)
@@ -41,4 +39,15 @@ Documentation:
 Other (post 2.2 release):
 * Remove gh_* when Guile 1.8 is released
 * Make it possible to use Scheme functions in the Parser itself
-* Complete rewrite ;-)
\ No newline at end of file
+* Replace large select-loop in Bot::waitForInput with multithreaded
+   CC++ sockets (this will require locking around everything Guile
+   related). UPDATE[2002-11-02]: Guile CVS now has coop threads built
+   on top of pthreads, which I could probably use when 1.8 nears
+   release.
+   UPDATE[2002-12-22]: Guile CVS now has support for full pthreads, no
+   more coop stuff. After 1.8 is released threads will probably be
+   used.
+   - To clarify: There will be one thread for DCCs and another thread
+   for the current irc server connection, each with its own select
+   loop. There may also be a thread for the network repls if I
+   implement that.
\ No newline at end of file