16 #ifndef ROOT7_RWebWindowsManager
17 #define ROOT7_RWebWindowsManager
32 namespace Experimental {
34 class RWebWindowsManager {
36 friend class RWebWindow;
39 std::unique_ptr<THttpServer> fServer;
41 std::recursive_mutex fMutex;
43 bool fUseHttpThrd{
false};
44 bool fUseSenderThreads{
false};
45 float fLaunchTmout{30.};
48 bool IsUseHttpThread()
const {
return fUseHttpThrd; }
51 bool IsUseSenderThreads()
const {
return fUseSenderThreads; }
54 float GetLaunchTmout()
const {
return fLaunchTmout; }
56 void Unregister(RWebWindow &win);
59 unsigned ShowWindow(RWebWindow &win,
bool batch_mode,
const RWebDisplayArgs &args);
61 int WaitFor(RWebWindow &win, WebWindowWaitFunc_t check,
bool timed =
false,
double tm = -1);
63 static bool IsMainThrd();
65 std::string GetUrl(
const RWebWindow &win,
bool remote =
false);
67 bool CreateServer(
bool with_http =
false);
72 ~RWebWindowsManager();
75 THttpServer *GetServer()
const {
return fServer.get(); }
78 std::string GetServerAddr()
const {
return fAddr; }
80 static std::shared_ptr<RWebWindowsManager> &Instance();
82 std::shared_ptr<RWebWindow> CreateWindow();