// $Id$
// Author: Sergey Linev   21/12/2013

#ifndef ROOT_THttpEngine
#define ROOT_THttpEngine

#ifndef ROOT_TNamed
#include "TNamed.h"
#endif

class THttpServer;

class THttpEngine : public TNamed {
protected:
   friend class THttpServer;

   THttpServer *fServer;    //! object server

   THttpEngine(const char *name, const char *title);

   void SetServer(THttpServer *serv)
   {
      fServer = serv;
   }

   /** Method regularly called in main ROOT context */
   virtual void Process() {}

public:
   virtual ~THttpEngine();

   /** Method to create all components of engine. Called once from by the server */
   virtual Bool_t Create(const char *)
   {
      return kFALSE;
   }

   THttpServer *GetServer() const
   {
      return fServer;
   }

   ClassDef(THttpEngine, 0) // abstract class which should provide http-based protocol for server
};

#endif
 THttpEngine.h:1
 THttpEngine.h:2
 THttpEngine.h:3
 THttpEngine.h:4
 THttpEngine.h:5
 THttpEngine.h:6
 THttpEngine.h:7
 THttpEngine.h:8
 THttpEngine.h:9
 THttpEngine.h:10
 THttpEngine.h:11
 THttpEngine.h:12
 THttpEngine.h:13
 THttpEngine.h:14
 THttpEngine.h:15
 THttpEngine.h:16
 THttpEngine.h:17
 THttpEngine.h:18
 THttpEngine.h:19
 THttpEngine.h:20
 THttpEngine.h:21
 THttpEngine.h:22
 THttpEngine.h:23
 THttpEngine.h:24
 THttpEngine.h:25
 THttpEngine.h:26
 THttpEngine.h:27
 THttpEngine.h:28
 THttpEngine.h:29
 THttpEngine.h:30
 THttpEngine.h:31
 THttpEngine.h:32
 THttpEngine.h:33
 THttpEngine.h:34
 THttpEngine.h:35
 THttpEngine.h:36
 THttpEngine.h:37
 THttpEngine.h:38
 THttpEngine.h:39
 THttpEngine.h:40
 THttpEngine.h:41
 THttpEngine.h:42
 THttpEngine.h:43
 THttpEngine.h:44
 THttpEngine.h:45
 THttpEngine.h:46