History log of /haiku/src/servers/registrar/Jamfile
Revision Date Author Comments
# 220d0402 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Use libstdc++, libsupc++ and libgcc from gcc_syslibs.

* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
necessary since we're only using libgcc-as-single-object for libroot
with x86_gcc2, where the filtered object file doesn't exist. Should
the objects that used to be filtered cause any problems as part of
libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
x86_gcc2, we still build libstdc++.so from the sources in the Haiku
source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.


# 5c9672ed 17-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Add watching support for installation location package changes

Can be requested/stopped via BPackageRoster::{Start,Stop}Watching().
The notification message has the what code B_PACKAGE_UPDATE and contains
fields "event", "location", and "change count".


# 85835e41 22-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

registrar: Move more classes to libstorage_kit_mime.a

Move MimeSnifferAddon, MimeSnifferAddonManager, and TextSnifferAddon to
libstorage_kit_mime.a, so we can reuse them.


# b0944c78 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).


# 9cda9c99 07-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Move MIME DB code back from registrar to src/kits/storage/mime

* Together with database_{access,support}.cpp it is built into a static
library.
* Add new interfaces MimeSniffer and Database::NotificationListener for
plugging in registrar specific functionality (the sniffer add-on
support and the notification mechanism).


# 59a653b5 06-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Support multiple MIME DB directories

Each installation location (system, common, common/non-packaged,
~/config, ~/config/non-package) can now have a read-only data/mime_db
directory. ~/config/settings/beos_mime is now named mime_db as well. The
contents of all directories makes up the MIME DB. Entries in more
specific locations shadow entries in more general locations. Only the
directory in ~/config/settings is where the registrar writes changes to.

The new layout allows packages to contribute entries to the MIME DB by
simply providing the respective files in data/mime_db. Consequently the
user settings directory is supposed to contain only the things the user
has actually changed.

Seems to work fine as far as tested. A few issues, though:
* The registrar doesn't monitor the directories yet, so it doesn't
notice entry changes due to package de-/activation.
* ATM it is not possible to remove a MIME type that is not in the user
settings directory, although the FileTypes GUI suggests that it is.
We'd have to work with white-outs, since we cannot remove the files in
the data/mime_db directories. Or, alternatively, the API has to be
extended and the FileTypes GUI adjusted to disable the "Remove" button
in such a case.


# c4489236 27-Feb-2011 Siarzhuk Zharski <zharik@gmx.li>

Additional and hopefully final fix for #7281 "Shutdown is not localized".

PS: Yes, I'm not brave enough to change the character case in the signature for
one of the most significant servers in the system ;-)



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


# ea565737 25-Feb-2011 Philippe Houdoin <philippe.houdoin@gmail.com>

Localized Shutdown process.
Closes #7281.


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


