Commit Graph
100 Commits
Author SHA1 Message Date
Ingo Weinhold a8f1d2a859 Added some more partition change flags and a partition state for uninitialized partitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-24 22:59:42 +00:00
Ingo Weinhold 95152e1e98 Implemented remaining partition modification syscalls. Some small fixes. Some refactoring.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-24 22:58:06 +00:00
Ingo Weinhold 1d8675355f Added some more support for tracking changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-24 22:56:53 +00:00
Ingo Weinhold 073eb9aead Added constants identifying operations on partitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-24 22:55:22 +00:00
Ingo Weinhold ee1ebe375c * Added ShadowPartitionChanged() to KDiskSystem and respective hooks
to the module interfaces. So the disk system will be informed, when a
  shadow partition has changed and it is allowed to do necessary
  adjustions (e.g. adjusting the cookie, the parameters, or on
  partitioning system initialization even creating special child
  partitions (apple partitioning system)).
* Added `int32 *index' parameter to ValidateCreateChild(). So the
  partitioning system can report at which index the new child shall be
  inserted.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-24 22:53:23 +00:00
Ingo Weinhold d50af9662a Now resizes a (shadow) partition and cancels the modification.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:21:14 +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 e627d686c3 Added definition of flags for partition changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:17:47 +00:00
Ingo Weinhold d3774a9b93 The content_type field in partition_data is now set by the system. Implemented querying hooks for resizing a child partition of the partition map.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:16:13 +00:00
Ingo Weinhold 9cd06f3a38 The content_type field in partition_data is now set by the system (to the disk system's pretty name).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:14:01 +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 5ee968b3df * Added a change counter parameter to all partition querying and
modification functions. Don't know why I didn't right from the start.
* Implemented _kern_resize_partition().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:11:03 +00:00
Ingo Weinhold f865306260 Some comments regarding the partition_data struct.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:05:38 +00:00
Ingo Weinhold f985036e31 Reordered for aesthetical reasons. :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:04:27 +00:00
Ingo Weinhold 02885b7d6e * Got rid of SetContentType(). It is set automatically now, to the
PrettyName() of the responsible disk system.
* Added change counter support and changes tracking.
* Added UninitializeContents().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:03:35 +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 c0b8ba64fd _kern_supports_moving_partition() now returns the list of partitions that need to be unmounted for moving.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-21 14:17:03 +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 df3b8c625e Added partition modification syscalls with empty implementations.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 22:39:37 +00:00
Ingo Weinhold d7ce4fddfc Implemented all read-only (more precisely: not writing) methods. Small changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:24:32 +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 71a5281923 Implemented _kern_get_partitionable_spaces(). Got rid of user_partitionable_space_data.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:18:48 +00:00
Ingo Weinhold 3ee6c178d5 Some fixes of/changes to the API. Shortened names where possible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:17:00 +00:00
Ingo Weinhold 2a596c013a Implemented all read-only (more precisely: not writing) methods. Small changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:15:35 +00:00
Ingo Weinhold 4c4722dd9e Added the shared private headers again, since BObjectList is used in the API now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:39:50 +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 752cec6459 Several changes to the _kern_{supports,validate}_*() calls:
* Removed the disk_system_id parameter where superfluous.
* Got rid of the `child' variants of the _kern_{supports,validate}_*()
  syscalls for moving and resizing. Reimplemented the real ones to do the
  the right thing, i.e. they check all concerned disk systems now.
