Barracuda Application Server C/C++ Reference
Native APIs, integration guides, and platform interfaces
HttpUpload.h File Reference
#include <HttpAsynchReq.h>
#include <MultipartUpload.h>
#include <AuthenticatedUser.h>
#include <IoIntf.h>
Include dependency graph for HttpUpload.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  HttpUploadNode
 A HttpUploadNode is dynamically created by an HttpUpload instance for each concurrent upload. More...
 
struct  HttpUploadCbIntf
 The HttpUploadCbIntf interface is an abstract class that must be implemented by code using the HttpUpload. More...
 
struct  HttpUpload
 The HttpUpload node is responsible for creating and starting HttpUploadNode instances. More...
 

Macros

#define HttpUploadCbIntf_constructor(o, onFile, onError)
 Install upload callbacks without allocating memory. More...
 
#define HttpUpload_getIoIntf(o)   (o)->io
 

Typedefs

typedef void(* HttpUploadCbIntf_OnFile) (struct HttpUploadCbIntf *o, struct HttpUploadNode *node, BaBool completed)
 Notify the application about a file or completed request. More...
 
typedef void(* HttpUploadCbIntf_OnError) (struct HttpUploadCbIntf *o, struct HttpUploadNode *node, int ecode, const char *extraEcode)
 Report upload failure or parent shutdown. More...
 
typedef struct HttpUploadCbIntf HttpUploadCbIntf
 The HttpUploadCbIntf interface is an abstract class that must be implemented by code using the HttpUpload. More...
 
typedef struct HttpUpload HttpUpload
 The HttpUpload node is responsible for creating and starting HttpUploadNode instances. More...
 

Functions

BA_API const char * HttpUploadNode_getName (struct HttpUploadNode *o)
 
BA_API const char * HttpUploadNode_getUrl (struct HttpUploadNode *o)
 
BA_API HttpAsynchRespHttpUploadNode_getResponse (struct HttpUploadNode *o)
 Switch from receiving the upload to producing its response. More...
 
BA_API struct HttpConnectionHttpUploadNode_getConnection (struct HttpUploadNode *o)
 
BA_API IoIntfPtr HttpUploadNode_getIoIntf (struct HttpUploadNode *o)
 
BA_API void * HttpUploadNode_getdata (struct HttpUploadNode *o)
 
BA_API HttpSessionHttpUploadNode_getSession (struct HttpUploadNode *o)
 
BA_API BaBool HttpUploadNode_isMultipartUpload (struct HttpUploadNode *o)
 
BA_API BaBool HttpUploadNode_isResponseMode (struct HttpUploadNode *o)
 
BA_API BaBool HttpUploadNode_initial (struct HttpUploadNode *o)
 
BA_API int HttpUploadNode_decrRef (struct HttpUploadNode *o)
 Release one retained reference. More...
 
BA_API void HttpUploadNode_incRef (struct HttpUploadNode *o)
 Retain a node beyond the current callback. More...
 
BA_API void set_inflategzip (IoIntf_InflateGzip ptr)
 Install the process-wide gzip upload adapter in builds with zlib support. More...
 
BA_API IoIntf_InflateGzip get_inflategzip (void)
 
BA_API void HttpUpload_constructor (HttpUpload *o, IoIntfPtr io, AllocatorIntf *alloc, HttpUploadCbIntf *uploadCb, int maxUploads)
 Initialize an HttpUpload instance. More...
 
BA_API void HttpUpload_destructor (HttpUpload *o)
 Abort active uploads and release their storage. More...
 
BA_API int HttpUpload_service (HttpUpload *o, const char *name, HttpCommand *cmd, void *userdata)
 Start an upload for a PUT or multipart POST request. More...