Commit Graph

371 Commits

Author SHA1 Message Date
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
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
e3c631d629 Added new sniffer files to libstorage.so
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:29:20 +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
0d2978ea27 Added Range.cpp
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:03:44 +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
51156f1f46 Way too many builds later, I finally realized I put these #includes in the wrong place.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 06:58:52 +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
dc685e9ad8 Finished scanner:
+ Octals are now handled properly in both quoted and
unquoted strings
+ Added support for \xXX style hex escapes in both
quoted and unquoted strings
+ Finished up the tests, so I think pretty much everything
should be working
NOTE: signed floating point numbers are no longer supported,
as they have no usefulness to sniffer rules
NOTE: extended format floating point numbers (i.e. 2.4e23) are
no longer supported, as they have no usefulness to sniffer rules.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 03:21:21 +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
Ingo Weinhold
2a2585c598 Fixed an unchecked error in get_app_path().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 19:59:08 +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
4177635e24 Added initialization and MIME string functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-24 09:29:16 +00:00
Tyler Dauwalder
762a48a083 + Finished BMimeType doxygen
+ Finally checked in my remaining BMimeType tests... :-)
NOTE -- The BMimeType::GetSupportingApps() test is
not yet finished. For some reason GetSupportingApps()
is returning a few strange signatures that don't appear
to be in the database. I'm still figuring out where they're
coming from.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 22:29:25 +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
70c31e5157 Reflect the latest change to the UsePublicHeaders rule.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@43 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 16:36:50 +00:00
Ingo Weinhold
32bc7795b0 Adjusted the original SK Jamfile to work in its new friendly neighborhood.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@28 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 02:02:00 +00:00
Ingo Weinhold
7e4c96cf79 SymLink.h included kernel_interface.h, which is a private header. Doh!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@24 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 01:56:30 +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