Commit Graph

34 Commits

Author SHA1 Message Date
Tyler Dauwalder
5720cd9c75 Added ThreadManager to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:15:56 +00:00
Tyler Dauwalder
e177c2c89a ThreadManager class, which is responsible for managing all the
RegistrarThread objects created by the registrar.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:11:20 +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
Ingo Weinhold
afac6ebecb Initialize the global be_roster for the registrar.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 19:46:15 +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
Ingo Weinhold
77bb876f71 libstorage.so is gone.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 01:14:11 +00:00
Tyler Dauwalder
d7526269d7 Added B_REG_MIME_GET_SUPPORTING_APPS functionality
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:59:57 +00:00
Ingo Weinhold
cf07767393 Added B_REG_MIME_UNSUPPORT_TYPES case in MessageReceived(). No implementation for now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-25 22:51:50 +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
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
7cf4e78a5d + Updated doxygen
+ Added code for:
  - B_REG_MIME_SET_PARAM::B_REG_MIME_PREFERRED_APP
  - B_REG_MIME_SET_PARAM::B_REG_MIME_APP_HINT
  - B_REG_MIME_SET_PARAM::B_REG_MIME_ICON


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:42:14 +00:00
Tyler Dauwalder
f978bce0b0 + Added fMimeDatabase member
+ Updated MessageReceived to handle:
  - B_REG_MIME_SET_PARAM.B_REG_MIME_DESCRIPTION
  - B_REG_MIME_{START,STOP}_WATCHING
  - B_REG_MIME_{INSTALL,DELETE}


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:08:49 +00:00
Tyler Dauwalder
533a64a210 Registrar now links to libstorage for MimeDatabase class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:02:55 +00:00
Ingo Weinhold
5ca9f21f13 More debugging output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 16:20:42 +00:00
Ingo Weinhold
5e949b7dfc Added method Init(), which adds the registrar to the roster.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 19:37:24 +00:00
Ingo Weinhold
60aa4feab5 * Lock() the looper in application destructor. Otherwise RemoveHandler()
complains.
* Call the TRoster::Init() to add the registrar itself to the roster.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 19:36:05 +00:00
Ingo Weinhold
d744dd13ab * Changed the return value in HandleCompleteRegistration() in case of
not found or already completely registered applications from
  B_REG_APP_NOT_REGISTERED to B_REG_APP_NOT_PRE_REGISTERED.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 13:42:03 +00:00
Ingo Weinhold
2ad75c74f9 Added doxygen comments and moved the initialization of child objects from
the constructor into ReadyToRun().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 13:39:26 +00:00
Ingo Weinhold
c09fb4b971 Added doxygen comments.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 13:37:26 +00:00
Ingo Weinhold
e56ea20210 * Added doxygen comments.
* Moved the index returning/expecting methods into a private section and
  implemented a Iterator class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 13:36:28 +00:00
Ingo Weinhold
a12aef2bee * Added handling of running app querying requests.
* Added methods Add/Remove/ActivateApp().
* Added hook methods _AppAdded/Removed/Activated/Deactivated().
* Turned fActivateApp into a RosterAppInfo* which is more useful.
* Added doxygen comments for the class and all methods.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 00:33:36 +00:00
Ingo Weinhold
bf41b2a2ef Replace APP_STATE_INVALID by APP_STATE_UNREGISTERED which makes more sense.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 00:28:14 +00:00
Ingo Weinhold
2e042baa93 Added dispatching of the running app querying requests.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 00:26:39 +00:00
Ingo Weinhold
ab2e0d7d3f Removed the optional index parameter from AddInfo(). It wasn't used and would avoid to replace the list implementation by one that e.g. maintains a sorted list or a hash table or whatever. Think about changing the other methods operating on indices to use iterators.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 00:25:33 +00:00
Ingo Weinhold
1d32138d6f Implemented processing of the app registration requests and Get{Running,Active}AppInfo().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 20:04:52 +00:00
Ingo Weinhold
3a5e755532 Added token and registration_time fields and Init() method.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 20:03:14 +00:00
Ingo Weinhold
c39e453222 Added dispatching of some now implemented roster requests.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 20:02:10 +00:00
Ingo Weinhold
71ba5e917b We use STL now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 20:01:21 +00:00
Ingo Weinhold
96fd394e57 Added SET_ERROR macro.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 20:00:40 +00:00
Ingo Weinhold
679ac7ab0d Added a couple of methods for app_info finding.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 20:00:15 +00:00
Ingo Weinhold
51d6b22ec1 Added TRoster instance to the registrar application and dispatching of the application registration messages.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 23:40:12 +00:00
Ingo Weinhold
f9fd58cc75 Added classes TRoster, RosterAppInfo and AppInfoList. TRoster will be the *The Roster*, but has currently only unimplemented hooks for the app registration functionality. More to come.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 23:38:57 +00:00
Ingo Weinhold
4b8a71155a Added a registrar skeleton.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-21 22:40:07 +00:00