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