History log of /haiku/src/kits/storage/NodeMonitor.cpp
Revision Date Author Comments
# a30a4a41 18-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to Storage Kit classes.

No functional changes intended.

* Some variable renaming for clarity and consistency.
* Pointer style fixes.
* Added private method documentation back to cpp files for some methods.


# fc982701 08-Feb-2013 John Scipione <jscipione@gmail.com>

Moved NodeMonitor docs to Haiku Book.


# 4d5d8090 27-Nov-2011 Philippe Saint-Pierre <stpere@gmail.com>

No functional changes. Improve readability.

Thanks Axel!


# 8e844f63 27-Nov-2011 Philippe Saint-Pierre <stpere@gmail.com>

Fix bogus argument validation

* The comparaison couldn't ever not match. Based on the comment above the
function, I made it so that flags must contain at least one of B_WATCH_NAME,
B_WATCH_STAT or B_WATCH_ATTR

CID 2586


# 4a5a077f 24-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add a private B_ATTR_CHANGE_NOTIFICATION flag to the open query syscall to tell the query to send notifications when an entry attribute changed and the entry stays in the query. Previously you only get created and removed messages, now you can also get updated messages. Only implement it for bfs.
Fix copy right.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39131 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bfff9df5 23-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

As suggested by Ingo use a B_WATCH_VOLUME flag to tell the kernel to watch
the whole volume. Kernel part follows.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39106 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4d476e46 19-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Forgot to commit this, thanks Jérôme!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39021 a95241bf-73f2-0310-859d-f6bbb57e9c96


# edb15b55 01-Aug-2007 Axel Dörfler <axeld@pinc-software.de>

bonefish+axeld:
* Simplified the notification framework: removed the updater stuff completely;
it was only there to account for some peculiarities of the node monitor which
we now solved differently.
* NotificationListener no longer includes a doubly linked list link for convenience;
it might want to listen to more than just one service.
* NotificationService cannot have an abstract destructor.
* Changed the _user_stop_watching() syscall to mirror the Be API; ie. it's no
longer possible to just remove some flags separately, just to stop listening
completely.
* Adapted the node monitor implementation to live in the NodeMonitorService class
that uses the new notification framework.
* Removed the public kernel node monitor API - it wasn't useful that way since you
couldn't do a lot with the KMessage in the kernel without using a private API.
Now you will have to use the (private) notification manager to use the node monitor
from inside the kernel. At a later point, we might introduce a public API for that,
too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21780 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bb674499 03-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

* Finally implemented B_WATCH_MOUNT, ie. Tracker now shows newly mounted volumes
(mounting still only works from the Terminal).
* Shuffled functions in node_monitor.cpp around to clearly differentiate between
private, private kernel, and public kernel functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16575 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4eeeeea9 03-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

* watch_node() now returns B_BAD_VALUE if it's used with a NULL node and
flags unequal B_WATCH_MOUNT/B_STOP_WATCHING set.
* Changed watch_node() and stop_watching() to be messenger based instead
of handler/looper - that greatly simplifies the code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15828 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1f5d3007 02-Jul-2004 Axel Dörfler <axeld@pinc-software.de>

LibBeAdapter.cpp now only translates some syscalls; it will probably removed
once we do the final transition to the new kernel API.
NodeMonitor.cpp and kernel_interface.POSIX.cpp now call Haiku syscalls
where appropriate (they are connected to R5 via LibBeAdapter).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8282 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 17e6de7a 03-Aug-2003 shadow303 <shadow303@nowhere.fake>

gcc 3 fixes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4227 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 150bfa37 13-Apr-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added implementation of the node monitoring functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3065 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a30a4a41f948ebb03b95dab065a27a584ac0c97a 18-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to Storage Kit classes.

No functional changes intended.

* Some variable renaming for clarity and consistency.
* Pointer style fixes.
* Added private method documentation back to cpp files for some methods.


# fc9827011d04d5f203964499e9b823b395d63aaa 08-Feb-2013 John Scipione <jscipione@gmail.com>