* Added _kern_supports_setting[_content]_parameters().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:37:00 +00:00
Ingo Weinhold 708a31badf Added SupportsSetting[Content]Parameters() to the KDiskSystem interface and respective functions to the module interface. Some re-ordering of methods/functions for aesthetical reasons. :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:29:58 +00:00
Ingo Weinhold 24fa6c601b Added LoadDiskSystem() version, that takes a disk system name.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:26:48 +00:00
Ingo Weinhold 14fa3c6b01 Also prints the disk systems' capabilities now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-18 18:46:17 +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 18b90323d9 Added flags for disk systems.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-18 18:41:21 +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 a1a7d37e2c Added syscall for validating the initialization parameters.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-17 00:04:22 +00:00
Ingo Weinhold 3f60a01369 Added "name" parameter to KDiskSystem::[Validate]Initialize() and the respective module API functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-17 00:03:17 +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 8bc0bd912a Added and implemented the remaining disk system syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-16 21:01:14 +00:00
Ingo Weinhold 1f3f1294a8 Added a IsSubSystemFor() method to the KDiskSystem interface and respective calls for the module interfaces.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-16 21:00:01 +00:00
Ingo Weinhold 007eb5f23c Added "-soname=_APP_" to the linker flags of the high-level rules building applications. Also added a third parameter, <libraries>, where it was missing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-16 20:56:37 +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 1863de6785 Added and implemented the first part of the disk system querying syscalls (_kern_supports_*()).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:42:59 +00:00
Ingo Weinhold 0fbb290f51 Some changes to/fixes of the KDiskSystem interface and the disk system module interface.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:41:32 +00:00
Ingo Weinhold a97769a5d3 Added {Read,Write}Lock{Device,Partition}().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:39:34 +00:00
Ingo Weinhold 1ff134b901 * Added shadow_id field to user_partition_data.
* Implemented several new syscalls (_kern_find_{disk_device,partition}(),
  {prepare,cancel}_disk_device_modifications(),
  [un]register_file_device()),


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:27:43 +00:00
Ingo Weinhold 7fcdfb5fb8 Added registration of a file device and invocations of {Prepare,Cancel}Modifications(). Looks good so far.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:23:47 +00:00
Ingo Weinhold b8ea76bfc3 The KDiskDeviceManager::CreateFileDevice() parameters changed slightly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:21:43 +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
Ingo Weinhold dd43c7769f * Added shadow_id field to user_partition_data.
* Implemented several new syscalls (_kern_find_{disk_device,partition}(),
  {prepare,cancel}_disk_device_modifications(),
  [un]register_file_device()),
* Fixed some details in existing syscalls.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:10:32 +00:00
Ingo Weinhold 2438192b6c Added a deviceOnly flag to {Find,Register}Device(). Minor {Create,Delete}FileDevice() changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:05:50 +00:00
Ingo Weinhold 5d22fa967a Shadow partition related changes:
* Fixed handling of the deletion (removal) of shadow partitions. Formerly
  the shadow partition corresponding to the disk device wasn't removed
  properly.
* Added a shadow_id field to the user_partition_data structure which
  contains the ID of the shadow partition, if it is one. The id field
  will hold the ID of the physical partition.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:00:24 +00:00
Ingo Weinhold a8cd071927 LinkSharedOSLibs now strips the grist <nogrist> off targets. Otherwise one couldn't use target names that don't have a grist (like applications, against which their add-ons need to link).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-13 15:23:45 +00:00
Ingo Weinhold e1302deadb Damn, accidentially deleted the changed header via "cvs rm -f". Here it comes again: Disk system iteration functions added.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:45:53 +00:00
Ingo Weinhold dfe606b688 Some changes due to changes in the API. Added disk system iteration.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:33:57 +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 7dd03a026b Renamed KDiskDeviceManager::DiskSystemWith{ID,Name}() to FindDiskSystem().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:24:47 +00:00
Ingo Weinhold 995d5c53be * Renamed ddm_user_interface.cpp to ddm_userland_interface.cpp which
matches the name of the header much better. :-)
* Implemented the syscalls for iterating through and finding disk systems.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:23:27 +00:00
Ingo Weinhold 621e29d0b5 Added a DiskSystemLoader class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:21:34 +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 55bf93d80d Fixed handling of partition and device flags and statuses.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 17:25:32 +00:00
Ingo Weinhold fb28706b69 Re-enabled Disk Device API test. Well, almost the complete old code is commented out. ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 23:14:00 +00:00
Ingo Weinhold 865fc3ef0f Defined a pseudo target for disk system modules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 23:12:05 +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
Ingo Weinhold c0455c33b8 * More shadow partition support.
* Writing disk device/partition data into userland buffer added.
* Migration of some definitions into <DiskDeviceDefs.h> header.
* Small bug fixes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 23:01:22 +00:00
Ingo Weinhold 64cf9ebc08 Made PartitionRegistrar visible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 22:57:40 +00:00
Ingo Weinhold d885284414 First implementations of Disk Device API related syscalls (iterating through disk devices and retrieving disk device data). As long as we work in userland these aren't real syscalls, of course.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 22:56:39 +00:00
Ingo Weinhold b74cd4c9d1 Little helper class for writing the disk device/partition data into a buffer for userland.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 22:53:20 +00:00
Ingo Weinhold 6bd5253e85 This is the header for global definitions shared by the Disk Device API and the disk device manager.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 22:51:42 +00:00
Ingo Weinhold 2386ff94ad Added missing include.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-05 12:30:23 +00:00
Ingo Weinhold a162af3b0e Made KPartition abstract and derived two classes, KPhysicalPartition
and KShadowPartition from it. KPhysicalPartition represents a partition
that exists on-disk, while KShadowPartition is a partition edited by the
API user, but not yet written to disk. Related changes in other classes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 23:45:26 +00:00
Ingo Weinhold 3161d380ef Moved the declaration of the Private subclass into the public section where it belongs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-03 16:08:37 +00:00
Ingo Weinhold 2091bd588f Replaced usage of List template class by the kernel utils Vector.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-02 16:38:29 +00:00
Ingo Weinhold 5b489f6f16 Got rid of the List template class in the disk device manager source dir. Instead we use the Vector based Kernel Utils classes now. Various related changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-02 16:29:33 +00:00
Ingo Weinhold aabf9e6b16 Oops, seems that I forgot to commit the header for VectorMapTest. It utilizes the OrderedMapTest class and doesn't do any testing by itself anymore.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-02 16:25:47 +00:00
Ingo Weinhold a9083a5d91 Templatized the VectorMapTest class. It's now called OrderedMapTest
and allows to test arbitrary map implementations as long as their
entries are ordered. Added a test for the ImplicitKey strategy for
VectorMap.

