type
  TMemoryAccessAdapter = class(TFFBaseComponent)
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;

    property Stream: TCustomEventStream read FStream;
    property Opened: Boolean read GetOpened;
    property Filename: string read GetFilename;
    property UserData: Pointer read FData write FData;
  published
    property TriggerEventInMainThread: Boolean read GetTriggerEventInMainThread write SetTriggerEventInMainThread default True;
    property OnOpen: TStreamOpenEvent read GetOnOpen write SetOnOpen;
    property OnClose: TNotifyEvent read GetOnClose write SetOnClose;
    property OnRead: TStreamReadEvent read GetOnRead write SetOnRead;
    property OnWrite: TStreamWriteEvent read GetOnWrite write SetOnWrite;
    property OnSeek: TStreamSeekEvent read GetOnSeek write SetOnSeek;
  end;
