2 * Copyright 2001-2008, Axel Dörfler, axeld@pinc-software.de.
3 * This file may be used under the terms of the MIT License.
8 #include "system_dependencies.h"
22 Expression(char* expr
);
26 const char* Position() const { return fPosition
; }
27 Term
* Root() const { return fTerm
; }
30 Term
* ParseOr(char** expr
);
31 Term
* ParseAnd(char** expr
);
32 Term
* ParseEquation(char** expr
);
34 bool IsOperator(char** expr
, char op
);
37 Expression(const Expression
& other
);
38 Expression
& operator=(const Expression
& other
);
45 class Query
: public SinglyLinkedListLinkImpl
<Query
> {
47 Query(Volume
* volume
, Expression
* expression
,
52 status_t
GetNextEntry(struct dirent
* , size_t size
);
54 void SetLiveMode(port_id port
, int32 token
);
55 void LiveUpdate(Inode
* inode
, const char* attribute
,
56 int32 type
, const uint8
* oldKey
,
57 size_t oldLength
, const uint8
* newKey
,
59 void LiveUpdateRenameMove(Inode
* inode
,
60 ino_t oldDirectoryID
, const char* oldName
,
61 size_t oldLength
, ino_t newDirectoryID
,
62 const char* newName
, size_t newLength
);
64 Expression
* GetExpression() const { return fExpression
; }
68 Expression
* fExpression
;
70 TreeIterator
* fIterator
;
72 Stack
<Equation
*> fStack
;