Flutter Engine
The Flutter Engine
UrlHandler.h
Go to the documentation of this file.
1/*
2 * Copyright 2016 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7#ifndef UrlHandler_DEFINED
8#define UrlHandler_DEFINED
9
11
12struct MHD_Connection;
13struct Request;
14
16public:
17 virtual ~UrlHandler() {}
18 virtual bool canHandle(const char* method, const char* url) = 0;
19 virtual int handle(Request* request, MHD_Connection* connection,
20 const char* url, const char* method,
21 const char* upload_data, size_t* upload_data_size) = 0;
22};
23
24class CmdHandler : public UrlHandler {
25public:
26 bool canHandle(const char* method, const char* url) override;
27 int handle(Request* request, MHD_Connection* connection,
28 const char* url, const char* method,
29 const char* upload_data, size_t* upload_data_size) override;
30};
31
32class ImgHandler : public UrlHandler {
33public:
34 bool canHandle(const char* method, const char* url) override;
35 int handle(Request* request, MHD_Connection* connection,
36 const char* url, const char* method,
37 const char* upload_data, size_t* upload_data_size) override;
38};
39
40class BreakHandler : public UrlHandler {
41public:
42 bool canHandle(const char* method, const char* url) override;
43 int handle(Request* request, MHD_Connection* connection,
44 const char* url, const char* method,
45 const char* upload_data, size_t* upload_data_size) override;
46};
47
48/**
49 Updates the clip visualization alpha. On all subsequent /img requests, the clip will be drawn in
50 black with the specified alpha. 0 = no visible clip, 255 = fully opaque clip.
51 */
53public:
54 bool canHandle(const char* method, const char* url) override;
55 int handle(Request* request, MHD_Connection* connection,
56 const char* url, const char* method,
57 const char* upload_data, size_t* upload_data_size) override;
58};
59
60/**
61 Controls whether GPU rendering is enabled. Posting to /enableGPU/1 turns GPU on, /enableGPU/0
62 disables it.
63 */
65public:
66 bool canHandle(const char* method, const char* url) override;
67 int handle(Request* request, MHD_Connection* connection,
68 const char* url, const char* method,
69 const char* upload_data, size_t* upload_data_size) override;
70};
71
72/**
73 Controls whether overdraw rendering is enabled. Posting to /overdraw/1 turns overdraw on,
74 /overdraw/0 disables it.
75 */
77public:
78 bool canHandle(const char* method, const char* url) override;
79 int handle(Request* request, MHD_Connection* connection,
80 const char* url, const char* method,
81 const char* upload_data, size_t* upload_data_size) override;
82};
83
84class PostHandler : public UrlHandler {
85public:
86 bool canHandle(const char* method, const char* url) override;
87 int handle(Request* request, MHD_Connection* connection,
88 const char* url, const char* method,
89 const char* upload_data, size_t* upload_data_size) override;
90};
91
93public:
94 bool canHandle(const char* method, const char* url) override;
95 int handle(Request* request, MHD_Connection* connection,
96 const char* url, const char* method,
97 const char* upload_data, size_t* upload_data_size) override;
98};
99
100class InfoHandler : public UrlHandler {
101public:
102 bool canHandle(const char* method, const char* url) override;
103 int handle(Request* request, MHD_Connection* connection,
104 const char* url, const char* method,
105 const char* upload_data, size_t* upload_data_size) override;
106};
107
108class DataHandler : public UrlHandler {
109public:
110 bool canHandle(const char* method, const char* url) override;
111 int handle(Request* request, MHD_Connection* connection,
112 const char* url, const char* method,
113 const char* upload_data, size_t* upload_data_size) override;
114};
115
116/*
117 * Returns a json descripton of all the GPU ops in the image
118 */
119class OpsHandler : public UrlHandler {
120public:
121 bool canHandle(const char* method, const char* url) override;
122 int handle(Request* request, MHD_Connection* connection,
123 const char* url, const char* method,
124 const char* upload_data, size_t* upload_data_size) override;
125};
126
127/*
128 * Enables drawing of gpu op bounds
129 */
131public:
132 bool canHandle(const char* method, const char* url) override;
133 int handle(Request* request, MHD_Connection* connection,
134 const char* url, const char* method,
135 const char* upload_data, size_t* upload_data_size) override;
136};
137
138class RootHandler : public UrlHandler {
139public:
140 bool canHandle(const char* method, const char* url) override;
141 int handle(Request* request, MHD_Connection* connection,
142 const char* url, const char* method,
143 const char* upload_data, size_t* upload_data_size) override;
144};
145
146/**
147 * Controls how rendering is performed (L32, S32, F16).
148 * Posting to /colorMode/0 turns on L32, /colorMode/1 turns on sRGB,
149 * /colorMode/2 turns on FP16.
150 */
152public:
153 bool canHandle(const char* method, const char* url) override;
154 int handle(Request* request, MHD_Connection* connection,
155 const char* url, const char* method,
156 const char* upload_data, size_t* upload_data_size) override;
157};
158
159class QuitHandler : public UrlHandler {
160public:
161 bool canHandle(const char* method, const char* url) override;
162 int handle(Request* request, MHD_Connection* connection,
163 const char* url, const char* method,
164 const char* upload_data, size_t* upload_data_size) override;
165};
166
167#endif // UrlHandler_DEFINED
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
bool canHandle(const char *method, const char *url) override
bool canHandle(const char *method, const char *url) override
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
Definition: CmdHandler.cpp:23
bool canHandle(const char *method, const char *url) override
Definition: CmdHandler.cpp:18
bool canHandle(const char *method, const char *url) override
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
bool canHandle(const char *method, const char *url) override
Definition: DataHandler.cpp:18
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
Definition: DataHandler.cpp:24
bool canHandle(const char *method, const char *url) override
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
bool canHandle(const char *method, const char *url) override
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
Definition: ImgHandler.cpp:24
bool canHandle(const char *method, const char *url) override
Definition: ImgHandler.cpp:18
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
Definition: InfoHandler.cpp:24
bool canHandle(const char *method, const char *url) override
Definition: InfoHandler.cpp:18
bool canHandle(const char *method, const char *url) override
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
bool canHandle(const char *method, const char *url) override
Definition: OpsHandler.cpp:18
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
Definition: OpsHandler.cpp:23
bool canHandle(const char *method, const char *url) override
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
Definition: PostHandler.cpp:35
bool canHandle(const char *method, const char *url) override
Definition: PostHandler.cpp:30
bool canHandle(const char *method, const char *url) override
Definition: QuitHandler.cpp:16
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
Definition: QuitHandler.cpp:22
bool canHandle(const char *method, const char *url) override
Definition: RootHandler.cpp:16
int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override
Definition: RootHandler.cpp:21
virtual int handle(Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size)=0
virtual bool canHandle(const char *method, const char *url)=0
virtual ~UrlHandler()
Definition: UrlHandler.h:17