summaryrefslogtreecommitdiff
path: root/apps/JAWS/server/IO.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/JAWS/server/IO.h')
-rw-r--r--apps/JAWS/server/IO.h223
1 files changed, 0 insertions, 223 deletions
diff --git a/apps/JAWS/server/IO.h b/apps/JAWS/server/IO.h
deleted file mode 100644
index cf22d1ff09f..00000000000
--- a/apps/JAWS/server/IO.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/* -*- c++ -*- */
-// Hey, Emacs! This is a C++ file!
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// jaws
-//
-// = FILENAME
-// IO.h
-//
-// = AUTHOR
-// James Hu
-//
-// ============================================================================
-
-#ifndef JAWS_IO_H
-#define JAWS_IO_H
-
-class ACE_Message_Block;
-class JAWS_IO_Handler;
-
-#include "ace/ACE.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Asynch_IO.h"
-
-class JAWS_IO
- // = TITLE
- //
- // This class defines the abstract interface for an I/O class in
- // the context of Web-likes servers
- //
- // = DESCRIPTION
- //
- // An I/O class should have the following interface. Derived
- // classes will define the exactly how the I/O will take place
- // (Asynchronous, Synchronous, Reactive)
-{
-public:
- JAWS_IO (void);
- virtual ~JAWS_IO (void);
- void handler (JAWS_IO_Handler *handler);
- void handle (ACE_HANDLE h);
- ACE_HANDLE handle (void);
-
- // James, please add documentation here.
-
- virtual void read (ACE_Message_Block& mb, int size) = 0;
- // read from the handle size bytes into the message block.
-
- virtual void transmit_file (const char *filename,
- const char *header,
- int header_size,
- const char *trailer,
- int trailer_size) = 0;
- // send header, filename, trailer to the handle.
-
- virtual void receive_file (const char *filename,
- void *initial_data,
- int initial_data_length,
- int entire_length) = 0;
- // read data from the handle and store in filename.
-
- virtual void send_confirmation_message (const char *buffer, int length) = 0;
- // send a confirmation message to the handle.
-
- virtual void send_error_message (const char *buffer, int length) = 0;
- // send an error message to the handle.
-
-protected:
- ACE_HANDLE handle_;
- JAWS_IO_Handler *handler_;
-};
-
-class JAWS_IO_Handler
- // = TITLE
- //
- // This class defines the abstract interface for an I/O handler class in
- // the context of Web-likes servers
- //
- // = DESCRIPTION
-{
-public:
- virtual void read_complete (ACE_Message_Block &data) = 0;
- // This method is called by the IO class when new client data shows
- // up.
-
- virtual void read_error (void) = 0;
- // This method is called by the IO class when there was an error in
- // reading new data from the client.
-
- virtual void transmit_file_complete (void) = 0;
- // This method is called by the IO class when the requested file has
- // been successfully transmitted to the client.
-
- virtual void transmit_file_error (int result) = 0;
- // This method is called by the IO class when there was an error in
- // transmitting the requested file to the client.
-
- virtual void receive_file_complete (void) = 0;
- // This method is called by the IO class when the requested file has
- // been successfully received from the client.
-
- virtual void receive_file_error (int result) = 0;
- // This method is called by the IO class when there was an error in
- // receiving the requested file from the client.
-
- virtual void write_error (void) = 0;
- // This method is called by the IO class when there was an error in
- // writing data to the client.
-
- virtual void confirmation_message_complete (void) = 0;
- // This method is called by the IO class when the confirmation
- // message has been delivered to the client.
-
- virtual void error_message_complete (void) = 0;
- // This method is called by the IO class when the error message has
- // been delivered to the client.
-
-};
-
-class JAWS_Synch_IO : public JAWS_IO
- // = TITLE
- //
- // This class defines the interface for a Synchronous I/O class.
- //
- // = DESCRIPTION
-{
-public:
- JAWS_Synch_IO (void);
-
- ~JAWS_Synch_IO (void);
-
- void read (ACE_Message_Block& mb, int size);
-
- void transmit_file (const char *filename,
- const char *header,
- int header_size,
- const char *trailer,
- int trailer_size);
-
- void receive_file (const char *filename,
- void *initial_data,
- int initial_data_length,
- int entire_length);
-
- void send_confirmation_message (const char *buffer,
- int length);
-
- void send_error_message (const char *buffer,
- int length);
-
-protected:
- virtual void send_message (const char *buffer,
- int length);
-};
-
-// This only works on Win32
-#if defined (ACE_WIN32)
-
-class JAWS_Asynch_IO : public JAWS_IO, public ACE_Handler
- // = TITLE
- //
- // This class defines the interface for a Asynchronous I/O class.
- //
- // = DESCRIPTION
-{
-public:
- JAWS_Asynch_IO (void);
-
- ~JAWS_Asynch_IO (void);
-
- void read (ACE_Message_Block& mb, int size);
-
- void transmit_file (const char *filename,
- const char *header,
- int header_size,
- const char *trailer,
- int trailer_size);
-
- void receive_file (const char *filename,
- void *initial_data,
- int initial_data_length,
- int entire_length);
-
- void send_confirmation_message (const char *buffer,
- int length);
-
- void send_error_message (const char *buffer,
- int length);
-
-protected:
- enum Message_Types
- {
- CONFORMATION,
- ERROR_MESSAGE
- };
-
- virtual void send_message (const char *buffer,
- int length,
- int act);
-
- virtual void handle_read_stream (const ACE_Asynch_Read_Stream::Result &result);
- // This method will be called when an asynchronous read completes on
- // a stream.
-
- virtual void handle_write_stream (const ACE_Asynch_Write_Stream::Result &result);
- // This method will be called when an asynchronous write completes
- // on a stream.
-
- virtual void handle_transmit_file (const ACE_Asynch_Transmit_File::Result &result);
- // This method will be called when an asynchronous transmit file
- // completes.
-};
-
-#endif /* ACE_WIN32 */
-#endif /* JAWS_IO_H */
-