# 6b202f4e 13-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
several kernel headers into a shared part and one that is still kernel
private. Adjusted all affected Jamfiles and source in the standard x86
build accordingly. The build for other architectures and for test code
may be broken.
* Quite a bit of userland code still includes private kernel headers.
Mostly those are <util/*> headers. The ones that aren't strictly
kernel-only should be moved to some other place (maybe
headers/private/shared/util).


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


# a94ce1c9 17-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Reorganized the passwd and group support: A dedicated thread in the
registrar provides access to the DBs via a port message based
protocol. The functions in libroot just ask the registrar now.
* Added Linuxish shadow passwd support. No putspent() though -- we'll
provide private functions.


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


# 781a7155 26-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Move RegistrarThread[Manager].cpp to the registrar. There was no point
in those living in libbe.


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


# f82c11c0 11-Jan-2008 Michael Lotz <mmlr@mlotz.ch>

bonefish+mmlr:
* Move most of MIME database support out of libbe and into registrar
* Use the (async) MessageDeliverer instead of a synchronous SendMessage in _SendMonitorUpdate

This fixes a deadlock when the message port of a MIME database watching
application gets full as documented in bug #1311.

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


# 2851dbad 31-Jul-2007 Axel Dörfler <axeld@pinc-software.de>

* Moved Referenceable.cpp to src/kits/support (private libbe API), and its header to
private/shared.
* Made AddReference() and CountReferences() inlines.
* The registrar is now using the private Referenceable version in libbe.so.
* Minor cleanup.


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


# 908b5c20 14-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Removed the dependency in the registrar on an input_server header file which I
had previously inroduced. It is not needed anymore.


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


# 499aacdd 15-Nov-2006 Ryan Leavengood <leavengood@gmail.com>

Fixed bugs #177 and #180 by adding code to notify the input_server that the
system is shutting down.

For the protocol between the Registrar and input_server I decided to just
re-use the message constant already defined in the input server headers
(SYSTEM_SHUTTING_DOWN.)

The code in the input server to notify the InputServerDevices about the
shutdown was pretty trivial.

For the code in the Registrar I'll let some gurus review it to make sure it
fits in with the rest of the code.


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


# ddacfc7f 12-Nov-2006 Axel Dörfler <axeld@pinc-software.de>

* The recent app list now filters out Tracker & Deskbar, as reported by Korli.
* The application signatures now preserve the case; this is better for querying
after the app, and has no disadvantage.
* Adding an item to the list is now guarded by a try/catch block - allocations
can fail, and the registrar shouldn't get down because of this. We need to
proof-read all of registrar (and storage kit) for this :-/
* Get() did not populate an eventual error while adding items to the provided
list (such as B_NO_MEMORY).
* Minor cleanup.


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


# e4f35acf 09-Jun-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added new (currently private) API class BMimeSnifferAddon,
representing the interface for, well, MIME sniffer add-ons.
* Implemented the respective add-on manager and make use of it in
the MIME database code. Unfortunately the MIME DB code completely
lives in libbe.so and hence I had to put my code there too.
IMHO we should (one day) remove the direct (read-only) MIME DB
access from libbe and move everything into the registrar.
Currently the add-on manager supports built-in add-ons only; it
doesn't really load anything from disk ATM.
* Added a built-in text sniffer add-on to the registrar. It's based
upon the BSD file tool code.

This closes bug #250 (plain text files are identified as such, now).



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


# c729b012 07-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

The <arch_config.h> header is needed in <syscalls.h>, since we're using
the atomic functions related macros.


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


# 338b8dc3 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged changes from branch build_system_redesign at revision 14573.


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


# 7560d402 06-Jul-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed "obos_registrar" to "haiku_registrar" - not just for fun, but because
the registrar no longer depends on the app_server to be running.
Added a "run_haiku_registrar" tool that is now used in the various "run" scripts.
It only start the registrar on demand, ie. if it's not yet running.


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


# 553ea301 03-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved TRoster out of the BPrivate namespace. It does no longer appear in
any public header.
* Replaced a good deal of the MessageDeliverer's DeliverMessage() versions
by more general ones using the new interface MessagingTargetSet to represent
a set of targets. This simplifies the usage in cases where the caller doesn't
already have the targets in a supported representation.
* Implemented a first approximation of the shutdown process. There is no
GUI yet. Only superficially tested under R5.


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


# ef13ad9e 01-Feb-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Include dir "private/kernel/util" not longer needed, since we already have "private/kernel" and include <util/...>.


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


# 0353d331 29-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added kernel util header for DoublyLinkedList.


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


# 757bc7b9 25-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed Referencable to Referenceable (mainly to make Axel happier :-).


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


# c36e75d1 25-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added Referencable.cpp and MessageDeliverer.cpp.


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


# dd43b03c 23-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added the messaging service and a compatibility file for the R5 test registrar.


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


# 58b5124e 12-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Replace ClipboardTree by Clipboard, a class just representing a clipboard.
The clipboards are managed in a simple string->Clipboard map.


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


# 92b98fe1 12-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Build the Haiku registrar (linked against our libroot and libbe). Haven't checked, if it works yet.


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


# 9842b3ba 19-Nov-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Keep moving from binary resource format to source resource (.rdef) files.
Fix midi_server.rdef file.


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


# 6ab18748 23-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed invocations of UsePublicHeaders, which was a no-op anyway.


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


# 32453e90 04-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed the old, nicely working, DiskDevice API support from the registrar. We're going to reimplement it in the kernel.


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


# e81c38c1 06-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added new classes, MessageHandler and PriorityMessageQueue.


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


# 8cd6a1c0 04-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a work-around for the problem, that we can't use libbe's node monitoring functions, when linked against libopenbeos. An application NodeMonitor acts as a mediator. Not an optimal solution, but the only one I have for now -- if someone told me which parameters _k{start,stop}_watching_vnode_() have, things looked much nicer. The work-around is currently only used for the registrar; for other places the code that get the path of NodeMonitor needs to be adjusted.


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


# 3dbb9fba 02-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

The beginning of the structures for the registrar side implementation of the DiskDevice API.


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


# 3f82d4f1 01-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a DiskDeviceManager to the registrar. Does nothing for now, but will soon be the one responsible for the disk device functionality in the registrar.


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


# 4f03f5d2 07-Nov-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Implemented loading and saving of recent docs, folders, and apps lists
from and to disk in the ~/config/settings/Roster/RosterSettings format.


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


# 85c4b394 31-Oct-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Added RecentEntries.cpp to the build.


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


# 24a2d24f 27-Oct-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Added RecentApps.cpp to the build


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


# b010ca67 21-Oct-2002 DarkWyrm <darkwyrm@gmail.com>

Checkin for Gabe Yoder


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


# 7a0335c8 18-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for roster watching.


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


# 5293aa41 14-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added the class MessageEvent, which is an Event sending a message when executed.


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


# 44c3726b 12-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added EventQueue and Event and MessageRunnerManager classes used for the
registrar side message runner support.


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


# a95d0e50 01-Oct-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Removed ThreadManager from the build


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


# 5720cd9c 29-Sep-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Added ThreadManager to the build


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


# 77bb876f 02-Sep-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

libstorage.so is gone.


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


# 533a64a2 16-Aug-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Registrar now links to libstorage for MimeDatabase class


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


# 71ba5e91 26-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

We use STL now.


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


# f9fd58cc 23-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added classes TRoster, RosterAppInfo and AppInfoList. TRoster will be the *The Roster*, but has currently only unimplemented hooks for the app registration functionality. More to come.


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


# 4b8a7115 21-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a registrar skeleton.


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


# 220d04022750f40f8bac8f01fa551211e28d04f2 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Use libstdc++, libsupc++ and libgcc from gcc_syslibs.

* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
necessary since we're only using libgcc-as-single-object for libroot
with x86_gcc2, where the filtered object file doesn't exist. Should
the objects that used to be filtered cause any problems as part of
libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
x86_gcc2, we still build libstdc++.so from the sources in the Haiku
source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.


# 5c9672edebef5990fe9fc81fa917287448ac1ac4 17-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Add watching support for installation location package changes

Can be requested/stopped via BPackageRoster::{Start,Stop}Watching().
The notification message has the what code B_PACKAGE_UPDATE and contains
fields "event", "location", and "change count".


# 85835e41862b98714845fd143a4df5b2c7369dd9 22-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

registrar: Move more classes to libstorage_kit_mime.a

Move MimeSnifferAddon, MimeSnifferAddonManager, and TextSnifferAddon to
libstorage_kit_mime.a, so we can reuse them.


# b0944c78b074a8110bd98e060415d0e8f38a7f65 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).


# 9cda9c9905397675aec87ebc6bc9287df3ca2264 07-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Move MIME DB code back from registrar to src/kits/storage/mime

* Together with database_{access,support}.cpp it is built into a static
library.
* Add new interfaces MimeSniffer and Database::NotificationListener for
plugging in registrar specific functionality (the sniffer add-on
support and the notification mechanism).


# 59a653b51cdae6a8f87db8cb68c86998b48bfc62 06-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Support multiple MIME DB directories

Each installation location (system, common, common/non-packaged,
~/config, ~/config/non-package) can now have a read-only data/mime_db
directory. ~/config/settings/beos_mime is now named mime_db as well. The
contents of all directories makes up the MIME DB. Entries in more
specific locations shadow entries in more general locations. Only the
directory in ~/config/settings is where the registrar writes changes to.

The new layout allows packages to contribute entries to the MIME DB by
simply providing the respective files in data/mime_db. Consequently the
user settings directory is supposed to contain only the things the user
has actually changed.

Seems to work fine as far as tested. A few issues, though:
* The registrar doesn't monitor the directories yet, so it doesn't
notice entry changes due to package de-/activation.
* ATM it is not possible to remove a MIME type that is not in the user
settings directory, although the FileTypes GUI suggests that it is.
We'd have to work with white-outs, since we cannot remove the files in
the data/mime_db directories. Or, alternatively, the API has to be
extended and the FileTypes GUI adjusted to disable the "Remove" button
in such a case.


# c4489236c72a42f5cd4a3710d0f7786020b8f8b5 27-Feb-2011 Siarzhuk Zharski <zharik@gmx.li>

Additional and hopefully final fix for #7281 "Shutdown is not localized".

PS: Yes, I'm not brave enough to change the character case in the signature for
one of the most significant servers in the system ;-)



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


# ea565737763a80b04a423e396858bd48ec034ec3 25-Feb-2011 Philippe Houdoin <philippe.houdoin@gmail.com>

Localized Shutdown process.
Closes #7281.


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


# 6b202f4e3da73d4c131355fcd82b792d153f84f6 13-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
several kernel headers into a shared part and one that is still kernel
private. Adjusted all affected Jamfiles and source in the standard x86
build accordingly. The build for other architectures and for test code
may be broken.
* Quite a bit of userland code still includes private kernel headers.
Mostly those are <util/*> headers. The ones that aren't strictly
kernel-only should be moved to some other place (maybe
headers/private/shared/util).


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


# a94ce1c912808a0129c989f8d5c2e2aff4fec871 17-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Reorganized the passwd and group support: A dedicated thread in the
registrar provides access to the DBs via a port message based
protocol. The functions in libroot just ask the registrar now.
* Added Linuxish shadow passwd support. No putspent() though -- we'll
provide private functions.


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


# 781a715529c3dde0d9a29e441d517dce5791123d 26-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Move RegistrarThread[Manager].cpp to the registrar. There was no point
in those living in libbe.


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


# f82c11c0793269f483e03fc6f1a3a93aa1d092f0 11-Jan-2008 Michael Lotz <mmlr@mlotz.ch>

bonefish+mmlr:
* Move most of MIME database support out of libbe and into registrar
* Use the (async) MessageDeliverer instead of a synchronous SendMessage in _SendMonitorUpdate

This fixes a deadlock when the message port of a MIME database watching
application gets full as documented in bug #1311.

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


# 2851dbad53bd9d11b64ba4267c96f637d133f81c 31-Jul-2007 Axel Dörfler <axeld@pinc-software.de>

* Moved Referenceable.cpp to src/kits/support (private libbe API), and its header to
private/shared.
* Made AddReference() and CountReferences() inlines.
* The registrar is now using the private Referenceable version in libbe.so.
* Minor cleanup.


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


# 908b5c203457353e1dc5d690076ab83d1ffc6b25 14-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Removed the dependency in the registrar on an input_server header file which I
had previously inroduced. It is not needed anymore.


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


# 499aacdd0a020783a81e0d15a21bb2a4be4abeea 15-Nov-2006 Ryan Leavengood <leavengood@gmail.com>

Fixed bugs #177 and #180 by adding code to notify the input_server that the
system is shutting down.

For the protocol between the Registrar and input_server I decided to just
re-use the message constant already defined in the input server headers
(SYSTEM_SHUTTING_DOWN.)

The code in the input server to notify the InputServerDevices about the
shutdown was pretty trivial.

For the code in the Registrar I'll let some gurus review it to make sure it
fits in with the rest of the code.


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


# ddacfc7ff071819226370b6d1972dc2fdda0ba50 12-Nov-2006 Axel Dörfler <axeld@pinc-software.de>

* The recent app list now filters out Tracker & Deskbar, as reported by Korli.
* The application signatures now preserve the case; this is better for querying
after the app, and has no disadvantage.
* Adding an item to the list is now guarded by a try/catch block - allocations
can fail, and the registrar shouldn't get down because of this. We need to
proof-read all of registrar (and storage kit) for this :-/
* Get() did not populate an eventual error while adding items to the provided
list (such as B_NO_MEMORY).
* Minor cleanup.


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


# e4f35acf7c780f50e5f4ca4fc664b6c6806e8fbf 09-Jun-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added new (currently private) API class BMimeSnifferAddon,
representing the interface for, well, MIME sniffer add-ons.
* Implemented the respective add-on manager and make use of it in
the MIME database code. Unfortunately the MIME DB code completely
lives in libbe.so and hence I had to put my code there too.
IMHO we should (one day) remove the direct (read-only) MIME DB
access from libbe and move everything into the registrar.
Currently the add-on manager supports built-in add-ons only; it
doesn't really load anything from disk ATM.
* Added a built-in text sniffer add-on to the registrar. It's based
upon the BSD file tool code.

This closes bug #250 (plain text files are identified as such, now).



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


# c729b012787c674f07d4698b4cc6b5b145ba0a5c 07-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

The <arch_config.h> header is needed in <syscalls.h>, since we're using
the atomic functions related macros.


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


# 338b8dc301721b1f472e8297a898d4eaa2f2ee3a 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged changes from branch build_system_redesign at revision 14573.


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


# 7560d40290aa8460679db840a116ab97eac2a183 06-Jul-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed "obos_registrar" to "haiku_registrar" - not just for fun, but because
the registrar no longer depends on the app_server to be running.
Added a "run_haiku_registrar" tool that is now used in the various "run" scripts.
It only start the registrar on demand, ie. if it's not yet running.


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


# 553ea30124732e31346177c3bab544e074231b8e 03-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved TRoster out of the BPrivate namespace. It does no longer appear in
any public header.
* Replaced a good deal of the MessageDeliverer's DeliverMessage() versions
by more general ones using the new interface MessagingTargetSet to represent
a set of targets. This simplifies the usage in cases where the caller doesn't
already have the targets in a supported representation.
* Implemented a first approximation of the shutdown process. There is no
GUI yet. Only superficially tested under R5.


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


# ef13ad9efdae04661d1586434e995e624d08eef3 01-Feb-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Include dir "private/kernel/util" not longer needed, since we already have "private/kernel" and include <util/...>.


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


# 0353d3313777ad4c59e03a06215d249600aa158c 29-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added kernel util header for DoublyLinkedList.


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


# 757bc7b9345d8578f5f1cca055762b62019a4c97 25-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed Referencable to Referenceable (mainly to make Axel happier :-).


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


# c36e75d1cbe41d5bac78d8a0045cab47af8001a7 25-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added Referencable.cpp and MessageDeliverer.cpp.


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


# dd43b03ce1bb222180ba5718dbd0257f6a55a503 23-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added the messaging service and a compatibility file for the R5 test registrar.


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


# 58b5124e460ceb932763751bc5305566bb24473f 12-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Replace ClipboardTree by Clipboard, a class just representing a clipboard.
The clipboards are managed in a simple string->Clipboard map.


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


# 92b98fe111e69d7d357037848cc9247d21fca5d8 12-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Build the Haiku registrar (linked against our libroot and libbe). Haven't checked, if it works yet.


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


# 9842b3ba58255212973288dc044900f7b60f6d34 19-Nov-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Keep moving from binary resource format to source resource (.rdef) files.
Fix midi_server.rdef file.


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


# 6ab18748f3a2a740860dc1b705c3751245cab2c7 23-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed invocations of UsePublicHeaders, which was a no-op anyway.


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


# 32453e90e0760eddaf450632f13677c7a3ec184b 04-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed the old, nicely working, DiskDevice API support from the registrar. We're going to reimplement it in the kernel.


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


# e81c38c154f5a635f2b79ead2f3178005347f3e5 06-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added new classes, MessageHandler and PriorityMessageQueue.


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


# 8cd6a1c0f8aafe1a0754e18709729c45781f14ec 04-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a work-around for the problem, that we can't use libbe's node monitoring functions, when linked against libopenbeos. An application NodeMonitor acts as a mediator. Not an optimal solution, but the only one I have for now -- if someone told me which parameters _k{start,stop}_watching_vnode_() have, things looked much nicer. The work-around is currently only used for the registrar; for other places the code that get the path of NodeMonitor needs to be adjusted.


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


# 3dbb9fba878cfd6bda846b56ac27c02cdf057275 02-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

The beginning of the structures for the registrar side implementation of the DiskDevice API.


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


# 3f82d4f1d24d199d2a6013e63b302422ec32ee56 01-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a DiskDeviceManager to the registrar. Does nothing for now, but will soon be the one responsible for the disk device functionality in the registrar.


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


# 4f03f5d26897f53b512f9ce28f22de1bc2df53de 07-Nov-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Implemented loading and saving of recent docs, folders, and apps lists
from and to disk in the ~/config/settings/Roster/RosterSettings format.


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


# 85c4b394075ab43d45a34dc50acef01881c5ce95 31-Oct-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Added RecentEntries.cpp to the build.


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


# 24a2d24f4636cfc80c5f0d8ba136103a28586374 27-Oct-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Added RecentApps.cpp to the build


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


# b010ca67201c6b96d2136d4feca376bb9afe9a57 21-Oct-2002 DarkWyrm <darkwyrm@gmail.com>

Checkin for Gabe Yoder


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


# 7a0335c8a35bff97a843dff14eb85b70fa281483 18-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for roster watching.


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


# 5293aa41b4462e232ed01fe6765c684dfa46f5bc 14-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added the class MessageEvent, which is an Event sending a message when executed.


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


# 44c3726b9d7e53a60e30e74df26efa5e8f7f9b50 12-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added EventQueue and Event and MessageRunnerManager classes used for the
registrar side message runner support.


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


# a95d0e50a12ee9f3842144b831122d757f50554c 01-Oct-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Removed ThreadManager from the build


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


# 5720cd9c7503fec3f4b9a001eca60a5a374eccd2 29-Sep-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Added ThreadManager to the build


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


# 77bb876f7170a9a4e7b54ff3d7ef637b753988b7 02-Sep-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

libstorage.so is gone.


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


# 533a64a210624b4d5114d368d3de6c6120376e8c 16-Aug-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Registrar now links to libstorage for MimeDatabase class


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


# 71ba5e917bcc5252cefbbfe279f3eb4b2177fe5b 26-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

We use STL now.


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


# f9fd58cc75fc9cdeb53495c6a21bb9a29f0289c0 23-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added classes TRoster, RosterAppInfo and AppInfoList. TRoster will be the *The Roster*, but has currently only unimplemented hooks for the app registration functionality. More to come.


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


# 4b8a71155aa54849431a5d3fa9e76b9c8a3a0308 21-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a registrar skeleton.


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