Commit Graph

242 Commits

Author SHA1 Message Date
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
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
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
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
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
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
031858645f Some changes regarding partition creation and initialization.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-22 23:29:29 +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
Ingo Weinhold
d2f2920f84 ShortName() + Name() -> Name() + PrettyName(). More conformant to the rest of the Be API (media, networking).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-10 22:45:49 +00:00
Ingo Weinhold
30b4d57df4 Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-10 22:43:52 +00:00
Ingo Weinhold
bef8916ea6 * Used partition_id, disk_job_id and disk_system_id instead of uint32.
* Replaced uint32 for indices and counts with int32.
* Some additions to BDiskDeviceRoster and BDiskDeviceJob.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-09 23:02:16 +00:00
Tyler Dauwalder
5b3f1d0cda DiskDevice API v2.4
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 21:51:24 +00:00
Tyler Dauwalder
e62a550aa1 Removed as of DiskDevice API v2.4
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 21:49:24 +00:00
Tyler Dauwalder
9f4ec30369 DiskDevice API v2.3.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 21:47:29 +00:00
Tyler Dauwalder
17dc6e0c84 DiskDevice API v2.2.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 21:46:11 +00:00
Tyler Dauwalder
40f3824020 DiskDevice API v2.0
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 21:43:58 +00:00
Tyler Dauwalder
800e59617f Removed as of v2.0 of the DiskDevice API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 21:41:28 +00:00
Ingo Weinhold
19d8037692 Removed GetPartitioningSystemList(). I though this had already been done. Weird.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-24 00:36:21 +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
d749688652 * Moved to the private headers.
* The CreateEditor() methods now get a BSession* respectively BPartition*
  instead of the low-level structures.
* Added EditingDone() hook to the editor class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-22 23:45:47 +00:00
Ingo Weinhold
7685055798 Added BDiskDeviceList as friend.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-20 00:22:09 +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
e2077e8d4c Minor changes. Moved the functionality for getting a messenger targeting the DiskDeviceManager in the registrar into the private support files.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-16 18:03:59 +00:00
Ingo Weinhold
e6e04bdc25 Moved definitions for notification message "cause" fields to this header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-14 23:12:47 +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
bdc2eaf5d8 Started implementing the API. Necessary changes to the headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-08 00:39:38 +00:00
Ingo Weinhold
d8c074b218 Small changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-01 18:12:03 +00:00
Ingo Weinhold
42b7adc3a4 Added file header. Minor changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-31 22:05:09 +00:00
Ingo Weinhold
d713d1d973 The beginning of the DiskDevice API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-31 21:17:20 +00:00
Ingo Weinhold
5d9772d27f Added set_volume_name().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-09 12:46:40 +00:00
Tyler Dauwalder
e28d9c0efe Changed B_PATH_NAME_LENGTH+1 suggestions to B_PATH_NAME_LENGTH
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-08 00:40:25 +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
beveloper
9fc7164698 allow building everything without local(tree external) header files beeing
used for kernel or kit components


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 20:13:17 +00:00
Ingo Weinhold
0cf8481dc7 Added newline at end of file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-06 22:45:06 +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
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
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
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
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
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
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
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
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
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
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
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
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
Tyler Dauwalder
82b7566525 Updated header guards to Be, Inc. style.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 07:24:02 +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
0322e71475 Renamed to DisjList.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-10 09:32:03 +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
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
Tyler Dauwalder
01293d6ed7 + Added InitCheck()
+ Added Priority()
+ Added Sniff()
+ Replaced ExprList typedef with plain old std::vector<Expr*>
so I wouldn't forget what the hell kind of list I was working with.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:32:27 +00:00
Tyler Dauwalder
9d97f52d8d Added InitCheck() and GetErr()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:30:44 +00:00
Tyler Dauwalder
a60032821f Updated the Sniff() function to take a BPositionIO instead of BFile.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:28:36 +00:00
Tyler Dauwalder
74cd43ec44 New mime sniffer support classes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:25:41 +00:00
Tyler Dauwalder
68faee1082 + Switched to std::vector in favor of BList
+ Added a few minor tweaks


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:03:23 +00:00
Tyler Dauwalder
4574a75fc5 + Got rid of global TokenStream object
+ Started on Parser class
+ Moved parsing functions into Parser class
+ Added Pos() member to Err class to allow for
snazzy BMimeType::CheckSnifferRule() error strings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:01:56 +00:00
Tyler Dauwalder
0be1fe8a1f New MIME Sniffer files
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 06:57:11 +00:00
Tyler Dauwalder
224e92720e Added "position in original character stream" marker to Token class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 04:13:30 +00:00
Tyler Dauwalder
5da549240a + Moved internally used classes into header to allow for testing.
+ Added EmptyToken, Integer, and FloatingPoint TokenTypes.
+ Added IntToken and IntegerToken classes.
+ Updated scanner, which now handles numbers as well. I believe
it's nearly complete, although I'm almost positive it doesn't
handle octals correctly yet...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-27 19:24:05 +00:00
Tyler Dauwalder
674e18fb18 Initial MIME sniffer rule parser checkin. The first draft of the
scanner portion of the parser is done, but completely untested
and unused. More to come...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 07:47:07 +00:00
Tyler Dauwalder
5ebee1cf0a BVolume and BVolumeRoster updates, courtesty of Vincent Dominguez
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 21:39:49 +00:00
Ingo Weinhold
64f6603fbe Include the official DataIO.h rather than MallocIO.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@26 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 01:59:18 +00:00
Ingo Weinhold
232067ccbb Moved StorageDefs.Private.h to the public headers. Strange, but it is needed by them.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@21 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 01:47:48 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00