libs-gsweb/GSWAdaptors/common/GSWConfig.h

151 lines
4.3 KiB
C
Raw Normal View History

/* GSWConfig.h - GSWeb: GSWeb Configuration Management
Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
Written by: Manuel Guesdon <mguesdon@sbuilders.com>
Date: July 1999
This file is part of the GNUstep Web Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
// $Id$
#ifndef _GSWConfig_h__
#define _GSWConfig_h__
#include <proplist.h>
#include <time.h>
#include "GSWList.h"
#include "GSWDict.h"
#include "GSWLock.h"
#include "GSWString.h"
#include "GSWApp.h"
2001-03-11 Manuel Guesdon <mguesdon@orange-concept.com> * GSWeb.framework/GSWWOCompatibility.h/.m: added * GSWeb.framework/GNUmakefile: added GSWWOCompatibility.h/.m * GSWeb.framework/GSWApplication.h/m: added WOApplicationMain, handle WO/GSWeb names * GSWeb.framework/GSWContext.m: handle WO/GSWeb names, added traces * GSWeb.framework/GSWConstants.h/.m: handle WO/GSWeb names * GSWeb.framework/GSWDynamicURLString.m: handle WO/GSWeb names * GSWeb.framework/GSWProjectBundle.m/.h: handle WO/GSWeb names, suppress warnings * GSWeb.framework/GSWSession.m: handle WO/GSWeb names * GSWeb.framework/GSWRequest.m: handle WO/GSWeb names * GSWeb.framework/GSWTemplateParser.m: handle WO/GSWeb names, added tag counts to help errors hunt * GSWeb.framework/GSWBundle.m: handle WO/GSWeb names, added traces * GSWeb.framework/GSWResourceManager.m: handle WO/GSWeb names * GSWeb.framework/GSWURLValuedElementData.m: handle WO/GSWeb names * GSWeb.framework/GSWComponentRequestHandler.m: handle WO/GSWeb names * GSWeb.framework/GSWDirectAction.m: handle WO/GSWeb names * GSWeb.framework/GSWForm.m/.h: handle WO/GSWeb names * GSWeb.framework/GSWHyperlink.m/.h: handle WO/GSWeb names * GSWeb.framework/GSWResourceRequestHandler.m: handle WO/GSWeb names * GSWeb.framework/GSWDirectActionRequestHandler.m: handle WO/GSWeb names * GSWeb.framework/GSWActiveImage.m/.h: handle WO/GSWeb names * GSWeb.framework/GSWBindingNameAssociation.h/.m: handle WO/GSWeb names * GSWeb.framework/GSWBrowser.h/.m: handle WO/GSWeb names * GSWeb.framework/GSWComponent.h/.m: handle WO/GSWeb names * GSWeb.framework/GSWHTMLURLValuedElement.h/.m: handle WO/GSWeb names * GSWeb.framework/GSWImageButton.h/.m: handle WO/GSWeb names * GSWeb.framework/GSWInput.h/.m: handle WO/GSWeb names * GSWeb.framework/GSWPopUpButton.h/.m: handle WO/GSWeb names * GSWeb.framework/GSWString.h/.m: handle WO/GSWeb names * GSWeb.framework/GSWAssociation.m: handle WO/GSWeb names * GSWeb.framework/GSWCheckBox.m: handle WO/GSWeb names * GSWeb.framework/GSWCheckBoxList.m: handle WO/GSWeb names * GSWeb.framework/GSWComponentDefinition.m: handle WO/GSWeb names * GSWeb.framework/GSWRadioButton.m: handle WO/GSWeb names * GSWeb.framework/GSWRadioButtonList.m: handle WO/GSWeb names * GSWeb.framework/GSWText.m: handle WO/GSWeb names * GSWeb.framework/GSWTextField.m: handle WO/GSWeb names * GSWeb.framework/GSWDeployedBundle.m: warnings * GSWeb.framework/GSWeb.h: added include GSWeb/GSWSessionTimeOut.h, GSWWOCompatibility.h * GSWeb.framework/GSWAdaptor.m: traces * GSWeb.framework/GSWDefaultAdaptor.m: handle WO/GSWeb names, added traces * GSWeb.framework/GSWDefaultAdaptorThread.m/.h: handle WO/GSWeb names * GSWeb.framework/NSNonBlockingFileHandle.m: added traces * GSWeb.framework/GSWTemplateParserANTLR.m: handle WO/GSWeb names * GSWeb.framework/GSWTemplateParserXML.m: handle WO/GSWeb names added tag count to help errors hunt remove "Tag gsweb invalid" message handle unicode strings in node content traces remove html and body tags if they are not present in the template * GSWeb.framework/GSWTemplateParseXML.h: added ivar _isHTMLTag, _isBodyTag * GSWeb.framework/GSWSessionTimeOutManager.m: dealloc sessionOrderedTimeOuts instead of deallocating 2 times sessionTimeOuts * GSWExtensions.framework/French.lproj/GSWSessionRestorationErrorPage.gswc/GSWSessionRestorationErrorPage.html: tag mismatch, Encode french characters * GSWExtensions.framework/GSWSessionRestorationErrorPage.gswc/GSWSessionRestorationErrorPage.html: tag mismatch * GSWHTMLBareString.m: handle unicode strings in description * GSWExtensions.framework/French.lproj/GSWExceptionPage.gswc/GSWExceptionPage.html: Encode french characters, Tag Mismatch * GSWExtensions.framework/French.lproj/GSWPageRestorationErrorPage.gswc/GSWPageRestorationErrorPage.html: Encode french characters * GSWExtensions.framework/French.lproj/GSWSessionCreationErrorPage.gswc/GSWSessionCreationErrorPage.html: Encode french characters * GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.html: Tag Mismatch * GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.gswd: added convertHTMLEntities for strings * GSWeb.framework/GSWRepetition.m: added traces, fix "count" property bug, standardize ivars * GSWeb.framework/NSObject+IVarAccess+PerformSel.m: added traces, handle underscored ivars search git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@9332 72102866-910b-0410-8b05-ffd578937521
2001-03-11 17:15:44 +00:00
#define GSWNAMES_INDEX 0
#define WONAMES_INDEX 1
extern GSWLock g_lockAppList;
extern GSWDict *g_pAppDict;
extern time_t config_mtime;
extern const char *g_szGSWeb_AdaptorVersion;
extern const char *g_szGSWeb_Prefix;
extern const char *g_szGSWeb_Handler;
extern const char *g_szGSWeb_StatusResponseAppName;
extern const char *g_szGSWeb_AppExtention[2];
extern const char *g_szGSWeb_MimeType;
//extern const char *g_szGSWeb_Conf_DocRoot;
extern const char *g_szGSWeb_Conf_ConfigFilePath;
// Apache
#if defined(Apache)
extern const char *g_szGSWeb_Conf_Alias;
#endif
// Netscape
#if defined(Netscape)
extern const char *g_szGSWeb_Conf_PathTrans;
extern const char *g_szGSWeb_Conf_AppRoot;
extern const char *g_szGSWeb_Conf_Name;
#endif
extern const char *g_szGSWeb_InstanceCookie[2];
extern const char *g_szGSWeb_Server;
extern const char *g_szGSWeb_ServerAndAdaptorVersion;
extern const char *const g_szGNUstep;
extern const char *const g_szOKGSWeb[2];
extern const char *const g_szOKStatus[2];
typedef enum
{
EGSWConfigResult__Error = -1,
EGSWConfigResult__Ok = 0,
EGSWConfigResult__NotChanged = 1
} EGSWConfigResult;
typedef enum
{
EGSWConfigResult__Clear = 0,
EGSWConfigResult__Add = 1
} EGSWConfigCallType;
typedef struct _GSWConfig
{
char *pszConfigFilePath;
char *pszGSWExtensionsFrameworkWebServerResources;
BOOL fCanDumpStatus;
BOOL fAddTimeHeaders;
BOOL fDebug;
char *pszAdaptorTemplatesPath;
} GSWConfig;
EGSWConfigResult GSWConfig_ReadIFND(CONST char *p_pszConfigPath,
time_t *p_pLastReadTime,
proplist_t *p_ppPropList,//Please, PLRelease it after used !
void *p_pLogServerData);
proplist_t GSWConfig_GetApplicationsFromConfig(proplist_t p_propListConfig,
void *p_pLogServerData);
proplist_t GSWConfig_ApplicationKeyFromApplicationsKey(proplist_t p_propListApplicationsKeys,
int p_iIndex,
void *p_pLogServerData);
proplist_t GSWConfig_InstancesFromApplication(proplist_t p_propListApplication,
void *p_pLogServerData);
proplist_t GSWConfig_ApplicationFromApplications(proplist_t p_propListApplications,
proplist_t p_propListApplicationKey,
void *p_pLogServerData);
proplist_t GSWConfig_ApplicationsKeysFromApplications(proplist_t p_propListApplications,
void *p_pLogServerData);
proplist_t GSWConfig_ApplicationsKeysFromConfig(proplist_t p_propListConfig,
void *p_pLogServerData);
GSWConfig *GSWConfig_GetConfig();
BOOL GSWConfig_CanDumpStatus();
BOOL GSWConfig_AddTimeHeaders();
BOOL GSWConfig_IsDebug();
BOOL GSWConfig_IsReaden();
CONST char *GSWConfig_GetConfigFilePath();
void GSWConfig_SetConfigFilePath(CONST char *p_pszConfigFilePath);
GSWString *GSWConfig_DumpGSWApps(const char *p_pszReqApp,
const char *p_pszPrefix,
BOOL p_fForceDump,
BOOL p_fHTML,
void *p_pLogServerData);
void GSWConfig_Init(GSWDict *p_pDict,
void *p_pLogServerData);
GSWApp *GSWConfig_GetApp(CONST char *p_pszAppName);
CONST char *GSWConfig_AdaptorBuilt();
CONST char *GSWConfig_ServerStringInfo();
CONST char *g_szGSWeb_AdaptorStringInfo();
CONST char *GSWConfig_ServerURL();
CONST char *g_szGSWeb_AdaptorURL();
#endif // _GSWConfig_h__