1/* 2 * Copyright 2009, Haiku, Inc. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Michael Lotz <mmlr@mlotz.ch> 7 * François Revol <revol@free.fr> 8 */ 9#ifndef WEB_SERVER_H 10#define WEB_SERVER_H 11 12//#include "WebWorker.h" 13 14#include <Locker.h> 15#include <ObjectList.h> 16#include <OS.h> 17#include <SupportDefs.h> 18 19class BNetEndpoint; 20class WebHandler; 21class WebWorker; 22 23class WebServer { 24public: 25 WebServer(BNetEndpoint *listener); 26 ~WebServer(); 27 28// BNetEndpoint * Endpoint() { return fEndpoint; } 29 30 void AddHandler(WebHandler *handler); 31 32private: 33static int32 _NetworkReceiverEntry(void *data); 34 status_t _NetworkReceiver(); 35 36 BNetEndpoint * fListener; 37 38 thread_id fReceiverThread; 39 bool fStopThread; 40 41 BLocker fLocker; 42 BObjectList<WebHandler> fHandlers; 43 BObjectList<WebWorker> fWorkers; 44// BNetEndpoint * fEndpoint; 45}; 46 47#endif // WEB_SERVER_H 48