Commit Graph

488 Commits

Author SHA1 Message Date
Axel Dörfler
ed0d15ba46 * Use max_c() instead of max() in C++ files.
* Updated license header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-11 20:06:09 +00:00
Axel Dörfler
7b3d36e5aa * BEntry::GetStat() and BNode::GetStat() used sizeof(struct stat) for the kernel
syscall, but they could not know if R5 code called them (in which case the stat
  size has a different size). We now always only return the R5 stat structure here.
  This fixes bug #420. We might want to find a different solution to this problem,
  though.
* Be got SYMLINK_MAX wrong - it's not the maximum number of links (that's SYMLOOP_MAX),
  but the maximum size of a symlink buffer. Added missing SYMLOOP_MAX and SYMLINK_MAX
  constants to limits.h.
* Fixes MAXSYMLINKS to use SYMLOOP_MAX, instead of SYMLINKS_MAX (which doesn't exist
  in POSIX specs, but we (intentionally) break source compatibility here).
* Reenabled the Haiku versions of stat(), fstat(), and lstat() when build for Haiku.
* Removed OpenBeOS namespace stuff from the files I touched.
* Removed superfluous StorageDefs.Private.h, whyever that ended up in a public header
  is beyond me.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 13:49:16 +00:00
Axel Dörfler
c4dde2f738 * No need to create a BPath object for the leaf name in CreateAppMetaMimeThread.
* The preferred application is now written with the case preserved. This fixes
  bug #635.
* Minor cleanup.
* BApplication::_InitData() now also corrects a pre-registered application signature
  if the case is different. Note, however, that the application watching mechanism
  doesn't seem to work correctly with this, maybe sending out those should be postponed
  until the registration is completed?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-14 12:31:46 +00:00
Axel Dörfler
1b0c0ad7e9 * InstalledTypes did not preserve the case of the MIME types, and thus, Tracker queries
for some types (like "application/x-vnd.Be-elfexecutable") would fail. This fixes
  bug #666 (no, I'm not the exorcist :-)).
* Renamed private methods to have the '_' prefix.
* Cleanup, added license.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-14 09:30:55 +00:00
Ingo Weinhold
e4f35acf7c * 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
2006-06-09 20:48:50 +00:00
Axel Dörfler
2d0c5e0adc * Made updating the MIME info more safe, this was just one source the registrar
could use as an excuse to die.
* Minor cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-07 17:13:18 +00:00
Axel Dörfler
f998d2977d BMimeType::GetInstalledTypes() will no longer try to add a NULL string to a
message - and even return the error message it got from BMessage::AddString()
for trying so.
This fixes bug #585.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-31 17:16:17 +00:00
Axel Dörfler
8aebe2c4b8 Tracker compared B_APP_MIME_TYPE case sensitively - we now export the same case as
is used at other places, and all of a sudden, the "Open With..." menu in Tracker is
working now :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-31 13:27:34 +00:00
Axel Dörfler
373d946f22 * create_app_meta_mime() now preserves the case when installing the
MIME type.
* We now write the META:TYPE attribute that contains the type with
  preserved case (as in BeOS). We even currently check this whenever
  a type is opened, but that can be removed later, again.
* BMimeType::GetSupportingApps() was broken for applications that
  only support the super type.
* Also BMimeType::GetSupportingApps() preserves the case of the
  signatures.
* Why on earth would we want to preserve the case of case insensitive
  MIME types? Simple, this let's you query for those apps using case
  sensitive queries, as Tracker uses for its "open with" functionality.
  Strangely enough, that one still doesn't work, even though the query
  predicate is now correct.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-30 21:20:32 +00:00
