Fogotten objects.
This commit is contained in:
		
							parent
							
								
									2cb1e3e2f2
								
							
						
					
					
						commit
						8479dfe6a2
					
				
							
								
								
									
										21
									
								
								Service.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								Service.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | |||||||
|  | #include "Service.h" | ||||||
|  | #include "TCPServerSocket.h" | ||||||
|  | #include "Exception.h" | ||||||
|  | 
 | ||||||
|  | namespace core { | ||||||
|  | 
 | ||||||
|  |    Service::Service(TCPServerSocket &server) : server(server) {} | ||||||
|  | 
 | ||||||
|  |    void Service::removeFromSessionList(Session *session) {       | ||||||
|  |       std::vector<Session *>::iterator cursor; | ||||||
|  |       for(cursor = sessions.begin(); cursor < sessions.end(); ++cursor) | ||||||
|  | 	if(*cursor == session) | ||||||
|  | 	  sessions.erase(cursor); | ||||||
|  |    } | ||||||
|  |     | ||||||
|  |    void Service::sessionErrorHandler(std::string errorString, Session *session) {   	 | ||||||
|  |       throw Exception(errorString); | ||||||
|  |    }    | ||||||
|  |     | ||||||
|  | } | ||||||
|  | 
 | ||||||
							
								
								
									
										60
									
								
								Service.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								Service.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,60 @@ | |||||||
|  | #ifndef __Service_h__ | ||||||
|  | #define __Service_h__ | ||||||
|  | 
 | ||||||
|  | #include "Object.h" | ||||||
|  | #include "CommandList.h" | ||||||
|  | 
 | ||||||
|  | namespace core { | ||||||
|  | 
 | ||||||
|  |    class TCPServerSocket; | ||||||
|  | 
 | ||||||
|  |    ///
 | ||||||
|  |    /// Service
 | ||||||
|  |    ///
 | ||||||
|  |    /// The Service object is instantiated as a single object upon construction
 | ||||||
|  |    /// of the parent TCPServerSocket and is provided as a parameter whenever
 | ||||||
|  |    /// a new Session object is created. It provides server level services to
 | ||||||
|  |    /// Command handlers.
 | ||||||
|  |    ///
 | ||||||
|  |     | ||||||
|  |    class Service : public Object { | ||||||
|  |     | ||||||
|  |     public: | ||||||
|  | 
 | ||||||
|  |       ///
 | ||||||
|  |       /// Use this constructor to create a new Service object. 
 | ||||||
|  |       ///
 | ||||||
|  |       /// @param server A reference to the parent server creating the object.
 | ||||||
|  |       ///
 | ||||||
|  |        | ||||||
|  |       Service(TCPServerSocket &server); | ||||||
|  | 
 | ||||||
|  |       void removeFromSessionList(Session *session); | ||||||
|  | 
 | ||||||
|  |       virtual void sessionErrorHandler(std::string errorString, Session *session); | ||||||
|  |        | ||||||
|  |       ///
 | ||||||
|  |       /// The list of sessions that are currently open and being maintained by this object.
 | ||||||
|  |       ///
 | ||||||
|  |        | ||||||
|  |       std::vector<Session *> sessions; | ||||||
|  |        | ||||||
|  |       ///
 | ||||||
|  |       /// The server that is associated to this Service object. This provides access to the
 | ||||||
|  |       /// server values and methods through the Service object which behaves as an interface.
 | ||||||
|  |       ///
 | ||||||
|  |        | ||||||
|  |       TCPServerSocket &server; | ||||||
|  |        | ||||||
|  |       ///
 | ||||||
|  |       /// The commands object is a CommandList and is used to store Command objects to be 
 | ||||||
|  |       /// parsed and run as data comes into the session.
 | ||||||
|  |       ///
 | ||||||
|  |        | ||||||
|  |       CommandList commands; | ||||||
|  |     | ||||||
|  |    }; | ||||||
|  |     | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										12
									
								
								TLSService.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								TLSService.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | |||||||
|  | #include "TLSService.h" | ||||||
|  | 
 | ||||||
|  | namespace core { | ||||||
|  |     | ||||||
|  |    TLSService::TLSService(TLSServerSocket &server) : Service(server) { | ||||||
|  |     | ||||||
|  |    } | ||||||
|  |     | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  |     | ||||||
|  |     | ||||||
							
								
								
									
										21
									
								
								TLSService.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								TLSService.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | |||||||
|  | #ifndef __TLSService_h__ | ||||||
|  | #define __TLSService_h__ | ||||||
|  | 
 | ||||||
|  | #include "includes" | ||||||
|  | #include "Service.h" | ||||||
|  | #include "TLSServerSocket.h" | ||||||
|  | 
 | ||||||
|  | namespace core { | ||||||
|  |     | ||||||
|  |    class TLSService : public Service { | ||||||
|  |        | ||||||
|  |     public: | ||||||
|  |       TLSService(TLSServerSocket &server); | ||||||
|  |       SSL_CTX *ctx;    | ||||||
|  |        | ||||||
|  |        | ||||||
|  |    }; | ||||||
|  |     | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Brad Arant
						Brad Arant