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.
 
 
 
 
 
 

48 lines
1.1 KiB

// Transport.h
// This is the base class for event transport classes.
#pragma once
#include "buffer.h"
#include "NCDefs.h"
class CConnection;
class CTransport
{
public:
CTransport() :
m_iRef(1)
{
InitializeCriticalSection(&m_cs);
}
virtual ~CTransport()
{
DeleteCriticalSection(&m_cs);
}
void SetConnection(CConnection *pConnection)
{
m_pConnection = pConnection;
}
// Overrideables
virtual IsReady()=0;
virtual BOOL SendData(LPBYTE pBuffer, DWORD dwSize)=0;
virtual void Deinit()=0;
virtual BOOL InitCallback()=0;
virtual BOOL Init(LPCWSTR szBasePipeName, LPCWSTR szBaseProviderName)=0;
virtual BOOL SignalProviderDisabled()=0;
virtual void SendMsgReply(NC_SRVMSG_REPLY *pReply)=0;
// Critical section functions
void Lock() { EnterCriticalSection(&m_cs); }
void Unlock() { LeaveCriticalSection(&m_cs); }
protected:
LONG m_iRef;
CRITICAL_SECTION m_cs;
CConnection *m_pConnection;
};