Jérôme Duval
7f20062d97 BAppFileInfo::SetSupportedTypes now works even when there is no signature
A consequence is the FileType tracker addon (which hasn't a signature) has now its attributes set on Linux builds


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-29 23:04:25 +00:00
Axel Dörfler
0b10fd4841 The large icon wouldn't be written correctly (or at all) into the MIME type, due
to a copy&paste bug.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-26 17:01:42 +00:00
Stephan Aßmus
39c991c0f3 Added BPositionIO::GetSize() and implemented it by means of Seek() and
Position(). This used up a virtual slot of BPositionIO. GetSize() needed to be
implemented in BFile, which uses the BStatable version as before. This should
hopefully be binary compatible. The only problem could be in source
compatibility when there are classes inheriting from BPositionIO implementing
their own GetSize().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-26 13:27:53 +00:00
Axel Dörfler
c2a2369d49 BAppFileInfo::SetTo() no longer fails in case the resources couldn't be initialized.
This allows it to read the attributes (if any) from scripts as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-16 01:05:43 +00:00
Ingo Weinhold
aa8265a5be Fixed copy'n'paste error. It caused update_mime_info() to remove the signature
of an object file, if the file's resources didn't specify supported
types. Both under Haiku itself and for the Linux build. This finally closes
bug 170 (AboutHaiku not being startable from Deskbar when built under
Linux).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-07 17:53:13 +00:00
Stephan Aßmus
6a8e3decde * compile fix for the test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-03 11:08:52 +00:00
Axel Dörfler
3e54c13abc * Fixed BDirectory::SetTo(BDirectory*, path) constructor in case the target
directory was "this".
* Fixed storage_support.h header - didn't include all needed headers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-01 16:55:46 +00:00
Axel Dörfler
31dc79a18b * Added B_MINI_ICON_TYPE and B_LARGE_ICON_TYPE to TypeConstants.h.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-04 01:30:03 +00:00
Axel Dörfler
8da774372c No longer "abuses" the provided message to send the request to the registrar.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-03 19:38:17 +00:00
Axel Dörfler
e83935e59b It no longer appears as if you need to delete file types twice until they
disappear. This fixes a part of bug #279.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-03 16:52:40 +00:00
Axel Dörfler
bf5e11677b * Improved BMimeType::GetSupportingApps(): no longer uses the provided message to
send the request, and it now checks if the object is valid.
* Fixed building supporting apps table: now all types are converted to lower case,
  so that it works reliable now. This fixes bug #278.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-03 16:44:46 +00:00
Axel Dörfler
5351ff06d0 Implemented CheckNodeIconHintPrivate() - this missing call was responsible for the
wrong icons Tracker showed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-26 20:11:54 +00:00
Stephan Aßmus
2297a36b5b * added functions to improve binary compatibility with old apps
-> Guido (for which there is source available though) is now
  running fine on Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-22 20:33:02 +00:00
Axel Dörfler
d51ecfd248 Made helper functions static.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 11:05:16 +00:00
Axel Dörfler
e389ac9d78 * Removed superfluous Delete*() methods.
* Invocations like SetShortDescription("") will now remove the description as
  well, not only SetShortDescription(NULL).
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 10:57:47 +00:00
Axel Dörfler
bf2657c5d7 Database::Delete() now supports deleting super types as well (by deleting all
sub types first).
Also, if removing the type from the supporting application lists fails, this
is no longer propagated to the user - the MIME type got deleted after all,
and that's the purpose of this function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-08 15:54:51 +00:00
Axel Dörfler
bb674499f8 * 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
2006-03-03 11:48:49 +00:00
Axel Dörfler
208a6ce11b We now set the preferred application of MIME types that are installed from
the supported types of an application to the one responsible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-28 01:47:26 +00:00
Axel Dörfler
7500f29455 CreateAppMetaMimeThread::DoMimeUpdate() now also updates the supported types
of an application as well as the their icons.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-28 01:27:22 +00:00
Axel Dörfler
98d9f1b483 * Only allowed application hints of B_MIME_TYPE_LENGTH instead of B_PATH_NAME_LENGTH.
* Introduced a _SetStringValue() to avoid code duplication.
* The string types now check the original value, and don't write anything if the
  contents stay unchanged (with the current exception of the sniffer rules).
* The monitor notfication methods no longer "clobber" the status result.
* Major cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-16 19:27:39 +00:00
Ingo Weinhold
b1970bb8d8 When only the app version_info was contained in the resources/attribute we
read from (and the system version_info missing) GetVersionInfo() always
failed. Given that rc only writes the app version_info, mimeset never
created a BEOS:APP_VERSION attribute (nor ones for supported types icons).
The version attribute was usually created nevertheless, as a side effect
of the subsequent setversion invocation.

Under Linux the attribute emulation can accidentially pick up the
attributes of an earlier deleted node that had the the same node ID as the
file in question, which in this case could cause an invalid
BEOS:APP_VERSION attribute (the app version_info part at least).

Now GetVersionInfo() doesn't fail anymore, when only one info could be
read (the other one is zeroed). Not sure, if that is what BeOS does, but
it shouldn't harm. This fixes bug #100.

Also made SetVersionInfo() zero out what couldn't be read before writing it
back.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-10 02:24:34 +00:00
Ingo Weinhold
1cac47bfa9 Added a few more constructors and initialization methods. Among them two
SetToImage() variants for initializing the object to the resources of
the shared object file belonging to a loaded image. Should be handy for
libraries and add-ons.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-01 00:15:01 +00:00
Ingo Weinhold
29d7e9cdd6 Our FS is case sensitive, and the create_app_meta_mime() implementation
didn't bring the app signature into its canonical lower-case form when
using it as path to the MIME DB file. Thus an application signature
MIME type didn't get any attributes, not even the path to the app's
executable, which led to all kinds of problems when finding or starting
applications by signature. Among them, Clock not finding its resources
(bug #74).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 01:09:02 +00:00
Ingo Weinhold
9ff556c32a Even better use the type guaranteed to be the correct one for the platform.
Thanks to John Drinkwater for pointing that out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 22:51:09 +00:00
Ingo Weinhold
b4598d95e6 Fixed nasty bug in BAppFileInfo::_ReadData(). When an attribute
or resource to be read did not exist and the method was told to
allocate a buffer, it would try to allocate the buffer with an
uninitialized size value. This basically concerned SetSupportedTypes()
and methods using that one (IsSupportedType(), Supports()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 22:34:36 +00:00
Ingo Weinhold
de3b6032e7 There's even a constant for the ELF executable type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 21:05:54 +00:00
Ingo Weinhold
15424f3d37 Finally fixed update_mime_info(). As Be's version it understands two
different "force" levels now and updates the app file info attributes
for shared object files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 19:41:07 +00:00
Axel Dörfler
c43a6c505a Moved _kern_shutdown() to the registrar's R5Compatiblity.cpp where it belongs.
(but maybe that file should be moved into libhaikucompat.a?)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-26 00:14:03 +00:00
Axel Dörfler
5da7839924 * _kern_remove_dir() didn't even compile... (test environment (of which
LibBeAdapter is a part of) isn't part of the build.
* Added _kern_shutdown() function, so that the registrar still compiles
  even though __HAIKU__ is now defined for the target libbe_test.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-26 00:04:44 +00:00
Axel Dörfler
979aeaf71c Fixed bug #97:
* BEntry::Remove() now uses _kern_remove_dir() for directories.
* Added fd parameter to _kern_remove_dir().
* Fixed LibBeAdapter's _kern_unlink() to only work on files, and
  added _kern_remove_dir() for directories.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-25 11:12:21 +00:00
Ingo Weinhold
e4b4a99228 Update the BDiskDevice object after mounting/unmounting a partition.
Untested, but should fix bug #92.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-20 14:49:16 +00:00
Ingo Weinhold
50f4cc4317 Added TODO. Just in case someone wants to tackle it. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-16 23:47:38 +00:00
Axel Dörfler
4eeeeea969 * 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
2006-01-03 18:02:56 +00:00
Axel Dörfler
509798f986 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 15:30:42 +00:00
Axel Dörfler
7b73023562 * Fixed the attribute string error in other places as well.
* Now always returns B_BAD_DATA in case of attributes with the wrong size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 13:59:54 +00:00
Axel Dörfler
762eb2233b * NodeInfo::GetType() now returns B_BAD_DATA instead of B_BAD_VALUE if the
attribute is longer than B_MIME_TYPE_LENGTH.
* NodeInfo::GetType() now null terminates the attribute; you cannot expect
  that strings in attributes are null terminated (it already wrote the null
  byte to B_MIME_TYPE_LENGTH - 1 for safety, but why not do it right?).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 13:53:34 +00:00
Ingo Weinhold
c729b01278 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
2005-12-07 23:11:02 +00:00
Axel Dörfler
773be69904 Fixed AppFileInfo::_ReadData(): it was always returning B_BAD_VALUE in case
it read the data from attributes.
Deskbar should now display all those application icons under Haiku as well :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 13:50:29 +00:00
Ingo Weinhold
758b1d0e05 Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
  declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
  explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
  something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
  'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
  is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
  Otherwise the an inner class with that name is considered as friend.
  gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 23:27:14 +00:00
Ingo Weinhold
ca9e5772c3 * Reintroduced third LinkAgainst parameter <mapLibs>, defaulting to true.
Library names are now mapped for all targets but "host" (not only for
  "haiku") -- added one more level of indirection to achieve that.
  (TARGET_LIBRARY_NAME_MAP -> *_LIBRARY_NAME_MAP_*).
* Renamed build/HaikuBuildCompatibility.h to BeOSBuildCompatibility.h
  (auto-included when compiling something that uses the Be API for platform
  "host" on anon-BeOS platform), and introduced build/HaikuBuildCompatibility.h,
  which can be included when compiling something that can be built for both,
  Haiku and BeOS compatible platforms.
* Introduced libhaikucompat.a, a library that adds a few functions existing
  under Haiku, but not under BeOS.
* New rule AddSubDirSupportedPlatforms.
* Renamed libopenbeos.so to libbe_haiku.so.
* Introduced new target platform "libbe_test", which is basically equivalent
  to a BeOS compatible host platform target, with the exception, that instead
  of the host platform's libbe.so a special build of Haiku's libbe.so
  (libbe_haiku.so (formerly known as libopenbeos.so)) is used. Furthermore
  Haiku's public app, interface, storage, and support kit headers are used
  when compiling. This replaces the less nice way in which the test app server
  and applications for this test environment were built.
  When building for platform "libbe_test", the library name "be" is
  autotranslated to "libbe_haiku.so". Thus most applications don't need
  special fiddling when them building them for the app server test environment;
  usually an "AddSubDirSupportedPlatforms libbe_test ;" will suffice.
* Reduced the dependencies of <syscalls.h> and fixed problems caused by this
  (e.g. source files not including the needed headers directly).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 16:07:25 +00:00
Marcus Overhagen
89bdf57382 assigned names to "some BLocker"s to aid debugging
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 16:54:21 +00:00
Ingo Weinhold
4b2397d17b Removed obsolete header <Session.h>.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 14:44:33 +00:00
Ingo Weinhold
338b8dc301 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
2005-10-29 16:27:43 +00:00
Jérôme Duval
32a4f869b9 updated types to match the one in src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp
I suppose these types should be moved in a common place one day


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 13:15:46 +00:00
Axel Dörfler
da6d1a7022 fs_mount_volume() now returns a dev_t as well - changed mount/mountvolume to take
that into account as well (they were reporting an error even though everything
went fine).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 13:03:50 +00:00
Ingo Weinhold
4b9ec73e99 We need to override the virtual close_fd() in BFile for binary compatibility
(bug #43).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-12 09:26:59 +00:00
Michael Lotz
0401007080 Fix build of libopenbeos.so
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-05 17:20:38 +00:00
Philippe Houdoin
459a7cfc36 Removed obsoleted .src includes files.
Removed Interface's kit BTextView Jamfile, as it's build right from src/kits/interface/Jamfile now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-05 10:18:26 +00:00
Philippe Houdoin
cb5da7de09 Cleanup libbe.so build system, using MergeObject power:
a) Make main Jamfile more easier to understand to new (and old even) developers. 
   Currently it looks a little too messy compared to usual Haiku's jamfiles.
b) Get ride of app.src, interface.src, storage.src and support.src includes files.
c) Move each kit objects files built back to their respective
   objects/x86.R1/kits/{app|interface|storage|support} location.
