haiku/headers/private
Stephan Aßmus afbd081a6f * TRACE macro no longer needs double parenthesis.
* The global BPathMonitor looper is now always used, no more optional looper
  and no more BApplication looper usage. This way we know how the looper behaves
  and PathHandler::Quit() can be synchronous. In the end, the bug I was
  observing was not caused by the previous asynchronous node monitor stopping,
  but this should be safer anyways. When BPathMonitor::StopWatching() returns,
  you have really stopped watching and not some time later.
* Introduced "FileEntry" which is an entry_ref plus node id. This is now used
  instead of the node_ref for the "watched files set". The whole point
  is to really be able to add the "path" field to the B_PATH_MONITOR message.
  Previously, the initial path that was passed to StartWatching() was added,
  regardless if the message was for an entry somewhere down the hierarchy when
  watching recursively. The downside of the new method is that it uses a lot
  more RAM per entry. Another option would be to store the node id of the parent
  directory and iterate the directory always when in need to construct the path.
* Watching a folder recursively now really adds all the existing subfolders
  as well as all the files if not watching for folders only. The tests for the
  old implementation only tested what happens when the watched folder was newly
  created and then subfolders were created. Those where already added by the
  code. Now it also adds the subfolders of folder that appear in a watched
  folder.
TODO: Remove folders and files recursively when they dissappear. More testing
for B_ENTRY_MOVED. Optimizations are possible when some information is
retrieved twice. I am also planning to add a way for the BPathMonitor user to
filter the automatically watched files/folders in B_WATCH_RECURSIVELY mode.

I grepped the entire Haiku tree for usage of BPathMonitor. Only net_server
and Mail were using it, but both in a way that is not affected by these
changes. Anyways, TextSearch works more reliable now, even for entries in
subfolders.

Feedback very welcome! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-11 20:02:59 +00:00
..
app Patch by Andrej Spielmann (GSoC): 2008-08-03 13:40:41 +00:00
audio Move this to media/, seems audio/ is only for old stuff. 2007-08-29 12:31:55 +00:00
bluetooth Move header to private, is meant to be used by acl component as well 2008-08-09 20:47:30 +00:00
debug Added support for looking up symbols of other team to libdebug. The 2005-07-16 21:12:32 +00:00
device * Don't define DEBUG in public headers!!! Doing it this way will break the 2008-08-11 16:45:26 +00:00
disk_scanner missing comment tokens 2007-06-20 21:30:00 +00:00
drivers * First baby steps in letting our drivers use the new I/O request/scheduler 2008-08-05 21:11:51 +00:00
firewire replaced benaphore with mutex 2008-05-31 19:50:53 +00:00
fs_shell * Added file_cache_is_enabled() function. 2008-08-04 08:28:17 +00:00
graphics removed last G8x defines. 2008-06-17 19:27:38 +00:00
input Slightly increased the default key repeat rate to make it at least 2008-02-22 10:53:27 +00:00
interface * move libprint sources into libs, as it is a 3rdparty lib 2008-07-22 20:30:14 +00:00
kernel Start of a file map disk driver for the bootloader. 2008-08-10 01:24:01 +00:00
libroot * Made DIR definition private, and moved it into the new dirent_private.h 2008-07-09 11:16:00 +00:00
mail * part of libbe_test build fix... why is the _IMPEXP stuff there in the 2007-10-21 15:19:25 +00:00
media - Implemented MediaExtractor::Copyright, which just calls the instantiated reader 2008-05-07 21:09:56 +00:00
midi Made all server version and signatures consistent, and thus closing bug #909. 2006-10-22 17:56:02 +00:00
net This weren't typedefed, using them without struct is invalid in C. 2008-07-14 18:47:02 +00:00
opengl/GL/internal updated mesa to 6.5.3 2007-06-08 23:00:44 +00:00
print * first steps towards a new printer api... 2008-08-10 23:26:38 +00:00
runtime_loader * Decide whether to use BeOS style symbol resolution at run time 2008-03-23 19:43:41 +00:00
screen_saver * ScreenCornerSelector is now a BControl and fully keyboard navigable. 2006-06-09 16:03:16 +00:00
shared AutoDeleter calls the destructor operator also when the object is NULL, 2008-07-29 01:48:38 +00:00
storage * TRACE macro no longer needs double parenthesis. 2008-08-11 20:02:59 +00:00
syslog_daemon Implemented syslog support for the kernel debug output. Not fancy at all yet, but 2006-01-24 20:28:52 +00:00
system * Implemented mprotect(). A vm_area does now have an optional array 2008-08-08 01:00:06 +00:00
textencoding missing comment tokens 2007-06-20 21:20:11 +00:00
tracker * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class 2007-10-15 20:13:55 +00:00
usb_vision * added a bunch of drivers by Siarzhuk Zharski 2006-05-29 09:54:03 +00:00
userlandfs * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of 2007-10-02 19:47:31 +00:00