Commit Graph

371 Commits

Author SHA1 Message Date
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
Ingo Weinhold
d6b205f306 Added BAppFileInfo header, empty implementation with doxygen comments.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-17 23:59:41 +00:00
Ingo Weinhold
f8b7638264 Fixed some comments.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-17 23:58:22 +00:00
Tyler Dauwalder
f231d0901c + Added fMimeDatabase member
Implemented:
+ {Get,Set}{Long,Short}Description()
+ {Start,Stop}Watching()
+ Install(), Delete(), IsInstalled()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:06:51 +00:00
Tyler Dauwalder
fc7d3358e6 + Added MimeDatabase
+ OBOS app kit headers are now used


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:03:26 +00:00
Tyler Dauwalder
9f3d4851ac Initial checkin; MimeDatabase class used to handle all actual mime
database access.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:00:37 +00:00
Tyler Dauwalder
ef753322a8 Updated BQuery's BMessenger hack to be more legit (and
to allow libstorage to compile using public app kit headers)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 21:58:44 +00:00
Ingo Weinhold
7835957412 The implementation is now complete and passes the tests. Reimplement almost all methods.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 17:47:12 +00:00
Tyler Dauwalder
09d84e61b6 + Changed StorageKit namespace to BPrivate::Storage
+ Changed Sniffer namespace to BPrivate::Storage::Sniffer


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 08:42:01 +00:00
Ingo Weinhold
36a3a8f023 Moved doxygen comments into the source file. Completed/extended/rewrote them. Changes to style and indentation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-11 16:16:07 +00:00
Tyler Dauwalder
06d1abcdc8 Added DisjList.cpp
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-10 09:36:19 +00:00
Tyler Dauwalder
93d145bb01 + Added support for "-i" flags and case insensitive matching
+ Renamed Expr class to DisjList, which is more descriptive
  as to its function
+ Added ' and " to the list of allowed characters in an
  unquoted string.
+ Added updated sniffer rule grammar to doxygen for the
  Parser class


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-10 09:36:00 +00:00
Tyler Dauwalder
fe70cd16af + Updated all the parsing code to use std::strings everywhere
instead of const char*'s to allow for rules with NULL characters
  embedded in them.
+ Updated Rule::Sniff() to actually return a useful value


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 10:30:38 +00:00
Tyler Dauwalder
60ee71d302 + Added some documentation
+ Fixed a bug with 0eXXX floats being handled improperly
+ Updated a few error messages to give proper character
  stream positions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:23:24 +00:00
Tyler Dauwalder
0bc621d53b + Added some documentation
+ Now verifies the given priority is valid


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:21:31 +00:00
Tyler Dauwalder
10db8711a8 Added some documentation
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:20:47 +00:00
Tyler Dauwalder
ef88abd1be + Added priority verification (0.0 <= valid priority <= 1.0)
+ Fixed a stupid bug in my hexToChar() function
+ Added code to actually return the parsed in priority to ParsePriority()...
+ Added code to actually SetTo() the result in ParseRule()...
+ Changed most "Sniffer scanner error" messages to "Sniffer
  pattern error" messages.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-07 07:48:30 +00:00
Tyler Dauwalder
390dce8da6 Parser is finished (or very nearly so)!!! :-)
+ Added support for extended notation floating point numbers,
as well as signed (+ and -) floats.
+ Finished up parsing code
+ Moved Err class into it's own header/source pair, since I
started using it all over the place in the sniffer code.
+ Did my darndest to make sure I wasn't leaking memory
anywhere.
+ Matched up error messages as best as possible with R5's
error message. Some couldn't be matched, some were improved.

There *are* a few things left to do. I don't think priorities are
verified to be valid (0.0 <= x <= 1.0). More tests also need to
be written. Things have solidified enough now that documentation
is a reasonable thing to start considering as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:37:14 +00:00