1//----------------------------------------------------------------------
2//  This software is part of the Haiku distribution and is covered
3//  by the MIT License.
4//---------------------------------------------------------------------
5/*!
6	\file sniffer/DisjList.h
7	Mime Sniffer Disjunction List declarations
8*/
9#ifndef _SNIFFER_DISJ_LIST_H
10#define _SNIFFER_DISJ_LIST_H
11
12#include <sys/types.h>
13
14class BPositionIO;
15
16namespace BPrivate {
17namespace Storage {
18namespace Sniffer {
19
20//! Abstract class defining methods acting on a list of ORed patterns
21class DisjList {
22public:
23	DisjList();
24	virtual ~DisjList();
25
26	virtual bool Sniff(BPositionIO *data) const = 0;
27	virtual ssize_t BytesNeeded() const = 0;
28
29	void SetCaseInsensitive(bool how);
30	bool IsCaseInsensitive();
31protected:
32	bool fCaseInsensitive;
33};
34
35};	// namespace Sniffer
36};	// namespace Storage
37};	// namespace BPrivate
38
39#endif	// _SNIFFER_DISJ_LIST_H
40
41
42