Blame iis/moduleconfig.h

Packit 284210
/*
Packit 284210
* ModSecurity for Apache 2.x, http://www.modsecurity.org/
Packit 284210
* Copyright (c) 2004-2013 Trustwave Holdings, Inc. (http://www.trustwave.com/)
Packit 284210
*
Packit 284210
* You may not use this file except in compliance with
Packit 284210
* the License.  You may obtain a copy of the License at
Packit 284210
*
Packit 284210
*     http://www.apache.org/licenses/LICENSE-2.0
Packit 284210
*
Packit 284210
* If any of the files related to licensing are missing or if you have any
Packit 284210
* other questions related to licensing please contact Trustwave Holdings, Inc.
Packit 284210
* directly using the email address security@modsecurity.org.
Packit 284210
*/
Packit 284210

Packit 284210
#pragma once
Packit 284210

Packit 284210
#define MODSECURITY_SECTION                        L"system.webServer/ModSecurity"
Packit 284210
#define MODSECURITY_SECTION_ENABLED                L"enabled"
Packit 284210
#define MODSECURITY_SECTION_CONFIGFILE			   L"configFile"
Packit 284210

Packit 284210
extern IHttpServer *                       g_pHttpServer;
Packit 284210

Packit 284210
extern PVOID                               g_pModuleContext;
Packit 284210

Packit 284210
class MODSECURITY_STORED_CONTEXT : public IHttpStoredContext
Packit 284210
{
Packit 284210
 public:
Packit 284210
    MODSECURITY_STORED_CONTEXT();
Packit 284210
    ~MODSECURITY_STORED_CONTEXT();
Packit 284210
    
Packit 284210
	static
Packit 284210
    HRESULT
Packit 284210
    GetConfig(
Packit 284210
        IHttpContext *   pContext,
Packit 284210
        MODSECURITY_STORED_CONTEXT ** ppModuleConfig
Packit 284210
    );
Packit 284210

Packit 284210
    // virtual
Packit 284210
    VOID
Packit 284210
    CleanupStoredContext(
Packit 284210
        VOID
Packit 284210
    )
Packit 284210
    {
Packit 284210
        delete this;
Packit 284210
    }
Packit 284210

Packit 284210
    BOOL   GetIsEnabled()
Packit 284210
    {
Packit 284210
        return m_bIsEnabled;
Packit 284210
    }
Packit 284210

Packit 284210
    WCHAR* GetPath()
Packit 284210
    {
Packit 284210
        return m_pszPath;
Packit 284210
    }
Packit 284210

Packit 284210
    HRESULT
Packit 284210
    Initialize(
Packit 284210
        IHttpContext *              pW3Context,
Packit 284210
        IAppHostConfigException **  ppException
Packit 284210
    );
Packit 284210

Packit 284210
    DWORD 
Packit 284210
    GlobalWideCharToMultiByte(
Packit 284210
            WCHAR*  pSource,
Packit 284210
            DWORD   dwLengthSource,
Packit 284210
            CHAR**  ppszDestination,
Packit 284210
            USHORT*  pdwLengthDestination );
Packit 284210

Packit 284210
	void*			  m_Config;
Packit 284210
	DWORD			  m_dwLastCheck;
Packit 284210
	FILETIME		  m_LastChange;
Packit 284210

Packit 284210
private:
Packit 284210
    HRESULT 
Packit 284210
    GetBooleanPropertyValue( 
Packit 284210
            IAppHostElement*            pElement,
Packit 284210
            WCHAR*                      pszPropertyName,
Packit 284210
            IAppHostPropertyException** pException,
Packit 284210
            BOOL*                       pBoolValue );
Packit 284210

Packit 284210
    HRESULT 
Packit 284210
    GetDWORDPropertyValue( 
Packit 284210
            IAppHostElement*            pElement,
Packit 284210
            WCHAR*                      pszPropertyName,
Packit 284210
            IAppHostPropertyException** pException,
Packit 284210
            DWORD*                      pnValue );
Packit 284210

Packit 284210
    HRESULT 
Packit 284210
    GetTimeSpanPropertyValue( 
Packit 284210
            IAppHostElement*            pElement,
Packit 284210
            WCHAR*                      pszPropertyName,
Packit 284210
            IAppHostPropertyException** pException,
Packit 284210
            ULONGLONG*                 pnValue );
Packit 284210

Packit 284210
    HRESULT 
Packit 284210
    GetStringPropertyValue( 
Packit 284210
            IAppHostElement*            pElement,
Packit 284210
            WCHAR*                      pszPropertyName,
Packit 284210
            IAppHostPropertyException** pException,
Packit 284210
            WCHAR**                     ppszValue );
Packit 284210

Packit 284210
    BOOL              m_bIsEnabled;
Packit 284210
    WCHAR*            m_pszPath;
Packit 284210
};