Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef _REQUEST_H_
#define _REQUEST_H_
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
// REQUEST.H
//
// Header for DAV request class.
//
// Copyright 1986-1997 Microsoft Corporation, All Rights Reserved
//
#include <autoptr.h> // For CMTRefCounted parent
class IEcb; class IBodyPartVisitor; class IAcceptObserver; class IAsyncStream; class IAsyncIStreamObserver; class IAsyncPersistObserver;
// ========================================================================
//
// CLASS IRequest
//
// Interface for HTTP 1.1/DAV 1.0 request using an ISAPI
// EXTENSION_CONTROL_BLOCK
//
class IRequest : public CMTRefCounted { private: // NOT IMPLEMENTED
//
IRequest& operator=( const IRequest& ); IRequest( const IRequest& );
protected: // CREATORS
// Only create this object through it's descendents!
//
IRequest() {};
public: // CREATORS
//
virtual ~IRequest() = 0;
// ACCESSORS
//
virtual LPCSTR LpszGetHeader( LPCSTR pszName ) const = 0; virtual LPCWSTR LpwszGetHeader( LPCSTR pszName, BOOL fUrlConversion ) const = 0;
virtual BOOL FExistsBody() const = 0; virtual IStream * GetBodyIStream( IAsyncIStreamObserver& obs ) const = 0; virtual VOID AsyncImplPersistBody( IAsyncStream& stm, IAsyncPersistObserver& obs ) const = 0;
// MANIPULATORS
//
virtual void ClearBody() = 0; virtual void AddBodyText( UINT cbText, LPCSTR pszText ) = 0; virtual void AddBodyStream( IStream& stm ) = 0; };
IRequest * NewRequest( IEcb& ecb );
#endif // !defined(_REQUEST_H_)
|