New MIME Sniffer files
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@529 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
0b55d6648f
commit
0be1fe8a1f
25
headers/private/storage/sniffer/Expr.h
Normal file
25
headers/private/storage/sniffer/Expr.h
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
//----------------------------------------------------------------------
|
||||||
|
// This software is part of the OpenBeOS distribution and is covered
|
||||||
|
// by the OpenBeOS license.
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
/*!
|
||||||
|
\file sniffer/Expr.h
|
||||||
|
Mime Sniffer Expression declarations
|
||||||
|
*/
|
||||||
|
#ifndef _sk_sniffer_expr_h_
|
||||||
|
#define _sk_sniffer_expr_h_
|
||||||
|
|
||||||
|
namespace Sniffer {
|
||||||
|
|
||||||
|
class BFile;
|
||||||
|
|
||||||
|
//! Abstract class definining an interface for sniffing BFile objects
|
||||||
|
class Expr {
|
||||||
|
public:
|
||||||
|
virtual ~Expr() {}
|
||||||
|
virtual bool Sniff(BFile *file) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // _sk_sniffer_expr_h_
|
31
headers/private/storage/sniffer/Range.h
Normal file
31
headers/private/storage/sniffer/Range.h
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
//----------------------------------------------------------------------
|
||||||
|
// This software is part of the OpenBeOS distribution and is covered
|
||||||
|
// by the OpenBeOS license.
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
/*!
|
||||||
|
\file sniffer/Range.h
|
||||||
|
MIME sniffer range declarations
|
||||||
|
*/
|
||||||
|
#ifndef _sk_sniffer_range_h_
|
||||||
|
#define _sk_sniffer_range_h_
|
||||||
|
|
||||||
|
#include <SupportDefs.h>
|
||||||
|
|
||||||
|
namespace Sniffer {
|
||||||
|
|
||||||
|
class Range {
|
||||||
|
public:
|
||||||
|
Range(int32 start, int32 end);
|
||||||
|
|
||||||
|
int32 Start() const;
|
||||||
|
int32 End() const;
|
||||||
|
|
||||||
|
void SetTo(int32 start, int32 end);
|
||||||
|
private:
|
||||||
|
int32 fStart;
|
||||||
|
int32 fEnd;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // _sk_sniffer_range_h_
|
45
src/kits/storage/sniffer/Range.cpp
Normal file
45
src/kits/storage/sniffer/Range.cpp
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
//----------------------------------------------------------------------
|
||||||
|
// This software is part of the OpenBeOS distribution and is covered
|
||||||
|
// by the OpenBeOS license.
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
/*!
|
||||||
|
\file Range.cpp
|
||||||
|
MIME sniffer range implementation
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <sniffer/Range.h>
|
||||||
|
#include <sniffer/Parser.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
using namespace Sniffer;
|
||||||
|
|
||||||
|
Range::Range(int32 start, int32 end)
|
||||||
|
: fStart(-1)
|
||||||
|
, fEnd(-1)
|
||||||
|
{
|
||||||
|
SetTo(start, end);
|
||||||
|
}
|
||||||
|
|
||||||
|
int32
|
||||||
|
Range::Start() const {
|
||||||
|
return fStart;
|
||||||
|
}
|
||||||
|
|
||||||
|
int32
|
||||||
|
Range::End() const {
|
||||||
|
return fEnd;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Range::SetTo(int32 start, int32 end) {
|
||||||
|
if (start > end) {
|
||||||
|
char start_str[32];
|
||||||
|
char end_str[32];
|
||||||
|
sprintf(start_str, "%ld", start);
|
||||||
|
sprintf(end_str, "%ld", end);
|
||||||
|
throw new Err(std::string("Sniffer Parser Error -- Invalid range: [") + start_str + ":" + end_str + "]", -1);
|
||||||
|
} else {
|
||||||
|
fStart = start;
|
||||||
|
fEnd = end;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user