d) Move private headers and source search hints back to each respective kit
   Jamfiles. Most of them, at least.

{app|interface|storage|support}.src files effective deletion will come soon.
Hope I didn't break all *again* :-\



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-05 09:56:03 +00:00
Axel Dörfler
0f8af9d8cb Removed extra version of find_directory() - it is supposed to live in libroot.so,
and in fact, already does it for quite some time :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 18:21:50 +00:00
Ingo Weinhold
290bc091c7 We use B_BITMAP_NO_SERVER_LINK BBitmaps internally now. This should remove the only app_server dependency the registrar has before shutdown.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 11:54:48 +00:00
Jérôme Duval
a1a86b0306 added error information
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 14:21:36 +00:00
Axel Dörfler
7c17001c77 Implemented BPartition::GetPath() much like KPartition::GetPath().
The "mountvolume" command can now actually mount file systems :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 20:44:33 +00:00
Axel Dörfler
88706bbe11 Added some compatibility exports for libtracker.so; not yet sure if we
will keep those two, though, as I don't think they are widely used.
Note, BPrivate::CheckNodeIconHintPrivate() is not implemented.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 23:52:28 +00:00
Axel Dörfler
75e4e6ee69 Fixed a small bug: the proposed name of a file system was always "unnamed volume"
in case BPartition::Name() was NULL or empty (ContentName() was ignored).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 02:00:58 +00:00
Axel Dörfler
219dacab3c Changed our read link syscall and FS interface call to make it easily possible to be POSIX compliant.
Also changed readlink() to be POSIX compliant with those changes.
"ls -l" does now resolve links properly again (the new coreutils version outlined the problems).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 16:07:10 +00:00
Axel Dörfler
2727bdcfe3 Added HFS/plus partition type strings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 15:42:48 +00:00
Axel Dörfler
b38c9e18bf Now uses the new B_STAT_* constants rather than the one from fs_interface.h
(which will be removed soon).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-03 03:37:20 +00:00
Axel Dörfler
2ee2b3d742 umask is negated before it's applied, so S_IUMSK wouldn't quite do what you'd
expect from it. Changed to the default 022.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 15:34:10 +00:00
Ingo Weinhold
c02a7b0dcb Fixed build of libbeadapter.so and libopenbeos.so.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 13:40:19 +00:00
Axel Dörfler
3af4214aeb _kern_open[_entry_ref]() now replaces the _kern_create[_entry_ref]() calls.
That allows BFile to actually create files (it didn't use that syscall at
all before).
Also fixed setting the permission bits of the newly created file depending on umask
(the __gUmask variable should probably be moved into a separate header).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 06:26:47 +00:00
Axel Dörfler
acfb502dcf Added _kern_get_safemode_option(). Probably this file should be moved out
of the storage camp, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:01:41 +00:00
Ingo Weinhold
78b31a7c44 Removed unnecessary definition. Added debug macros.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 17:44:49 +00:00
Ingo Weinhold
f89474914e Added debug output macros.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 17:43:40 +00:00
Ingo Weinhold
45c3a5cfa9 Obtain user settings dir path via find_directory() now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 01:13:13 +00:00
Ingo Weinhold
289adc045d Changed due to moving RegistrarDefs.h stuff into the BPrivate namespace and replacing kRosterPortName.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 01:11:39 +00:00
Ingo Weinhold
60027f7eac Use the standard MIME DB path when running under Haiku, but a different one when running under BeOS (so BeOS' MIME DB is not affected when running tests).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-17 01:22:11 +00:00
Ingo Weinhold
b06942c604 All internally used FDs are now set to O_CLOEXEC.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 22:06:51 +00:00
Ingo Weinhold
450b5c2c69 Reverted the last change. As Axel informed me, rewinding queries will work under Haiku. Also check, whether the query was Fetch()ed already.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 14:21:01 +00:00
Ingo Weinhold
08d0162ea2 Don't retry opening the node read-only, if opening read-write failed with B_ENTRY_NOT_FOUND.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 14:18:56 +00:00
Ingo Weinhold
458a27c988 Removed old debugging output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 14:16:53 +00:00
Ingo Weinhold
4536dd81ff Fixed standard 'backward iteration with unsigned var' bug.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:37:26 +00:00
Ingo Weinhold
0660acfd9c Must have accidently implemented BQuery::Rewind() when migrating to our syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:35:48 +00:00
Ingo Weinhold
f5b1fba063 Yuck! Bad typo. I wonder why the respective unit test ever passed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:34:28 +00:00
Ingo Weinhold
a368fecb8d When opening the node O_RDWR failed, we try again O_RDONLY, but we did that only, if the returned error code was B_READ_ONLY_DEVICE or B_PERMISSION_DENIED. Some FS return other error codes though, so we are completely ignorant now and always retry on error. Maybe we shouldn't for obvious cases like B_ENTRY_NOT_FOUND.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 03:33:25 +00:00
Axel Dörfler
dfb4723fdf _kern_open_query() syscall had been changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 13:30:00 +00:00
Axel Dörfler
4d875b0525 Adapted because of the changes made to _kern_open_query().
Implemented BQuery::Rewind() - there is no reason not to do this, as the
kernel has no extra work because of this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:41:10 +00:00
shatty
bf2b3d9cf7 add UsePrivateHeaders kernel ; so syscalls.h can be found
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-20 23:36:34 +00:00
Ingo Weinhold
8370cac7f6 Changed my mind. Now BPartition has a method to get the mount point of the partition, respectively a potential mount point, for partitions not yet mounted.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 19:38:47 +00:00
Ingo Weinhold
419458bc96 Moved getting a partition's future mount point into a separate function, so it can be reused by mountvolume.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 17:02:12 +00:00
Ingo Weinhold
ec2680f053 BDiskDevices are partitions, too. Hence PartitionFilterVisitor should not ignore them.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 15:56:47 +00:00
Ingo Weinhold
5198376e54 Updated BDiskDeviceList. The implementation was still reflecting the first version of the DiskDevice API. Untested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 15:27:45 +00:00
Ingo Weinhold
08387795eb Removed VisitAll(). That's exactly what VisitEachPartition() does (since disk devices are special partitions).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 15:25:37 +00:00
Ingo Weinhold
06f517532d The order of parameters for fs_mount_volume() changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 13:03:04 +00:00
Ingo Weinhold
194f93689b Added the DiskDevice API to libbe.so (not to libopenbeos.so though). Ready to be tested under Haiku. :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:43:16 +00:00
Ingo Weinhold
48c0bc75f8 Now <syscalls.h> declares the DDM syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:41:30 +00:00
Ingo Weinhold
d119b3ec56 Implemented Mount() and Unmount(). Completely untested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:40:26 +00:00
Jérôme Duval
34eedb9823 Added a #ifndef around #define ADD_ON_STABLE_SECONDS to be able to define it on demand
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 14:53:19 +00:00
Ingo Weinhold
201e236e52 Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-02 16:16:33 +00:00
Ingo Weinhold
ef4fc75459 Must use <fs_interface.h>, not <fsproto.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-02 16:15:46 +00:00
Ingo Weinhold
db10640de9 Got rid of the Storage Kit's kernel abstraction layer, which was
unfortunately quite slow and made some things more complicated than they
needed to be.
Implemented a few missing things (e.g. BSymLink and node locking).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:14:46 +00:00
Ingo Weinhold
233e6dadef The whole Storage Kit now uses syscalls directly. No further need of this abstraction layer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:08:05 +00:00
Ingo Weinhold
f28fc0257e Removed superfluous GetStat() in the setter methods.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-14 10:13:20 +00:00
Ingo Weinhold
b1a1ca6c03 Fixed entry_ref_to_path() and optimized dir_to_path(). The basic
Storage Kit unit test are passed again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-13 23:44:43 +00:00
Axel Dörfler
f72c9ca90e Now redirects _kern_write_fs_info() as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 18:32:43 +00:00
Axel Dörfler
800f526dc3 Simplified set_volume_name() - it now calls our kernel syscall.
Replaced old fsproto.h definitions with our new (and still compatible) ones
from fs_interface.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 18:32:03 +00:00
Axel Dörfler
1f5d3007c4 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
2004-07-02 19:03:16 +00:00
Axel Dörfler
40467b5bd1 BPath does have a (BEntry *) constructor; there is no need for code duplication here.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-27 19:27:20 +00:00
Axel Dörfler
cd437e5e2f Removed unneeded functions - we have those natively now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-26 14:42:40 +00:00
Axel Dörfler
130279a5bb Added a ToDo item in BVolume::SetName().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-26 22:44:22 +00:00
Axel Dörfler
425399b165 If the MIME type couldn't be retrieved, it will now take the file type
into account; i.e. it will ask for a directory/volume/symlink/application icon.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-10 13:35:00 +00:00
shatty
fa8dbc019d new MediaFormats. node monitoring codec plugin loading. codec mods to support new codec api to retrieve supported formats.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-02 05:26:40 +00:00
shatty
4b7d0fbade simple BLooper to run an AddOnMonitorHandler
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-01 05:51:17 +00:00
shatty
341ea25117 semi-tested semi-implemented with horrific big methods
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-01 05:49:14 +00:00
shatty
e396ab580d untested version
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-29 00:24:03 +00:00
Ingo Weinhold
5abde301c1 Changed the behavior of Contains(const char*, int32): It does not longer
return true, if the directory is not initialized, or if the directory
does not contain the entry, but the given path is absolute. This change
makes it less compatible with R5, but more consistent with the BEntry*
version and undoubtfully more compatible with common sense.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-03 16:27:39 +00:00
Ingo Weinhold
8c470cd758 Made use of the new parameter of *SymLink and adjusted dependencies where
necessary.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-02 22:05:41 +00:00
Tyler Dauwalder
ce80ee567b - Renamed CDDA to AudioSession
- Added DataSession


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-15 08:38:42 +00:00
Tyler Dauwalder
2094b5ffbb Updated to use new parametersSize params where applicable.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-25 08:36:17 +00:00
Ingo Weinhold
c3cfd913b7 Implemented CommitModifications(). We still need to extract port and token from the supplied messenger.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-22 21:48:33 +00:00
Ingo Weinhold
3f54a014e5 Removed the resizeContents/force parameters from [Validate]Resize()/[Validate]Move() as discussed in July (grrr, I was lazy).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 21:23:33 +00:00
Ingo Weinhold
4c4e5505b0 Added BPartition::Uninitialize(). No CanUninitialize(), but
uninitialization does not affect the physical partition, anyway. The
system simply marks the partition as uninitialized for the current
session -- after rebooting it re-appears unchanged.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 19:13:29 +00:00
Tyler Dauwalder
417b2882c9 No reason for err to be an ssize_t in this function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-05 07:41:18 +00:00
shadow303
17e6de7a37 gcc 3 fixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-04 00:46:53 +00:00
Ingo Weinhold
a2a6c4bdd7 Moved and documented compare_string().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-02 00:01:57 +00:00
Ingo Weinhold
eceac61bcb Implemented disk device job iteration.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 17:53:11 +00:00
Ingo Weinhold
9e5ec2a534 Implemented BDiskDeviceJob. Should be complete.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 17:52:39 +00:00
Ingo Weinhold
fc45522e03 Added ContentSize(). Added default parameters for CanMove() and CanResize().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:35:05 +00:00
Ingo Weinhold
426b44c60b Implemented disk device updating. Some changes due to syscall changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:19:23 +00:00
Ingo Weinhold
247a3aae82 Small changes due to modified syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:12:54 +00:00
Ingo Weinhold
d61adbe244 CanMove() returns a list of partitions to be unmounted for moving, now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-21 14:17:33 +00:00
Ingo Weinhold
24c9a2dc58 Implemented modification methods.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 22:39:49 +00:00
Ingo Weinhold
fb82e723f2 Implemented BPartitionableSpace.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:21:06 +00:00
Ingo Weinhold
63e9aa86f0 _kern_get_next_supported_partition_type() syscall changed slightly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:20:05 +00:00
Ingo Weinhold
de8cdceda5 Implemented all Can*() and Validate*() methods. Signature changes to the methods for resizing and moving.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:38:50 +00:00
Ingo Weinhold
415002509d * Removed the Validate*() methods. They are less useful than their
BPartition counterparts.
* Removed the BPartition* argument from the Supports*() methods. They
  now return only general capability information. The BPartition::Can*()
  methods would be used to learn whether a certain operation is possible
  with the partition.
* Added some missing Supports*() methods.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-18 18:45:29 +00:00
Ingo Weinhold
e1570b66f8 Added mostly empty implementations for the missing methods; implemented some of them. Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-17 00:06:58 +00:00
Ingo Weinhold
38844d14f8 Added ValidateInitialize() and a _SetTo(disk_system_id). Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-17 00:05:31 +00:00
Ingo Weinhold
a058daad3a Implemented the remaining methods, some aesthetical changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-16 21:02:14 +00:00
Ingo Weinhold
910d993921 Implemented the BDiskSystem::Supports*() methods. Added required private helper methods to BPartition.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:44:23 +00:00
Ingo Weinhold
dd3be08988 * Removed VisitEach{Initializable,Partitionable}Partition() -- they are
too specific for a general API.
* Implemented {Register,Unregister}FileDevice().
* Implemented Get{Device,Partition}WithID() and
  Get{Device,Partition}ForPath().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:20:34 +00:00
Ingo Weinhold
442e574d88 Added FindDescendant() and _IsShadow().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:16:29 +00:00
Ingo Weinhold
92b9e33326 * Added SetTo(partition_id), InitCheck().
* Added more parameters to _SetTo().
* Fixed problem in Unset() -- the BPartition version wasn't called.
* Implemented {Prepare,Cancel}Modifications() and IsModified(). The
  latter doesn't work yet, since the syscall implementation is still
  empty yet.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:15:17 +00:00
haydentech
50f17542c2 namespace fix
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-11 20:39:46 +00:00
Ingo Weinhold
e6fb8288f7 Added missing methods in the header and a partial implementation in the source file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:32:52 +00:00
Ingo Weinhold
2942bfb5fb Changes due to BPartition::UniqueID() -> ID().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:31:22 +00:00
Ingo Weinhold
bf5ffb0203 Added missing manipulation methods (though no implementation). Some cleanup. Renamed UniqueID() to ID().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:30:30 +00:00
Ingo Weinhold
8bb7454636 Implemented disk system iteration.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:29:21 +00:00
Ingo Weinhold
0cb59d9c8c Added IsReadOnlyMedia(), IsWriteOnceMedia(), and renamed IsRemovable() to IsRemovableMedia() for consistency.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:28:32 +00:00
Ingo Weinhold
671a745561 Modified the visitor implementation a bit. The Visit() with the BPartition* argument now also gets the level of the partition in the hierarchy.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 18:26:15 +00:00
Ingo Weinhold
c54d68a84e Should have waited a few more minutes... Renamed the methods {B,K}Partition::Is{Mountable,Partitionable}() to Contains{File,Partitioning}System(). Similar change for the respective flags (B_PARTITION_{MOUNTABLE,PARTITIONABLE}).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 17:38:45 +00:00
Ingo Weinhold
5c7270efd7 Beginning of Disk Device API:
* Made all headers parsable. Also some smaller changes.
* Added empty source files for new classes.
* Changed obsolete implementations of existing classes, so that we
  now have basic functionality for BDiskDevice[Roster] and BPartition.
  Iterating through disk devices works and the data we get doesn't look
  too bad for the beginning.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 23:11:10 +00:00
shadow303
3bc6d6c59a gcc 3 fixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 21:10:14 +00:00
Ingo Weinhold
242a2cbef2 Define the values in the source file rather than in the header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-22 22:55:21 +00:00
haydentech
98833b15bf Cleaned-up the std namespace support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-11 14:34:51 +00:00
Ingo Weinhold
20ff45e32d Removed version 1.x of the DiskDevice API from the build. Will be replaced by version 2.x in the not so distant future.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-06 15:47:44 +00:00
haydentech
a0a3f269a4 Namespace- and gcc3-related fixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-03 18:29:29 +00:00
Ingo Weinhold
1eed0e99e9 Added missing inclusion of <unistd.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-21 19:32:56 +00:00
Ingo Weinhold
150bfa3714 Added implementation of the node monitoring functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-04-13 15:02:24 +00:00
Ingo Weinhold
0f04e70bd8 Added the GUI part of the dialog. Now it is fully functional (maybe not nice, but functional ;-).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-24 00:44:38 +00:00
Ingo Weinhold
d4ebd51785 We build a separate libdiskdevice.so now, which will be integrated into libopenbeos, when the GUI stuff there is working.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-24 00:43:03 +00:00
Ingo Weinhold
9ca9a5bb49 Moved the hack making it possible to communicate with our registrar even, if not linking against libopenbeos from DiskDeviceTest to here.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-24 00:41:21 +00:00
Ingo Weinhold
24f179d905 Commented out the DiskScannerAddOn class. It will be of no use until the whole DiskDevice API goes into libopenbeos.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-22 23:56:00 +00:00
Ingo Weinhold
fd57a94634 Changed the parameters of the CreateEditor() methods and added a EditingDone() method to the editor class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-22 23:54:31 +00:00
Ingo Weinhold
c3815c8e89 Started with the implementation of partitioning support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-22 23:52:15 +00:00
Ingo Weinhold
1a10cbe033 Removed the method for getting a FS add-on list. Changed the dialogCenter parameter for the partition methods from BPoint to BRect.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-22 23:51:33 +00:00
Ingo Weinhold
6ba9af5a46 Added public and private methods for dealing with partition and FS add-ons.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-22 23:50:14 +00:00
Ingo Weinhold
8b56dae30c The beginning of the partitioning dialog. Well, the very beginning. ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-22 23:48:06 +00:00
Ingo Weinhold
32de23c976 Helper class: Represents a loaded add-on image.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-22 23:46:59 +00:00
Ingo Weinhold
7a5ee334ba Removed debugging output and comment changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-20 00:24:36 +00:00
Ingo Weinhold
4a841e49e7 Added class BDiskDeviceList.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-20 00:20:36 +00:00
Ingo Weinhold
295fcc8865 Removed some debug info. Changes due to the removal of the extended_partition_info::partition_code field.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-18 21:33:23 +00:00
Ingo Weinhold
aa905a66a1 Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-16 18:07:51 +00:00
Ingo Weinhold
686968fb35 * Added support for updating.
* Implemented BDiskDevice::Eject() and GetName().
* Added a private support function for getting a messenger targeting the
  DiskDeviceManager in the registrar.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-16 18:07:23 +00:00
Ingo Weinhold
7c44680a36 Renamed the private virtual slots back to their original (R5) names. We would break binary compatibility otherwise, or at least had to do some additional work to maintain nevertheless.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-11 18:17:25 +00:00
Ingo Weinhold
c947b11347 Implemented {Start,Stop}Watching().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-10 00:21:42 +00:00
Ingo Weinhold
7a452094ee Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-10 00:20:40 +00:00
Ingo Weinhold
2af6058585 Added two open() versions to our kernel_interface, that re-try opening read-only, if desired. They are now used in BDirectory and BNode, which formerly failed on read-only devices.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-10 00:19:53 +00:00
Ingo Weinhold
03fa4a4f9c Implemented high-level iteration code. Various fixes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-08 23:34:47 +00:00
Ingo Weinhold
f0bc031212 Added DiskDevicePrivate.{h,cpp}, which contains the internally used iteration support classes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-08 23:32:51 +00:00
Ingo Weinhold
2ed834e3f6 Cleaned up BRoster's friends mess. All access to private BRoster functionality is now done through the newly added BRoster::Private class, which is BRoster's only friend (poor BRoster ;-).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-08 23:29:21 +00:00
Ingo Weinhold
11b6269482 Added a C++ version of get_device_icon() and make use of it in BVolume.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-08 00:42:59 +00:00
Ingo Weinhold
b11d9a08b1 The beginning of the implementation of the DiskDevice API. Basic iteration functionality is implemented, though not tested yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-08 00:42:14 +00:00
Ingo Weinhold
7c2e411db9 Small changes to the interface. Some fixes. And documentation added.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-01 18:13:13 +00:00
Ingo Weinhold
3e19fccb08 Added DiskDevice API source files with empty implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-31 22:06:20 +00:00
Ingo Weinhold
38f832c7eb Removed Identifier() and FileSystem() methods. ShortName() shall return the respective identifier.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 15:03:48 +00:00
Ingo Weinhold
8672a4b33c Added DiskScannerAddOn.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-19 23:04:55 +00:00
Ingo Weinhold
89b1309d57 This is the (first draft of the) API for userland GUI settings disk_scanner add-ons.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-19 22:50:20 +00:00
Ingo Weinhold
46ce5c12a3 Added set_volume_name() implementation. This is a bit of a hack as it uses a private libroot function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-09 12:50:24 +00:00
Ingo Weinhold
0813d0d4b8 Fixed/rewrote the implementation. Added doxygen style documentation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-09 12:49:44 +00:00
Ingo Weinhold
21881ce58c Added file header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-09 12:48:34 +00:00
Tyler Dauwalder
89ec8a81c2 Moved CharStream class out of Parser.{h,cpp} and into its own file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-08 00:38:35 +00:00
Tyler Dauwalder
e5f9569dcb Added escape_path() functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-08 00:37:46 +00:00
Tyler Dauwalder
0eb6cfedb2 Added sniffer/CharStream.cpp to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-08 00:36:51 +00:00
Tyler Dauwalder
40ff01697c Updated an error message.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 07:49:20 +00:00
Tyler Dauwalder
e106754a4e Changed certain B_BAD_VALUE errors to more applicable B_BAD_REPLY error code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1717 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 07:48:30 +00:00
Tyler Dauwalder
32b8ee2e94 Renamed reserved functions to match those in R5, due to linking
incompatibilities that appear to possibly be due to R5 versions
of tests in libstoragetest_r5.so being compiled with our headers...

At any rate, this appears to fix the BQuery linking problems.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 02:38:39 +00:00
beveloper
23d36867f6 fixed BFile
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 13:51:09 +00:00
Ingo Weinhold
480ed2e7f3 Fixed bug in ReadAttrString(): The resulting string was one character longer, when the string in the attribute was null terminated.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-07 22:02:12 +00:00
Ingo Weinhold
53bf00c9d5 Fixed actual bug in set_stat(). Discovered by the gcc from GeekGadgets.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-06 22:55:32 +00:00
Ingo Weinhold
a04efc92d0 Added variable initializations. Not necessary, but they please the compiler.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-06 22:53:29 +00:00
Tyler Dauwalder
a43a7a8d11 Relocated directory determining code to a more appropriate location.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-01 07:35:01 +00:00
Tyler Dauwalder
a551958795 Removed directory and symlink special cases from
GuessMimeType(entry_ref*) and placed them in
Database::GuessMimeType(entry_ref*)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-01 07:34:15 +00:00
Tyler Dauwalder
86c6e9c1c1 + Moved some code from SnifferRules::GuessMimeType(entry_ref*) that
really didn't belong there into Database::GuessMimeType(entry_ref*)
+ Added special meta mime file case to Database::GuessMimeType(entry_ref*)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-01 07:31:37 +00:00
Tyler Dauwalder
989772566f Added kMetaMimeType constant
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-01 07:29:32 +00:00
Tyler Dauwalder
04c26f3c9b Finished implementation
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-01 07:26:57 +00:00
Tyler Dauwalder
09dad369d7 Updated filesystem traversal code to skip files/devices that don't
support attributes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-01 07:26:11 +00:00
Tyler Dauwalder
cea5557794 Updated to match new entry_ref_is_root_dir() calling convention.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-01 07:24:38 +00:00
Tyler Dauwalder
28f43bbd48 + Updated entry_ref_is_root_dir() to Be style calling conventions
+ Added device_is_root_device() call


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-01 07:23:59 +00:00
Tyler Dauwalder
0a87d01ca0 Fixed a couple of warnings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:15:31 +00:00
Tyler Dauwalder
16be2fb82f Added CreateAppMetaMime, MimeUpdateThread, and
UpdateMimeInfoThread to the build


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:15:10 +00:00
Tyler Dauwalder
06d82133c7 Updated and unified update_mime_info() and create_app_meta_mime()
implementations to work with new, wholly-registrar-based mime update
system.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:14:35 +00:00
Tyler Dauwalder
b690150ecf Removed mime update code
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:12:42 +00:00
Tyler Dauwalder
162f340b21 UpdateMimeInfoThread class, which is a subclass of MimeUpdateThread
that implements updating specific to update_mime_info().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:09:50 +00:00
Tyler Dauwalder
56a452bb2c CreateAppMetaMimeThread class, which is a subclass of MimeUpdateThread
that implements updating specific to create_app_meta_mime().

Note that the implementation is not 100% correct yet, and the
OBOS::BMimeType::create_app_meta_mime() tests still fail.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:08:21 +00:00
Tyler Dauwalder
4707046cec MimeUpdateThread class, which is a RegistrarThread subclass that
implements the functionality common to both mime update calls
(update_mime_info() and create_app_meta_mime()), namely walking
through the filesystem and performing updates.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:05:39 +00:00
Tyler Dauwalder
4bd7d39cde Added AssociateTypes.cpp and SnifferRules.cpp to the mix
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 05:36:41 +00:00
Tyler Dauwalder
1bd963b6c2 + Added file-extension based mime type guessing
+ Added sniffer rule based mime type guessing
+ Added get_device_icon()
+ Added complete (synchronous, asynchronous; recursive,
  non-recursive; forcing, non-forcing; you name it we got it :-)
  update_mime_info() implementation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 05:36:03 +00:00
Tyler Dauwalder
743e936ee7 Augmented a comment to include a note on string length requirements.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 05:30:20 +00:00
Tyler Dauwalder
4e722de38f Tidied up a couple of minor oversights.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 05:29:32 +00:00
Tyler Dauwalder
2150894b73 Added BytesNeeded() functions to all the sniffer classes to allow
a pre-read data stream to be sniffed instead of actual files on disk.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 05:27:46 +00:00
Tyler Dauwalder
4494844f12 Initial checkin. BPrivate::Storage::Mime::SnifferRules class, which is
responsible for managing sniffer rules and sniffing files and data
streams.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 05:22:40 +00:00
Tyler Dauwalder
09b4d458da Initial checkin. BPrivate::Storage::Mime::AssociatedTypes class, which
is responsible for managing associations between mime types and
file extensions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 05:20:30 +00:00
Ingo Weinhold
9a17c3cfac Dealt with the *_LENGTH+1 issue: Removed all "+1"s in buffer allocations and adjusted checks etc.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 21:06:09 +00:00
Tyler Dauwalder
e3a2f2069e + Added SetSupportedTypes() test
+ Modified BMimeType::SetSupportedTypes functionality so it keeps track of
stranded types (i.e. previously supported types that have not had the now
unsupporting app signature removed from their supporting apps list yet due
to a false fullSync parameter) over consecutive SetSupportedTypes(...,
false) calls and updates all appropriate stranded types on the next
SetSupportedTypes(..., true) call.
+ Added fullSync parameter to BMimeType::DeleteSupportedTypes
+ Made BMimeType::Delete() do a DeleteSupportedTypes(..., true) call to
properly update the supporting apps lists when a mime type is deleted.
+ Added initial BMimeType::Get/SetSnifferRule
+ Updated BMimeType::CheckSnifferRule() to return B_BAD_VALUE when passed
a NULL rule string.
+ Brought CheckSnifferRule() tests up to date
+ Added lots of Mime::Database doxygen
+ Added any missing mime monitor notifications in Mime::Database
+ Possibly made some other changes as well... :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-09 08:12:03 +00:00
Tyler Dauwalder
baa326e0ec Implemented Get/SetSnifferRule()
Added SetSupportedTypes() documentation
Removed a few unnecessary BMessage copies in a couple of functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-09 07:59:25 +00:00
Ingo Weinhold
76ba3434f8 Replaced applications of BBitmap::SetBits() by BBitmap::ImportBits().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 16:57:53 +00:00
Ingo Weinhold
bb74cb4be5 Incorporated libstorage.so into libopenbeos.so.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 01:08:53 +00:00
Ingo Weinhold
cc3b892702 Storage Kit source files.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 01:07:11 +00:00
Ingo Weinhold
17819be32b * Adjusted SetSupportedTypes() to make use of the new
BMimeType::SetSupportedType().
* {Get,Set}IconForType() now check the supplied type for validity.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-30 20:11:57 +00:00
Ingo Weinhold
f8cada890c Fixed iteration through message field entries in SetSupportedTypes().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-30 20:04:52 +00:00
Ingo Weinhold
35ab40ee3e Database::SetSupportedTypes() now installs the not yet installed supported types.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-30 20:03:06 +00:00
Tyler Dauwalder
976e1a9745 + Added fullSync parameter to SetSupportedTypes()
+ Implemented GetSupportingApps()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:59:23 +00:00
Tyler Dauwalder
b86972c240 Added GetSupportingApps() message field constants
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:58:08 +00:00
Tyler Dauwalder
41b9ba9155 Added GetSupportingApps()/SetSupportedTypes() functionality
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:57:30 +00:00
Tyler Dauwalder
682805b291 Added SupportingApps.cpp to libstorage
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:56:18 +00:00
Tyler Dauwalder
ee0cf10184 Handles supporting application management. This is an
initial, theoretically fully functional implementation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:52:52 +00:00
Tyler Dauwalder
02fd0582dd Cleaned up warnings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-27 08:26:33 +00:00
Tyler Dauwalder
32f45afc26 + Added GetInstalled[Super]Types functionality
+ Cleaned up warnings
+ Added documentation


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-27 08:26:11 +00:00
Ingo Weinhold
657fea1c08 Fixed missing return value in SetType().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-25 22:50:55 +00:00
Ingo Weinhold
49aeab331d Added BNodeInfo and BAppFileInfo to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-25 22:50:11 +00:00
Ingo Weinhold
98da112cca Complete implementation. The 'supporting types' methods are untested as they need BMimeType/registar support. SetSupportedTypes() may need some adjustions when that is available.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-25 22:49:22 +00:00
Tyler Dauwalder
537842b6ee Split into storage/mime/* files, and thus removed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 05:05:01 +00:00
Tyler Dauwalder
e20a514ae9 After implementing the BMimeType::GetInstalled[Super]Types()
functionality, it became apparent that some restructuring was
needed if I wanted to keep things clean and managble.
storage/MimeDatabase.{h,cpp} have been broken into:

storage/mime/database_support.{h,cpp}
+ MIME database constants
+ high-level database access functions like open_type(),
  read_mime_attr(), etc.

storage/mime/database_access.{h,cpp}
+ atomic read functions
+ is_installed()
+ get_icon_data()

storage/mime/Database.{h,cpp}
+ Mime::Database class, which is responsible for all write,
  non-atomic read, and mime monitor functionality.

storage/mime/InstalledTypes.{h,cpp}
+ Helper class for Mime::Database::GetInstalled[Super]Types()

storage/mime/Supertype.{h,cpp}
+ Helper class for Mime::InstalledTypes

I haven't merged my intial, somewhat cludgy GetInstalled[Super]Types
implementation into the new setup yet. That comes next, and it ought
to be a more graceful implementation now.

I also implemented BMimeType::Get/SetSupportingTypes(), though
they haven't been tested yet (sorry).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 05:04:02 +00:00
Tyler Dauwalder
1c4b41005c Added to_lower() functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 04:54:52 +00:00
Tyler Dauwalder
3155eae222 + Added code/updated tests for
- AttrInfo
  - FileExtensions
+ Updated Delete() code to send monitor updates
+ Tenatively added "be:action" field to monitor messages
+ Added data type constants


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-21 10:55:20 +00:00
Tyler Dauwalder
1ed04c7ce3 Added code for:
+ {Get,Set}IconForType()
+ Delete*() functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 09:37:04 +00:00
Tyler Dauwalder
dff6cb3f88 + Added code for:
- {Get,Set}PreferredApp()
  - {Get,Set}AppHint()
  - {Get,Set}Icon()   (though it's a hacked up temporary version)
+ Replaced B_SIMPLE_DATA with B_REG_RESULT


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:40:24 +00:00
Tyler Dauwalder
e9e5603860 Forgot a #include, I guess...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:38:16 +00:00
Tyler Dauwalder
55f345fd20 + Added code for:
- {Get,Set}PreferredApp()
  - {Get,Set}AppHint()
  - {Get,Set}Icon()
+ Added any missing doxygen

SetIcon() is currently not implemented as I would like,
due to us needing an OBOS::BBitmap implementation.
Thus there are two versions and the GetIconData()
function until that day comes around.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:37:50 +00:00
Ingo Weinhold
83a812a1bb Adjusted the SetSupportedTypes() doxygen comments to reflect knowledge gained from tests -- I hope, I understand the syncAll flag now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-18 21:18:43 +00:00