gambas-source-code/main/gbx/gbx_project.h
Benoît Minisini 41b6a93cef [EXAMPLES]
* BUG: Fix Embedded window layout.

[INTERPRETER]
* NEW: The '-H' option now runs the interpreted program as a CGI script
  through an embedded HTTP server.

[GB.HTTPD]
* NEW: New hidden component that embeds an HTTP server that runs the 
  project as a CGI script. It is activated by a new interpreter option.
  Warning! This is highly experimental. The HTTP server is based on the
  thttpd source code.

[GB.WEB]
* BUG: As the _init static class is always executed at startup for exported
  classes, delay the intialization of Session class the first time one of 
  its properties is used.
* BUG: If the SCRIPT_NAME CGI variable equals nothing or "/", set it to 
  "/." so that it can be concatenated to any path and still gives a valid
  url.
* BUG: Support for explicit URL ports.
* NEW: Application.Port is a new property that returns the port used by the 
  HTTP request.


git-svn-id: svn://localhost/gambas/trunk@5209 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-27 20:52:08 +00:00

60 lines
1.7 KiB
C

/***************************************************************************
gbx_project.h
(c) 2000-2012 Benoît Minisini <gambas@users.sourceforge.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA.
***************************************************************************/
#ifndef __GBX_PROJECT_H
#define __GBX_PROJECT_H
#include "gbx_class.h"
typedef
struct {
char *command;
void (*func)();
}
PROJECT_COMMAND;
typedef
void (*PROJECT_COMPONENT_CALLBACK)(char *);
#ifndef __GBX_PROJECT_C
EXTERN char *PROJECT_path;
EXTERN char *PROJECT_exec_path;
EXTERN char *PROJECT_name;
EXTERN char *PROJECT_title;
EXTERN char *PROJECT_version;
EXTERN char *PROJECT_startup;
EXTERN CLASS *PROJECT_class;
EXTERN int PROJECT_argc;
EXTERN char **PROJECT_argv;
EXTERN char *PROJECT_oldcwd;
EXTERN char *PROJECT_user_home;
#endif
void PROJECT_init(const char *file);
bool PROJECT_load(void);
void PROJECT_load_finish(void);
void PROJECT_exit(void);
char *PROJECT_get_home(void);
void PROJECT_analyze_startup(char *addr, int len, PROJECT_COMPONENT_CALLBACK cb);
#endif