QueryNode
class QueryNode;
status_t _PushNode(BPrivate::Storage::QueryNode* node,
status_t PushNode(QueryNode *node);
QueryNode *PopNode();
status_t ConvertToTree(QueryNode *&rootNode);
status_t _GetSubTree(QueryNode *&rootNode);
class QueryNode {
QueryNode();
virtual ~QueryNode();
virtual status_t SetChildAt(QueryNode *child, int32 index) = 0;
virtual QueryNode *ChildAt(int32 index) = 0;
class LeafNode : public QueryNode {
virtual status_t SetChildAt(QueryNode *child, int32 index);
virtual QueryNode *ChildAt(int32 index);
class UnaryNode : public QueryNode {
virtual status_t SetChildAt(QueryNode *child, int32 index);
virtual QueryNode *ChildAt(int32 index);
QueryNode *fChild;
class BinaryNode : public QueryNode {
virtual status_t SetChildAt(QueryNode *child, int32 index);
virtual QueryNode *ChildAt(int32 index);
QueryNode *fChild1;
QueryNode *fChild2;
BQuery::_PushNode(QueryNode* node, bool deleteOnError)
QueryNode* node = NULL;
QueryNode *
QueryNode *result = NULL;
BinaryNode::SetChildAt(QueryNode *child, int32 index)
QueryNode *
QueryNode *result = NULL;
QueryNode::QueryNode()
QueryNode::~QueryNode()
for (int32 i = 0; QueryNode *node = (QueryNode*)fNodes.ItemAt(i); i++)
QueryStack::PushNode(QueryNode *node)
QueryNode *
return (QueryNode*)fNodes.RemoveItem(fNodes.CountItems() - 1);
QueryStack::ConvertToTree(QueryNode *&rootNode)
QueryStack::_GetSubTree(QueryNode *&rootNode)
QueryNode *node = PopNode();
QueryNode *child = NULL;
LeafNode::SetChildAt(QueryNode *child, int32 index)
QueryNode *
UnaryNode::SetChildAt(QueryNode *child, int32 index)
BNode* node = findWindow->QueryNode();
BNode* QueryNode() const { return fFile; }