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

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

#ifndef IdattachmentHPP
#define IdattachmentHPP

#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 <Idmessageparts.hpp>	// Pascal unit
#include <Idbasecomponent.hpp>	// Pascal unit
#include <Idsys.hpp>	// Pascal unit
#include <Idobjs.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit

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

namespace Idattachment
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TIdAttachment;
class PASCALIMPLEMENTATION TIdAttachment : public Idmessageparts::TIdMessagePart 
{
	typedef Idmessageparts::TIdMessagePart inherited;
	
protected:
	AnsiString FFileName;
	virtual AnsiString __fastcall GetContentDisposition();
	virtual AnsiString __fastcall GetContentType();
	virtual AnsiString __fastcall GetContentTypeName();
	virtual void __fastcall SetContentDisposition(const AnsiString Value);
	virtual void __fastcall SetContentType(const AnsiString Value);
	
public:
	virtual Classes::TStream* __fastcall OpenLoadStream(void) = 0 ;
	virtual void __fastcall CloseLoadStream(void) = 0 ;
	virtual Classes::TStream* __fastcall PrepareTempStream(void) = 0 ;
	virtual void __fastcall FinishTempStream(void) = 0 ;
	virtual void __fastcall SaveToFile(const AnsiString FileName);
	virtual void __fastcall SaveToStream(Classes::TStream* AStream);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	__property AnsiString FileName = {read=FFileName, write=FFileName};
	__property AnsiString ContentDisposition = {read=GetContentDisposition, write=SetContentDisposition};
	__property AnsiString ContentTypeName = {read=GetContentTypeName};
	#pragma option push -w-inl
	/* virtual class method */ virtual Idmessageparts::TIdMessagePartType __fastcall PartType() { return PartType(__classid(TIdAttachment)); }
	#pragma option pop
	/*         class method */ static Idmessageparts::TIdMessagePartType __fastcall PartType(TMetaClass* vmt);
public:
	#pragma option push -w-inl
	/* TIdMessagePart.Create */ inline __fastcall virtual TIdAttachment(Classes::TCollection* Collection) : Idmessageparts::TIdMessagePart(Collection) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TIdMessagePart.Destroy */ inline __fastcall virtual ~TIdAttachment(void) { }
	#pragma option pop
	
};


typedef TMetaClass* TIdAttachmentClass;

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

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

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