1/*
2 * Copyright 2016 Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef _MEDIA_IO_H
6#define _MEDIA_IO_H
7
8
9#include <DataIO.h>
10#include <SupportDefs.h>
11
12
13enum media_io_flags {
14	B_MEDIA_STREAMING = 0x00000001,
15
16	B_MEDIA_MUTABLE_SIZE = 0x00000002,
17
18	B_MEDIA_SEEK_FORWARD = 0x00000004,
19	B_MEDIA_SEEK_BACKWARD = 0x00000008,
20	B_MEDIA_SEEKABLE = B_MEDIA_SEEK_BACKWARD | B_MEDIA_SEEK_FORWARD
21};
22
23
24class BMediaIO : public BPositionIO {
25public:
26								BMediaIO();
27	virtual						~BMediaIO();
28
29	virtual void				GetFlags(int32* flags) const = 0;
30
31private:
32								BMediaIO(const BMediaIO&);
33			BMediaIO&			operator=(const BMediaIO&);
34
35	virtual	void				_ReservedMediaIO1();
36	virtual void				_ReservedMediaIO2();
37	virtual void				_ReservedMediaIO3();
38	virtual void				_ReservedMediaIO4();
39	virtual void				_ReservedMediaIO5();
40
41			uint32				_reserved[5];
42};
43
44#endif	// _MEDIA_IO_H
45