Barracuda Application Server C/C++ Reference
NO
HttpResMgr.h
1 /*
2  * ____ _________ __ _
3  * / __ \___ ____ _/ /_ __(_)___ ___ ___ / / ____ ____ _(_)____
4  * / /_/ / _ \/ __ `/ / / / / / __ `__ \/ _ \/ / / __ \/ __ `/ / ___/
5  * / _, _/ __/ /_/ / / / / / / / / / / / __/ /___/ /_/ / /_/ / / /__
6  * /_/ |_|\___/\__,_/_/ /_/ /_/_/ /_/ /_/\___/_____/\____/\__, /_/\___/
7  * /____/
8  *
9  * Barracuda Embedded Web-Server
10  *
11  ****************************************************************************
12  * HEADER
13  *
14  * $Id: HttpResMgr.h 4915 2021-12-01 18:26:55Z wini $
15  *
16  * COPYRIGHT: Real Time Logic, 2006 - 2019
17  *
18  * This software is copyrighted by and is the sole property of Real
19  * Time Logic LLC. All rights, title, ownership, or other interests in
20  * the software remain the property of Real Time Logic LLC. This
21  * software may only be used in accordance with the terms and
22  * conditions stipulated in the corresponding license agreement under
23  * which the software has been supplied. Any unauthorized use,
24  * duplication, transmission, distribution, or disclosure of this
25  * software is expressly forbidden.
26  *
27  * This Copyright notice may not be removed or modified without prior
28  * written consent of Real Time Logic LLC.
29  *
30  * Real Time Logic LLC. reserves the right to modify this software
31  * without notice.
32  *
33  * http://www.realtimelogic.com
34  ****************************************************************************
35  *
36  *
37  */
38 
39 #ifndef __HttpResMgr_h
40 #define __HttpResMgr_h
41 
42 #include "HttpUpload.h"
43 
44 
80 typedef struct HttpResMgr
81 #ifdef __cplusplus
82 : public HttpDir
83 {
95  HttpResMgr(IoIntf* io,
96  int maxUploads,
97  const char* dirName,
98  AllocatorIntf* alloc=0,
99  S8 priority=0);
100 
104  ~HttpResMgr();
105 #if 0
106 }
107 #endif
108 #else
109 {
110  HttpDir super; /* Inherits from HttpDir */
111 #endif
112  HttpUploadCbIntf uploadCb;
113 
114  HttpUpload upload;
115  IoIntf* io;
116  AllocatorIntf* alloc;
117 } HttpResMgr;
118 
119 
120 
121 #ifdef __cplusplus
122 extern "C" {
123 #endif
124 
125  void
126 HttpResMgr_constructor(HttpResMgr* o,
127  IoIntf* io,
128  int maxUploads,
129  const char* dirName,
130  AllocatorIntf* alloc,
131  S8 priority);
132 
133  void HttpResMgr_destructor(HttpResMgr* o);
134 
135 #define HttpResMgr_setAuthenticator(o, authenticator, realm) \
136  HttpDir_setAuthenticator((HttpDir*)o, authenticator, realm)
137 #ifdef __cplusplus
138 }
140  int maxUploads,
141  const char* dirName,
142  AllocatorIntf* alloc,
143  S8 priority) {
144  HttpResMgr_constructor(this,io,maxUploads,dirName, alloc,priority);
145 }
146 
148  HttpResMgr_destructor(this);
149 }
150 #endif
151 
152 #endif /* __HttpResMgr_h */
153 
AllocatorIntf
Memory allocation and deallocation Interface class.
Definition: AllocatorIntf.h:83
HttpUpload
The HttpUpload node is responsible for creating and starting HttpUploadNode instances.
Definition: HttpUpload.h:196
HttpResMgr::~HttpResMgr
~HttpResMgr()
Terminate the HttpResMgr object.
Definition: HttpResMgr.h:147
HttpResMgr::HttpResMgr
HttpResMgr(IoIntf *io, int maxUploads, const char *dirName, AllocatorIntf *alloc=0, S8 priority=0)
Initializes a HttpResMgr.
Definition: HttpResMgr.h:139
HttpResMgr
The HttpResMgr class makes it possible for HTTP clients to use an IoIntf for uploading and downloadin...
Definition: HttpResMgr.h:83
HttpDir
An instance of the HttpDir class, which is a collection of zero or more resources,...
Definition: HttpServer.h:2384
IoIntf
The IoIntf class specifies an abstract file API, implementations include ZipIo, DiskIo,...
Definition: IoIntf.h:377
HttpUploadCbIntf
The HttpUploadCbIntf interface is an abstract class that must be implemented by code using the HttpUp...
Definition: HttpUpload.h:163