// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Insasl_cram_md5.pas' rev: 10.00

#ifndef Insasl_cram_md5HPP
#define Insasl_cram_md5HPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Insasl.hpp>	// Pascal unit
#include <Insasluserpass.hpp>	// Pascal unit
#include <Incodermime.hpp>	// Pascal unit
#include <Inbasecomponent.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Insasl_cram_md5
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TInSASLCRAMMD5;
class PASCALIMPLEMENTATION TInSASLCRAMMD5 : public Insasluserpass::TInSASLUserPass 
{
	typedef Insasluserpass::TInSASLUserPass inherited;
	
public:
	/*         class method */ static AnsiString __fastcall BuildKeydMD5Auth(TMetaClass* vmt, const AnsiString Password, const AnsiString Challenge);
	#pragma option push -w-inl
	/* virtual class method */ virtual Insasl::TInSASLServiceName __fastcall ServiceName() { return ServiceName(__classid(TInSASLCRAMMD5)); }
	#pragma option pop
	/*         class method */ static Insasl::TInSASLServiceName __fastcall ServiceName(TMetaClass* vmt);
	virtual AnsiString __fastcall StartAuthenticate(const AnsiString AChallenge);
	virtual AnsiString __fastcall ContinueAuthenticate(const AnsiString ALastResponse);
public:
	#pragma option push -w-inl
	/* TInSASL.Destroy */ inline __fastcall virtual ~TInSASLCRAMMD5(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TInBaseComponent.Create */ inline __fastcall TInSASLCRAMMD5(Classes::TComponent* AOwner)/* overload */ : Insasluserpass::TInSASLUserPass(AOwner) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Insasl_cram_md5 */
using namespace Insasl_cram_md5;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Insasl_cram_md5
