History log of /haiku/headers/private/storage/AddOnMonitorHandler.h
Revision Date Author Comments
# 916be2df 16-Oct-2013 John Scipione <jscipione@gmail.com>

Consolidate adding add-on directories

This builds off of hrev46243 adding add-on directories all in one place
in AddOnMonitorHandler instead of repeating the code 3 times in
IndexServer, AddOnManager, and MediaAddOnServer.

The safe mode checking in InputServer is now redundant since it all
gets funneled into AddOnMonitorHandler::AddAddOnDirectories()
and the safe mode flags are checked there.

We should probably remove the InputServer::SafeMode() method, but,
I didn't want to break anything that depended on it so I left it.


# d01ea8ec 20-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add stat fields to StatChanged hook.



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


# e4644818 20-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Fix coding style, thanks Axel.



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


# 9a986950 20-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Update NodeMonitorHandler to use all haiku specific fields.



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


# 588b796b 29-Aug-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add the possibility to load all add-ons in a directory immediately.
Rename _HandlePulse to _HandlePendingEntries.



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


# 2faa1532 19-Aug-2010 Stephan Aßmus <superstippi@gmx.de>

* Refactored a lot of repetitive code and made
everything more readible.
* Once I understood better how everthing is supposed
to work, I've fixed some bugs.
* The most important problem was that AddDirectory()
placed the wrong entry (resolved symlinks) into the
entry list it keeps for each directory. This resulted
in the mechanisms not working at all when an add-on
was a symlink.
* There was a hidden TODO, which would mean that moving
an add-on from one watched directory into another,
like from home/config/add-ons/... into common/add-ons/...
would drop the client application (media_server,
input_server, ...) into the debugger.
* The fFormerEntries list did not seem to serve any
purpose. Basically it would not disable add-ons
removed from a watched directory unless it changed
it's name at the same time. I've removed it completely,
since it didn't seem to be an optimization
(entry cache) either.
* Each actual add-on file is now node-monitored for
stat changes. So if you have a link in the add-on
folder, and the linked to add-on changes, it triggers
a reload of the add-on now. This will make it much
more pleasant to develop add-ons and have them affective
immediately.

I tested with a fresh image, but there are no immediate
regressions I am aware of. I could imagine that messing
with certain add-ons can have a bad effect now, like
removing the keyboard input_server add-on may trigger the
keyboard to stop working immediately without an input_server
restart, but Tracker should warn before it happens.


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


# ab428535 19-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* Cleanup.


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


# ca5e0241 18-Oct-2008 Rene Gollent <anevilyak@gmail.com>

Probably forgotten changes in the last commit, though I'm not sure if Axel had any other style cleanups in mind in this file. Fixes build at any rate.



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


# afd1e200 31-Jan-2004 shatty <shatty@nowhere.fake>

basic interface


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


# 916be2df3c26f589bd422d22230f921e51e69bae 16-Oct-2013 John Scipione <jscipione@gmail.com>

Consolidate adding add-on directories

This builds off of hrev46243 adding add-on directories all in one place
in AddOnMonitorHandler instead of repeating the code 3 times in
IndexServer, AddOnManager, and MediaAddOnServer.

The safe mode checking in InputServer is now redundant since it all
gets funneled into AddOnMonitorHandler::AddAddOnDirectories()
and the safe mode flags are checked there.

We should probably remove the InputServer::SafeMode() method, but,
I didn't want to break anything that depended on it so I left it.


# d01ea8ec63a34e5c78977457f0affc7e27135b74 20-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add stat fields to StatChanged hook.



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


# e4644818886984abac907f3d04c9af0f10f6ee01 20-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Fix coding style, thanks Axel.



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


# 9a98695072d7707188e5c6a2ecac39f0a50f3659 20-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Update NodeMonitorHandler to use all haiku specific fields.



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


# 588b796bcbff06f2e29e98fc54070518aee62c0c 29-Aug-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add the possibility to load all add-ons in a directory immediately.
Rename _HandlePulse to _HandlePendingEntries.



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


# 2faa1532f8de1520d3f5a33ecc607fce8b1d5a41 19-Aug-2010 Stephan Aßmus <superstippi@gmx.de>

* Refactored a lot of repetitive code and made
everything more readible.
* Once I understood better how everthing is supposed
to work, I've fixed some bugs.
* The most important problem was that AddDirectory()
placed the wrong entry (resolved symlinks) into the
entry list it keeps for each directory. This resulted
in the mechanisms not working at all when an add-on
was a symlink.
* There was a hidden TODO, which would mean that moving
an add-on from one watched directory into another,
like from home/config/add-ons/... into common/add-ons/...
would drop the client application (media_server,
input_server, ...) into the debugger.
* The fFormerEntries list did not seem to serve any
purpose. Basically it would not disable add-ons
removed from a watched directory unless it changed
it's name at the same time. I've removed it completely,
since it didn't seem to be an optimization
(entry cache) either.
* Each actual add-on file is now node-monitored for
stat changes. So if you have a link in the add-on
folder, and the linked to add-on changes, it triggers
a reload of the add-on now. This will make it much
more pleasant to develop add-ons and have them affective
immediately.

I tested with a fresh image, but there are no immediate
regressions I am aware of. I could imagine that messing
with certain add-ons can have a bad effect now, like
removing the keyboard input_server add-on may trigger the
keyboard to stop working immediately without an input_server
restart, but Tracker should warn before it happens.


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


# ab42853558326fe4eed43de3936153eeb3fe87bc 19-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* Cleanup.


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


# ca5e024130f35047c20a5b6b313dec707341285a 18-Oct-2008 Rene Gollent <anevilyak@gmail.com>

Probably forgotten changes in the last commit, though I'm not sure if Axel had any other style cleanups in mind in this file. Fixes build at any rate.



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


# afd1e2002ef270bb29f7abcfc97cc7f5ec49f970 31-Jan-2004 shatty <shatty@nowhere.fake>

basic interface


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