IOCallback  - generic callback class for readers, writers,
       or I/O exception handlers


SYNOPSIS

       #include <Dispatch/iocallback.h>


DESCRIPTION

       For convenience, the macros defined in iocallback.h  allow
       the  user  to  define an iohandler which does nothing more
       than call an  arbitrary  object's  member  function.   The
       actual  code  to  read  data from a file descriptor, write
       data to a file descriptor, handle an I/O  exception  on  a
       file descriptor, or handle a timer's expiration can reside
       in any arbitrary class rather than in the iohandler.


MACROS

       declareIOCallback(T)
              Declare an iocallback type for the given class type
              T.

       implementIOCallback(T)
              Emit  code  at  this point to implement the iocall-
              back's member functions.

       IOCallback(T)* instance = new IOCallback(T)(...)
              Define an instance of the iocallback type  for  the
              given class type T.


CONSTRUCTORS

       typedef int T::IOReady(T)(int fd)
       typedef void T::IOTimer(T)(long sec, long usec)

       IOCallback(T)(T*,  IOReady(T)*  in,  IOReady(T)* out =
              nil, IORe- ady(T)* ex = nil)
       IOCallback(T)(T*,  IOTimer(T)*, IOReady(T)* in = nil,
              IOReady(T)* out = nil, IOReady(T)* ex = nil)
              Construct  an  instance of the iocallback type that
              will call the given member functions of  the  given
              class type T's instance.  Note that you do not have
              to use the IOReady(T) or IOTimer(T) macros; rather,
              you  only  have  to  pass the address of a T member
              function, such as &T::inputReady.


SEE ALSO

       Dispatcher(3I), IOHandler(3I)








Man(1) output converted with man2html