Codebase list dillo / c1dc3d8e-6d74-4d7c-815c-e88c512a8819/upstream src / web.hh
c1dc3d8e-6d74-4d7c-815c-e88c512a8819/upstream

Tree @c1dc3d8e-6d74-4d7c-815c-e88c512a8819/upstream (Download .tar.gz)

web.hh @c1dc3d8e-6d74-4d7c-815c-e88c512a8819/upstreamraw · history · blame

#ifndef __WEB_H__
#define __WEB_H__

#include <stdio.h>     /* for FILE */
#include "bw.h"        /* for BrowserWindow */
#include "cache.h"     /* for CA_Callback_t */
#include "image.hh"    /* for DilloImage */

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/*
 * Flag defines
 */
#define WEB_RootUrl  1
#define WEB_Image    2
#define WEB_Stylesheet 4
#define WEB_Download 8   /* Half implemented... */


typedef struct _DilloWeb DilloWeb;

struct _DilloWeb {
  DilloUrl *url;              /* Requested URL */
  DilloUrl *requester;        /* URL that caused this request, or
                               * NULL if user-initiated. */
  BrowserWindow *bw;          /* The requesting browser window [reference] */
  int flags;                  /* Additional info */

  DilloImage *Image;          /* For image urls [reference] */

  int32_t bgColor;            /* for image backgrounds */
  char *filename;             /* Variables for Local saving */
  FILE *stream;
  int SavedBytes;
};

void a_Web_init(void);
DilloWeb* a_Web_new (BrowserWindow *bw, const DilloUrl* url,
                     const DilloUrl *requester);
int a_Web_valid(DilloWeb *web);
void a_Web_free (DilloWeb*);
int a_Web_dispatch_by_type (const char *Type, DilloWeb *web,
                             CA_Callback_t *Call, void **Data);

#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __WEB_H__ */