lib/cgi/cgi-base.h
author "Tomas Zeman <tzeman@volny.cz>"
Sun, 20 Jan 2008 00:22:09 +0100
changeset 2 b3afb9f1e801
parent 0 6f7a81934006
permissions -rw-r--r--
Imported vmailmgr-0.97

/* $Id: cgi-base.h 616 2005-08-19 20:11:01Z bruce $ */
#ifndef CHECKVPW__CGI_BASE__H__
#define CHECKVPW__CGI_BASE__H__

#include "mystring/mystring.h"
#include "cgi/cgi-args.h"

extern void content_type(mystring ct);

class CGI
{
protected:
  const CGIArgs& args;

  const mystring redirect_url, error_redirect_url;
  const mystring vdomain, password;
  
  void error(mystring);
  void success(mystring);

  void must_be_defined(mystring);
  
public:
  CGI(const CGIArgs& a);
  
  void main();
};

#define CGI_MAIN void CGI::main()

#define CGI_INPUT(VAR) \
  const mystring VAR##__name__ = #VAR; \
  must_be_defined(VAR##__name__); \
  mystring VAR = args[VAR##__name__];

#define CGI_OPTINPUT(VAR) \
  const mystring VAR##__name__ = #VAR; \
  mystring VAR = args[VAR##__name__];

#endif