BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
MpdWebScreenshots.h
Go to the documentation of this file.
1
// -------------------------------------------------------------------------
2
// ----- MpdWebScreenshots header file -----
3
// ----- Created 11/12/15 by K. Smirnov -----
4
// -------------------------------------------------------------------------
5
6
#ifndef MPDWEBSCREENSHOTS_H
7
#define MPDWEBSCREENSHOTS_H
8
9
#include "FairTask.h"
10
#include "
MpdEventManager.h
"
11
#include "
TString.h
"
12
13
///////////////////////////////////////////////////////////////////////////////
14
#define BUFFER_SIZE 512
15
#define MAX_FILE_SIZE 1024 * 1024
16
#define MAX_CONNECTIONS 3
17
///////////////////////////////////////////////////////////////////////////////
18
19
struct
www_thread_par
20
{
21
int
web_port
;
22
TString
outputDir
;
23
int
daemon
;
24
};
25
26
class
MpdWebScreenshots
:
public
FairTask
27
{
28
public
:
29
// Standard constructor
30
//*@param name Name of task
31
//*@outputDir Output directory
32
//*@param iVerbose Verbosity level
33
MpdWebScreenshots
(
const
char
* name,
char
* output_dir,
bool
isWebServer =
false
,
Int_t
iVerbose = 0);
34
35
// Destructor
36
virtual
~MpdWebScreenshots
();
37
38
// Set verbosity level. For this task and all of the subtasks.
39
void
SetVerbose
(
Int_t
iVerbose) { fVerbose = iVerbose; }
40
// Executed task
41
virtual
void
Exec
(
Option_t
* option);
42
virtual
InitStatus
Init
();
43
virtual
void
SetParContainers
();
44
// Action after each event
45
virtual
void
Finish
();
46
47
// Set format of saved files
48
void
SetFormatFiles
(
int
i_format_files) {
iFormatFiles
= i_format_files; }
49
// Set quantity of files
50
void
SetMultiFiles
(
bool
is_multi_files) {
isMultiFiles
= is_multi_files; }
51
// Set Number port
52
void
SetPort
(
int
NumberPort) {
web_port
= NumberPort; }
53
54
private
:
55
// Default constructor
56
MpdWebScreenshots
();
57
MpdWebScreenshots
(
const
MpdWebScreenshots
&) =
delete
;
58
MpdWebScreenshots
&
operator=
(
const
MpdWebScreenshots
&) =
delete
;
59
60
static
int
daemonize
();
61
static
int
sendString
(
const
char
* message,
int
socket
);
62
static
void
sendHeader
(
const
char
* Status_code,
char
* Content_Type,
int
TotalSize,
int
socket
);
63
static
void
sendHTML
(
char
* statusCode,
char
* contentType,
char
* content,
int
size,
int
socket
);
64
static
void
sendFile
(FILE* fp,
int
connecting_socket);
65
static
int
scan
(
char
* input,
char
* output,
size_t
start
,
size_t
max
);
66
static
int
checkMime
(
char
* extension,
char
* mime_type);
67
static
int
getHttpVersion
(
char
* input,
char
* output);
68
static
int
GetExtension
(
char
* input,
char
* output,
size_t
max
);
69
static
int
handleHttpGET
(
char
* input,
TString
output_dir,
int
connecting_socket);
70
static
int
getRequestType
(
char
* input);
71
static
int
receive
(
int
connecting_socket,
TString
output_dir);
72
static
int
acceptConnection
(
int
currentSocket,
TString
output_dir);
73
static
int
start
(
int
webPort,
TString
output_dir);
74
static
int
start_server
(
void
* ptr);
75
76
MpdEventManager
*
fMan
;
77
78
// 0 - PNG, 1 -JPG, 2 - both types
79
int
iFormatFiles
;
80
// 0 - one (the same) file event.png; 1 - multiple files event_nnn.png (event1.png and etc.)
81
bool
isMultiFiles
;
82
83
TString
outputDir
;
84
int
web_port
;
85
int
daemon
;
86
87
bool
isWebStarted
;
88
bool
isWeb
;
89
90
ClassDef
(
MpdWebScreenshots
, 1);
91
};
92
93
#endif
max
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
Definition
P4_F32vec4.h:31
Int_t
int Int_t
Option_t
const char Option_t
ClassDef
#define ClassDef(name, id)
TString.h
FairTask
MpdEventManager
Definition
MpdEventManager.h:32
MpdWebScreenshots::daemonize
static int daemonize()
Definition
MpdWebScreenshots.cxx:108
MpdWebScreenshots::start
static int start(int webPort, TString output_dir)
Definition
MpdWebScreenshots.cxx:499
MpdWebScreenshots::SetPort
void SetPort(int NumberPort)
Definition
MpdWebScreenshots.h:52
MpdWebScreenshots::operator=
MpdWebScreenshots & operator=(const MpdWebScreenshots &)=delete
MpdWebScreenshots::SetVerbose
void SetVerbose(Int_t iVerbose)
Definition
MpdWebScreenshots.h:39
MpdWebScreenshots::sendFile
static void sendFile(FILE *fp, int connecting_socket)
Definition
MpdWebScreenshots.cxx:185
MpdWebScreenshots::Init
virtual InitStatus Init()
Definition
MpdWebScreenshots.cxx:47
MpdWebScreenshots::MpdWebScreenshots
MpdWebScreenshots()
Definition
MpdWebScreenshots.cxx:18
MpdWebScreenshots::daemon
int daemon
Definition
MpdWebScreenshots.h:85
MpdWebScreenshots::handleHttpGET
static int handleHttpGET(char *input, TString output_dir, int connecting_socket)
Definition
MpdWebScreenshots.cxx:320
MpdWebScreenshots::checkMime
static int checkMime(char *extension, char *mime_type)
Definition
MpdWebScreenshots.cxx:227
MpdWebScreenshots::getRequestType
static int getRequestType(char *input)
Definition
MpdWebScreenshots.cxx:423
MpdWebScreenshots::GetExtension
static int GetExtension(char *input, char *output, size_t max)
Definition
MpdWebScreenshots.cxx:293
MpdWebScreenshots::start_server
static int start_server(void *ptr)
Definition
MpdWebScreenshots.cxx:529
MpdWebScreenshots::~MpdWebScreenshots
virtual ~MpdWebScreenshots()
Definition
MpdWebScreenshots.cxx:23
MpdWebScreenshots::MpdWebScreenshots
MpdWebScreenshots(const char *name, char *output_dir, bool isWebServer=false, Int_t iVerbose=0)
Definition
MpdWebScreenshots.cxx:26
MpdWebScreenshots::MpdWebScreenshots
MpdWebScreenshots(const MpdWebScreenshots &)=delete
MpdWebScreenshots::SetFormatFiles
void SetFormatFiles(int i_format_files)
Definition
MpdWebScreenshots.h:48
MpdWebScreenshots::outputDir
TString outputDir
Definition
MpdWebScreenshots.h:83
MpdWebScreenshots::getHttpVersion
static int getHttpVersion(char *input, char *output)
Definition
MpdWebScreenshots.cxx:270
MpdWebScreenshots::SetMultiFiles
void SetMultiFiles(bool is_multi_files)
Definition
MpdWebScreenshots.h:50
MpdWebScreenshots::isWeb
bool isWeb
Definition
MpdWebScreenshots.h:88
MpdWebScreenshots::fMan
MpdEventManager * fMan
Definition
MpdWebScreenshots.h:76
MpdWebScreenshots::receive
static int receive(int connecting_socket, TString output_dir)
Definition
MpdWebScreenshots.cxx:444
MpdWebScreenshots::web_port
int web_port
Definition
MpdWebScreenshots.h:84
MpdWebScreenshots::Exec
virtual void Exec(Option_t *option)
Definition
MpdWebScreenshots.cxx:76
MpdWebScreenshots::SetParContainers
virtual void SetParContainers()
Definition
MpdWebScreenshots.cxx:102
MpdWebScreenshots::sendHeader
static void sendHeader(const char *Status_code, char *Content_Type, int TotalSize, int socket)
Definition
MpdWebScreenshots.cxx:146
MpdWebScreenshots::isWebStarted
bool isWebStarted
Definition
MpdWebScreenshots.h:87
MpdWebScreenshots::isMultiFiles
bool isMultiFiles
Definition
MpdWebScreenshots.h:81
MpdWebScreenshots::Finish
virtual void Finish()
Definition
MpdWebScreenshots.cxx:105
MpdWebScreenshots::iFormatFiles
int iFormatFiles
Definition
MpdWebScreenshots.h:79
MpdWebScreenshots::acceptConnection
static int acceptConnection(int currentSocket, TString output_dir)
Definition
MpdWebScreenshots.cxx:470
MpdWebScreenshots::sendHTML
static void sendHTML(char *statusCode, char *contentType, char *content, int size, int socket)
MpdWebScreenshots::sendString
static int sendString(const char *message, int socket)
Definition
MpdWebScreenshots.cxx:141
TString
MpdEventManager.h
scan
void scan()
Definition
ScintWall_scan.cpp:51
socket
www_thread_par
Definition
MpdWebScreenshots.h:20
www_thread_par::daemon
int daemon
Definition
MpdWebScreenshots.h:23
www_thread_par::web_port
int web_port
Definition
MpdWebScreenshots.h:21
www_thread_par::outputDir
TString outputDir
Definition
MpdWebScreenshots.h:22
eventdisplay
MpdWebScreenshots.h
Generated on
for BmnRoot by
1.17.0