Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

serverhandler.h

Go to the documentation of this file.
00001 /********************************************************************
00002        Copyright (c) 2001, Lee Patterson & Ant Works Software
00003        http://ssobjects.sourceforge.net
00004 
00005        created  :  November 13, 2000
00006        filename :  serverhandler.h
00007        author   :  Lee Patterson (lee@antws.com)
00008 
00009        purpose  :  Sample of how to write a server using communicable
00010                    classes.
00011 
00012                    Server handler is an object that handles one type
00013                    of session. For instance, in a server where connections
00014                    could come from a client or from another server,
00015                    the way it is handled may be radically different.
00016 
00017 *********************************************************************/
00018 
00019 #ifndef SERVERHANDLER_H
00020 #define SERVERHANDLER_H
00021 
00022 namespace ssobjects
00023 {
00024 
00025 class PacketMessage;
00026 class SimpleServer;
00027 class ServerSocket;
00028 
00029 //
00030 // abstract class to impliment a server handler
00031 //
00032 class ServerHandler 
00033 {
00034   protected:  //attributes
00035     ServerSocket*   m_psocket;
00036     SimpleServer* m_pserver;
00037 
00038   public:     //user overridables
00039     virtual void processMsg(PacketMessage* pmsg) = 0;
00040 
00041   public:     //methods
00042     ServerSocket*   mysocket() {return m_psocket;}
00043     SimpleServer* server() {return m_pserver;}
00044 
00045   public:     //construction
00046     ServerHandler(ServerSocket* psocket,SimpleServer* pserver);
00047     virtual ~ServerHandler();
00048 
00049   private:
00050     //only copies the pointers, as we don't create servsockets or 
00051     //simple servers here.
00052     ServerHandler(const ServerHandler& handler)
00053       : m_psocket(handler.m_psocket),m_pserver(handler.m_pserver) {}
00054     ServerHandler& operator=(const ServerHandler& handler)
00055     {
00056       if(&handler==this)
00057         return *this;
00058       m_psocket = handler.m_psocket;
00059       m_pserver = handler.m_pserver;
00060       return *this;
00061     }
00062 };
00063 
00064 };
00065 
00066 #endif

Generated on Thu Nov 8 12:39:25 2001 for SimpleServerObjects by doxygen1.2.11 written by Dimitri van Heesch, © 1997-2001