81 Commits

Author SHA1 Message Date
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