Just to make a statement: Our tool chain sucks! It took me three hours
fighting with the compiler until I got a version that didn't make it
run into internal compiler errors or unimplemented features. *sigh*


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-02 03:24:16 +00:00
Ingo Weinhold 83744ac99d Added the ImplicitKey entry strategy, which allows the key to be calculated on the fly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-02 03:17:43 +00:00
Ingo Weinhold 76aa3218cb Added unit tests for VectorMap.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 20:38:32 +00:00
Ingo Weinhold 7e65f8eb29 Added a Vector based map implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 20:37:17 +00:00
Ingo Weinhold 92ec26a3be Fixed documentation and a minor issue.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 20:36:11 +00:00
Ingo Weinhold bd3ed7497a Apparently invoking non-static member functions for default arguments doesn't work. Removed the default argument for Find() and added respective additional versions. Some more minor changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 01:00:23 +00:00
Ingo Weinhold b3cb5e6061 Some more thorough checking of Find(), which revealed small problems.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 00:56:16 +00:00
Ingo Weinhold 97f7fee9ef Added unit tests for VectorSet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 00:54:43 +00:00
Ingo Weinhold 4489db253c Added a Vector based set implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 00:53:50 +00:00
Ingo Weinhold c303352a8e Added unit tests for the Vector implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 19:46:22 +00:00
Ingo Weinhold eaf9864cde Added a generic Vector implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 19:45:10 +00:00
Ingo Weinhold c4de095cd1 Fixed invalid default argument. Not that the compiler eats the file now...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 19:44:14 +00:00
Ingo Weinhold 42b47c7c30 Some small interface fixes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 15:53:21 +00:00
Ingo Weinhold 18c5b0ca7b Added kernel utils test to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 15:52:24 +00:00
Ingo Weinhold d2f5407bb8 Added an empty test for AVLTreeMap, but uncommented it, since it doesn't compile with our broken compiler.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 15:51:58 +00:00
Ingo Weinhold e0f43e3e84 The beginning of an AVL tree based map implementation. Well, the tree part
is complete, the interface needs work.
Unfortunately our ancient compiler chokes on this (`Internal Compiler
Error'). I got around the problem by restructuring parts of the code once,
but now I'm stuck -- no idea what I could change. So, there won't be
AVLTree{Map,Set} until we have a working compiler. :-(


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 15:49:33 +00:00
Ingo Weinhold cbbec57f71 Oops, our TOP is named OBOS_TOP.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-27 17:38:12 +00:00
Ingo Weinhold 0843d5108a Minor changes. The file for the file device lives now in ~/tmp instead of /tmp to be persistent.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-25 00:06:46 +00:00