Moved NodeMonitor docs to Haiku Book.


# 4d5d809045a34976acd52243ac4d475300f804f2 27-Nov-2011 Philippe Saint-Pierre <stpere@gmail.com>

No functional changes. Improve readability.

Thanks Axel!


# 8e844f63e9c2baad1459b9dfb3103420caf9cb1a 27-Nov-2011 Philippe Saint-Pierre <stpere@gmail.com>

Fix bogus argument validation

* The comparaison couldn't ever not match. Based on the comment above the
function, I made it so that flags must contain at least one of B_WATCH_NAME,
B_WATCH_STAT or B_WATCH_ATTR

CID 2586


# 4a5a077ff79e1b1ffb2571fdfc5ea8218a64196c 24-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add a private B_ATTR_CHANGE_NOTIFICATION flag to the open query syscall to tell the query to send notifications when an entry attribute changed and the entry stays in the query. Previously you only get created and removed messages, now you can also get updated messages. Only implement it for bfs.
Fix copy right.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39131 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bfff9df5eb4827fed4c56d92c2601327d37df59a 23-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

As suggested by Ingo use a B_WATCH_VOLUME flag to tell the kernel to watch
the whole volume. Kernel part follows.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39106 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4d476e46125283e82f2b4c2b739a7347d2f2c950 19-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Forgot to commit this, thanks Jérôme!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39021 a95241bf-73f2-0310-859d-f6bbb57e9c96


# edb15b5565a82e4cb5ad4ec7cd7b5fe3f8619255 01-Aug-2007 Axel Dörfler <axeld@pinc-software.de>

bonefish+axeld:
* Simplified the notification framework: removed the updater stuff completely;
it was only there to account for some peculiarities of the node monitor which
we now solved differently.
* NotificationListener no longer includes a doubly linked list link for convenience;
it might want to listen to more than just one service.
* NotificationService cannot have an abstract destructor.
* Changed the _user_stop_watching() syscall to mirror the Be API; ie. it's no
longer possible to just remove some flags separately, just to stop listening
completely.
* Adapted the node monitor implementation to live in the NodeMonitorService class
that uses the new notification framework.
* Removed the public kernel node monitor API - it wasn't useful that way since you
couldn't do a lot with the KMessage in the kernel without using a private API.
Now you will have to use the (private) notification manager to use the node monitor
from inside the kernel. At a later point, we might introduce a public API for that,
too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21780 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bb674499f8713cb5a125c7718c3d108f8f440b04 03-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

* Finally implemented B_WATCH_MOUNT, ie. Tracker now shows newly mounted volumes
(mounting still only works from the Terminal).
* Shuffled functions in node_monitor.cpp around to clearly differentiate between
private, private kernel, and public kernel functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16575 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4eeeeea969812f163a9552ab3257cd77cd7c8e53 03-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

* watch_node() now returns B_BAD_VALUE if it's used with a NULL node and
flags unequal B_WATCH_MOUNT/B_STOP_WATCHING set.
* Changed watch_node() and stop_watching() to be messenger based instead
of handler/looper - that greatly simplifies the code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15828 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1f5d3007c4a49068cd26cde0659e5baf84e87439 02-Jul-2004 Axel Dörfler <axeld@pinc-software.de>

LibBeAdapter.cpp now only translates some syscalls; it will probably removed
once we do the final transition to the new kernel API.
NodeMonitor.cpp and kernel_interface.POSIX.cpp now call Haiku syscalls
where appropriate (they are connected to R5 via LibBeAdapter).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8282 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 17e6de7a37c5c61f45eb724de108daa70905cb8f 03-Aug-2003 shadow303 <shadow303@nowhere.fake>

gcc 3 fixes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4227 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 150bfa3714e913df755ffe261c42a2e3d37a8571 13-Apr-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added implementation of the node monitoring functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3065 a95241bf-73f2-0310-859d-f6bbb57e9c96