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.
 
 
 
 
 
 

120 lines
2.5 KiB

//#--------------------------------------------------------------
//
// File: client.h
//
// Synopsis: This file holds the declarations of the
// CClient class
//
//
// History: 9/23/97 MKarki Created
//
// Copyright (C) 1997-98 Microsoft Corporation
// All rights reserved.
//
//----------------------------------------------------------------
#ifndef _CLIENT_H_
#define _CLIENT_H_
#include "radcommon.h"
#include "iasradius.h"
#include "resource.h"
#define MAX_SECRET_SIZE 255
#define MAX_CLIENT_SIZE 255
#define MAX_CLIENTNAME_SIZE 255
class CClient :
public IIasClient,
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CClient, &__uuidof (CClient)>
{
public:
//
// registry declaration for the Client Object
//
IAS_DECLARE_REGISTRY (CClient, 1, 0, IASRadiusLib)
//
// this component is non-aggregatable
//
DECLARE_NOT_AGGREGATABLE (CClient)
//
// macros for ATL required methods
//
BEGIN_COM_MAP (CClient)
COM_INTERFACE_ENTRY_IID (__uuidof(CClient), CClient)
COM_INTERFACE_ENTRY (IIasClient)
END_COM_MAP ()
public:
STDMETHOD_(DWORD, GetAddress)();
STDMETHOD_(BOOL, NeedSignatureCheck)();
STDMETHOD_(LONG, GetVendorType)();
STDMETHOD_(LPCWSTR, GetClientNameW)();
STDMETHOD_(LPCWSTR, GetClientAddressW)();
STDMETHOD_(const BYTE*, GetSecret)(DWORD* pdwSecretSize);
STDMETHOD(Init)(ISdo* pISdo);
STDMETHOD(ResolveAddress)();
CClient();
virtual ~CClient();
struct Address
{
ULONG ipAddress;
ULONG width;
};
const Address* GetAddressList() throw ()
{ return m_adwAddrList; }
protected:
void ClearAddress() throw ();
private:
HRESULT SetAddress (const VARIANT& varAddress) throw ();
BOOL SetSecret (
/*[in]*/ VARIANT varSecret
);
HRESULT SetClientName(const VARIANT& varClientName) throw ();
BOOL SetSignatureFlag (
/*[in]*/ VARIANT varSigFlag
);
BOOL SetVendorType (
/*[in]*/ VARIANT varAddress
);
Address m_adwAddressBuffer[2];
Address* m_adwAddrList;
CHAR m_szSecret[MAX_SECRET_SIZE + 1];
WCHAR m_wszClientName[MAX_CLIENTNAME_SIZE + 1];
WCHAR m_wszClientAddress[MAX_CLIENT_SIZE +1];
DWORD m_dwSecretSize;
BOOL m_bSignatureCheck;
INT m_lVendorType;
};
#endif // ifndef _CLIENT_H_