Barracuda Application Server C/C++ Reference
Native APIs, integration guides, and platform interfaces
HttpResMgr.h
Go to the documentation of this file.
1/*
2 * ____ _________ __ _
3 * / __ \___ ____ _/ /_ __(_)___ ___ ___ / / ____ ____ _(_)____
4 * / /_/ / _ \/ __ `/ / / / / / __ `__ \/ _ \/ / / __ \/ __ `/ / ___/
5 * / _, _/ __/ /_/ / / / / / / / / / / / __/ /___/ /_/ / /_/ / / /__
6 * /_/ |_|\___/\__,_/_/ /_/ /_/_/ /_/ /_/\___/_____/\____/\__, /_/\___/
7 * /____/
8 *
9 * Barracuda Embedded Web-Server
10 *
11 ****************************************************************************
12 * HEADER
13 *
14 * $Id: HttpResMgr.h 5978 2026-09-11 16:13:48Z 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
41#ifndef __HttpResMgr_h
42#define __HttpResMgr_h
43
44#include "HttpUpload.h"
45
46
82typedef struct HttpResMgr
83#ifdef __cplusplus
84: public HttpDir
85{
101 HttpResMgr(IoIntf* io,
102 int maxUploads,
103 const char* dirName,
104 AllocatorIntf* alloc=0,
105 S8 priority=0);
106
111 ~HttpResMgr();
112#if 0
113}
114#endif
115#else
116{
117 HttpDir super; /* Inherits from HttpDir */
118#endif
119 HttpUploadCbIntf uploadCb;
120
121 HttpUpload upload;
122 IoIntf* io;
123 AllocatorIntf* alloc;
125
126
127
128#ifdef __cplusplus
129extern "C" {
130#endif
131
139 void
141 IoIntf* io,
142 int maxUploads,
143 const char* dirName,
144 AllocatorIntf* alloc,
145 S8 priority);
146
151
158#define HttpResMgr_setAuthenticator(o, authenticator, realm) \
159 HttpDir_setAuthenticator((HttpDir*)o, authenticator, realm)
160#ifdef __cplusplus
161}
163 int maxUploads,
164 const char* dirName,
165 AllocatorIntf* alloc,
166 S8 priority) {
167 HttpResMgr_constructor(this,io,maxUploads,dirName, alloc,priority);
168}
169
172}
173#endif
174
175#endif /* __HttpResMgr_h */
176
void HttpResMgr_constructor(HttpResMgr *o, IoIntf *io, int maxUploads, const char *dirName, AllocatorIntf *alloc, S8 priority)
Initialize the file manager; see HttpResMgr::HttpResMgr.
HttpResMgr HttpResMgr
The HttpResMgr class makes it possible for HTTP clients to use an IoIntf for uploading and downloadin...
void HttpResMgr_destructor(HttpResMgr *o)
Abort active uploads without freeing this object or borrowed dependencies.
int8_t S8
Signed 8-bit integer.
Definition: GenPrimT.h:81
Memory allocation and deallocation Interface class.
Definition: AllocatorIntf.h:98
An instance of the HttpDir class, which is a collection of zero or more resources,...
Definition: HttpServer.h:2777
The HttpResMgr class makes it possible for HTTP clients to use an IoIntf for uploading and downloadin...
Definition: HttpResMgr.h:85
~HttpResMgr()
Terminate the HttpResMgr object.
Definition: HttpResMgr.h:170
HttpResMgr(IoIntf *io, int maxUploads, const char *dirName, AllocatorIntf *alloc=0, S8 priority=0)
Initializes a HttpResMgr.
Definition: HttpResMgr.h:162
The HttpUploadCbIntf interface is an abstract class that must be implemented by code using the HttpUp...
Definition: HttpUpload.h:237
The HttpUpload node is responsible for creating and starting HttpUploadNode instances.
Definition: HttpUpload.h:275
The IoIntf class specifies an abstract file API, implementations include ZipIo, DiskIo,...
Definition: IoIntf.h:482