mirror of https://github.com/tongzx/nt5src
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.
91 lines
2.7 KiB
91 lines
2.7 KiB
/******************************************************************************
|
|
|
|
Copyright (c) 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
Server.h
|
|
|
|
Abstract:
|
|
This file contains the declaration of the MPCServer class,
|
|
that controls the overall interaction between client and server.
|
|
|
|
Revision History:
|
|
Davide Massarenti (Dmassare) 04/20/99
|
|
created
|
|
|
|
******************************************************************************/
|
|
|
|
#if !defined(__INCLUDED___ULSERVER___SERVER_H___)
|
|
#define __INCLUDED___ULSERVER___SERVER_H___
|
|
|
|
|
|
#include <Wrapper.h>
|
|
|
|
|
|
class MPCServer // Hungarian: mpcs
|
|
{
|
|
friend class MPCServerCOMWrapper;
|
|
friend class MPCSessionCOMWrapper;
|
|
|
|
////////////////////
|
|
|
|
MPC::wstring m_szURL;
|
|
MPC::wstring m_szUser;
|
|
CISAPIinstance* m_isapiInstance;
|
|
MPC::FileLog* m_flLogHandle;
|
|
BOOL m_fKeepAlive;
|
|
|
|
MPCHttpContext* m_hcCallback;
|
|
MPCClient* m_mpccClient;
|
|
|
|
UploadLibrary::ClientRequest m_crClientRequest;
|
|
UploadLibrary::ServerResponse m_srServerResponse;
|
|
|
|
MPC::Serializer_Memory m_streamResponseData;
|
|
MPCServerCOMWrapper m_SelfCOM;
|
|
MPCSession* m_Session;
|
|
IULProvider* m_customProvider;
|
|
bool m_fTerminated;
|
|
|
|
////////////////////////////////////////
|
|
|
|
HRESULT GrabClient ();
|
|
HRESULT ReleaseClient();
|
|
|
|
|
|
HRESULT HandleCommand_OpenSession ( /*[in] */ MPC::Serializer& streamConn );
|
|
HRESULT HandleCommand_WriteSession( /*[in] */ MPC::Serializer& streamConn );
|
|
|
|
void SetResponse( /*[in]*/ DWORD fResponse, /*[in]*/ BOOL fKeepAlive = FALSE );
|
|
|
|
////////////////////////////////////////
|
|
|
|
HRESULT CustomProvider_Create ( /*[in]*/ MPCSession& mpcsSession );
|
|
HRESULT CustomProvider_ValidateClient ( );
|
|
HRESULT CustomProvider_DataAvailable ( );
|
|
HRESULT CustomProvider_TransferComplete( );
|
|
HRESULT CustomProvider_SetResponse ( /*[in]*/ IStream* data );
|
|
HRESULT CustomProvider_Release ( );
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
public:
|
|
MPCServer( /*[in]*/ MPCHttpContext* hcCallback, /*[in]*/ LPCWSTR szURL, /*[in]*/ LPCWSTR szUser );
|
|
virtual ~MPCServer();
|
|
|
|
IULServer* COM();
|
|
|
|
/////////////////////////////////////////////
|
|
|
|
HRESULT Process( BOOL& fKeepAlive );
|
|
|
|
/////////////////////////////////////////////
|
|
|
|
void getURL ( MPC::wstring& szURL );
|
|
void getUser( MPC::wstring& szUser );
|
|
|
|
CISAPIinstance* getInstance();
|
|
MPC::FileLog* getFileLog ();
|
|
};
|
|
|
|
#endif // !defined(__INCLUDED___ULSERVER___SERVER_H___)
|