//---------------CSPmod.h--------------

//***********************************************************************
//*****    Copyright ©2001 George Papanikolaou - Micronovae Ltd.
//*****                     All rights reserved
//***********************************************************************


#ifndef _CSPMOD
#define _CSPMOD

#define DEFAULT_EXCEPTION_MODE	true

#define CSPLIB_CLASS_EXPORT __declspec(dllimport)

#include "CSPLib.h"

#include "CSPException.h"
#include "CSPDefs.h"
#include "CSPHttpObjects.h"
#include "CSPTemplate.h"
#include "CSPString.h"
#include "CSPWString.h"
#include "CSPNumber.h"
#include "CSPVarArray.h"
#include "CSPPool.h"
#include "CSPList.h"
#include "CSPStack.h"
#include "CSPTransaction.h"
#include "CSPTime.h"
#include "CSPODBCRecordset.h"
#include "CSPDBControls.h"
#include "CSPMail.h"
#include "CSPThread.h"
#include "CSPTimer.h"

#ifndef max
#define max(a,b) ( (a) >= (b) ? (a) : (b) )
#endif
#ifndef min
#define min(a,b) ( (a) <= (b) ? (a) : (b) )
#endif


struct CSPMODULEDATA
{
	CSPHttpObjects* pHttpObjects;
	LPEXTENSION_CONTROL_BLOCK pECB;
	const CSPBuffer* pStaticDataBuffer;
};

struct CSPONLOADMODULEDATA
{
	CSPApplication* pApplication;
	CSPPage* pPage;
	LPEXTENSION_CONTROL_BLOCK pECB;
};

struct CSPONFREEMODULEDATA
{
	CSPApplication* pApplication;
	CSPPage* pPage;
};


struct CSPMODULEINFO
{
	bool bSession;
	unsigned long ulModuleTimeOut;
	bool bStaticPage;
	const char* pszStaticPageFilename;
	unsigned long ulStaticDataFileSize;
};

#endif
