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
80typedef struct HttpResMgr
81#ifdef __cplusplus
82: public HttpDir
83{
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
122extern "C" {
123#endif
124
125 void
126HttpResMgr_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
Memory allocation and deallocation Interface class.
Definition: AllocatorIntf.h:83
An instance of the HttpDir class, which is a collection of zero or more resources,...
Definition: HttpServer.h:2368
The HttpResMgr class makes it possible for HTTP clients to use an IoIntf for uploading and downloadin...
Definition: HttpResMgr.h:83
~HttpResMgr()
Terminate the HttpResMgr object.
Definition: HttpResMgr.h:147
HttpResMgr(IoIntf *io, int maxUploads, const char *dirName, AllocatorIntf *alloc=0, S8 priority=0)
Initializes a HttpResMgr.
Definition: HttpResMgr.h:139
The HttpUploadCbIntf interface is an abstract class that must be implemented by code using the HttpUp...
Definition: HttpUpload.h:163
The HttpUpload node is responsible for creating and starting HttpUploadNode instances.
Definition: HttpUpload.h:196
The IoIntf class specifies an abstract file API, implementations include ZipIo, DiskIo,...
Definition: IoIntf.h:377