NodeListener
class AttributeIndex : public Index, private NodeListener {
public NodeListener {
class LastModifiedIndex : public Index, private NodeListener {
class NameIndex : public Index, private NodeListener {
class SizeIndex : public Index, private NodeListener {
NodeListener::NodeListener()
NodeListener::~NodeListener()
NodeListener::NodeAdded(Node* node)
NodeListener::NodeRemoved(Node* node)
NodeListener::NodeChanged(Node* node, uint32 statFields,
typedef NodeListener ValueType;
size_t Hash(const NodeListener* value) const
bool Compare(Node* key, const NodeListener* value) const
NodeListener*& GetLink(NodeListener* value) const
typedef DoublyLinkedList<NodeListener> NodeListenerList;
class NodeListener {
NodeListener();
virtual ~NodeListener();
inline void AddNodeListener(NodeListener* listener);
inline NodeListener* RemoveNodeListener();
NodeListener* PreviousNodeListener() const
NodeListener* NextNodeListener() const
NodeListener*& NodeListenerHashLink()
NodeListener* fHashLink;
NodeListener* fPrevious;
NodeListener* fNext;
NodeListener::AddNodeListener(NodeListener* listener)
inline NodeListener*
NodeListener::RemoveNodeListener()
NodeListener* next = fNext;
if (NodeListener* listener = fNodeListeners.Lookup(key)) {
NodeListener* last = listener->PreviousNodeListener();
NodeListener* next = listener->NextNodeListener();
if (NodeListener* listener = fNodeListeners.Lookup(key)) {
NodeListener* last = listener->PreviousNodeListener();
NodeListener* next = listener->NextNodeListener();
if (NodeListener* listener = fNodeListeners.Lookup(key)) {
NodeListener* last = listener->PreviousNodeListener();
NodeListener* next = listener->NextNodeListener();
Volume::AddNodeListener(NodeListener* listener, Node* node)
if (NodeListener* list = fNodeListeners.Lookup(node))
Volume::RemoveNodeListener(NodeListener* listener)
if (NodeListener* next = listener->RemoveNodeListener()) {
NodeListener* list = fNodeListeners.Lookup(node);
void AddNodeListener(NodeListener* listener,
void RemoveNodeListener(NodeListener* listener);
public NodeListener {
public NodeListener {
class LastModifiedIndex : public Index, private NodeListener {
NodeListener::~NodeListener()
NodeListener::NodeAdded(Node */*node*/)
NodeListener::NodeRemoved(Node */*node*/)
NodeListener::NodeListener()
class NodeListener {
NodeListener();
virtual ~NodeListener();
public NodeListener {
class SizeIndex : public Index, private NodeListener {
Volume::AddNodeListener(NodeListener *listener, Node *node, uint32 flags)
Volume::RemoveNodeListener(NodeListener *listener, Node *node)
inline NodeListener *operator()(const NodeListenerValue &a)
inline NodeListener *operator()(const NodeListenerValue &a) const
NodeListenerGetPrimaryKey, NodeListener*,
TwoKeyAVLTreeStandardCompare<NodeListener*>,
status_t AddNodeListener(NodeListener *listener, Node *node,
status_t RemoveNodeListener(NodeListener *listener, Node *node);
class NodeListener;
inline NodeListenerValue(NodeListener *listener, Node *node, uint32 flags)
NodeListener *listener;