Commit Graph

152 Commits

Author SHA1 Message Date
Axel Dörfler
9dbe170a69 Implemented direct message passing for local targets; this fixes a deadlock
with PostMessage() in case the message queue is full.
Some notes:
* for synchronous replies, we don't use this mechanism yet, but it could be
  extended to do that as well.
* the code looks so complicated because we need a way to access the looper's
  queue without locking it (to prevent deadlocks); like Dano's solution, I've
  abused BTokenSpace to store a BDirectMessageTarget with a BHandler.
* we also need to decouple the lifetime of a looper's queue from its target,
  as we cannot lock the looper, and therefore, can't guarantee it stays valid
  as long as we're accessing it outside of BLooper.
* init_clipboard() now needs to be done after the global constructors have
  been called - since sending messages now needs gDefaultTokens to be initialized.
  Since this is done per image, it shouldn't cause any troubles, though.
* some minor cleanup, removed unused _msg_cache_cleanup_() and friends.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 13:59:56 +00:00
Axel Dörfler
c01f349e6d Cleanup:
* Got rid of unused BLooper members
* renamed fTaskID to fThread
* Removed private and deprecated AddLooper()/RemoveLooper()/... stuff; BLooper is now
  directly calling BLooperList methods.
* Got rid of extensive and useless comments
* Made a few TODOs more clear
* Merged InitData() and InitData(...) to _InitData(...)
* BLooper::Team() now uses BPrivate::current_team(), sTeamID is gone now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 12:42:18 +00:00
Axel Dörfler
ca9b91886d * Added a Dano extension to BMessageQueue: IsNextMessage().
* BLooper::AddMessage() is now using this method to determine wether or not to
  update its looper thread.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-25 17:08:16 +00:00
Axel Dörfler
c2f641f2e5 Turns out the whole "active app" mechanism in the registrar wasn't used at all; the
Switcher now works as expected.
* Renamed TRoster::ActivateApp() to UpdateActiveApp(), as the app is already activated
  at that point (the registrar only keeps track of it).
* BWindow::DispatchMessage() now calls the new BRoster::Private::UpdateActiveApp()
  method when it receives a B_WINDOW_ACTIVATED message.
* Added BRoster::_UpdateActiveApp() which calls the new B_REG_UPDATE_ACTIVE_APP.
* Removed now unused B_REG_ACTIVATE_APP.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-18 17:45:08 +00:00
Ingo Weinhold
6bfd06d1ff BRoster::Launch() eventually launches the application in question
in several steps:
1. early pre-registration with the registrar ("I wanna launch the
   app, make sure noone interferes.")
2. load the app image
3. finish pre-registration with the registrar ("I have launched
   the app, here is its team ID.")
4. start app main thread
5. send "on launch" messages to the app (argv, refs, others)

If the app is already running or being launched, 1. fails with a
conclusive error code and returns the team ID and the pre-registration
token of the app. Steps 2 - 4 are skipped and only the messages are
delivered using the team ID returned by 1.

This change fixes a race condition: The failed early pre-registration
request obviously cannot return the team ID, if the other thread
launching the app has not finished step 3 yet. Thus the argv/refs
message would not get delivered and Launch() would not return the
correct team ID.

Now we wait for the pre-registration to be finished in this case, using
the former _IsAppPreRegistered() mechanism, which already provided
such a waiting feature for one request. It has been extended to
accomodate an arbitrary number of waiting requests and renamed to
_IsAppRegistered().

This fixed bug #763.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-31 17:54:16 +00:00
Ingo Weinhold
9ecf9d1c1d Merge from layout management branch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-26 16:21:15 +00:00
Jérôme Duval
67bdea52ce hope no one minds with this Dano-like version of BMessage::PrintToStream()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-10 20:00:07 +00:00
Jérôme Duval
6c61b2841f moved B_PROPERTY_INFO_TYPE definition to TypeConstants.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-22 12:21:46 +00:00
Axel Dörfler
a6c9722d73 Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-14 18:31:15 +00:00
Axel Dörfler
f025617d21 Forgot to commit this header - should have been part of r17785.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-10 09:25:30 +00:00
Axel Dörfler
783f7f20bd * Implemented support for node monitoring - you can now be notified when new
translators are installed via BTranslatorRoster::StartWatching().
* Fixed GetTranslatorData() - some hooks are only optional (this puts the
  JPEG, GIF, and some other translators back into the game).
* Made BTranslatorRoster::Default() thread-safe.
* Improved documentation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 18:02:46 +00:00
Axel Dörfler
6d5488e18a * There is now a server_read_only_memory structure that is placed in a (surprise!)
read-only area shared between the Desktop and all applications.
* Right now, this area only contains the desktop colors, ie. B_PANEL_BACKGROUND_COLOR
  etc.; ui_color() no longer needs to ask the server for these colors.
* The ui_colors are now maintained by DesktopSettings, though ColorSet is still there.
* The default colors are now hardcoded once and for everyone in InterfaceDefs.h, ie.
  the app_server uses them as well.
* Desktop::Init() can now also return an error (but that is not yet accounted for).
* Cleaned up InterfaceDefs.h.
* Fixed wrong include in moreUTF8.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-25 20:12:06 +00:00
Axel Dörfler
60bf6a1fbe Removed the detached version of the BMessageRunner object again, and instead
have a static method for spawning one (BMessageRunner::StartSending()), as
suggested by Ingo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-02 14:47:01 +00:00
Axel Dörfler
d3b71f5562 Who said I couldn't break the build?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-18 14:43:29 +00:00
Axel Dörfler
43d7fe9753 * Added two new constructor forms that allow you to create a BMessageRunner
that is detached from its local object; ie. it will continue to send its
  messages when you delete the object.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-12 12:27:16 +00:00
Michael Lotz
bdbd1cb441 Removing the USING_MESSAGE4 define.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 18:06:46 +00:00
Michael Lotz
2bf8fb3a96 Putting Message4 into place to become the new BMessage implementation. Will cleanup USING_MESSAGE4 now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 17:55:47 +00:00
Michael Lotz
16ba0dc5ca Removing old BMessage implementation. Message4 will replace it in the next commit.
This will allow to fix message related problems like drag and drop and scripting.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 17:52:56 +00:00
Stephan Aßmus
588259b66d various changes to handling custom cursors:
* all cursors owned by a team are visually different,
  or (iaw) an already existing cursor is reused when
  it is set by the client again
* changed various occurances of cursor data from "int8*"
  to "uint8*"
* ServerCursors also remember the R5 data from which
  they were created
* the reference counting and destruction of
  ServerCursors changed: The cursor knows it is attached
  to a CursorManager and one can simply use
  ServerCursor::Acquire() and Release() and the reference
  counting and everything is being taken care of
* destroying a ViewLayer will now correctly release a set
  ServerCursor
* fixed a race condition when setting a cursor through
  BView::SetViewCursor(): If the client code looks like this:

  BCursor cursor(cursorData);
  someView->SetViewCursor(&cursor, false);

  there is a relatively high chance the BCursor destructor
  told the ServerApp thread to destroy the cursor before
  the ServerWindow thread got to "acquire" the cursor for
  use by the view layer. The very same problem is likely the
  reason that SetViewCursor works to unreliably on R5, even
  when the "sync" flag is set to "true" (although it should
  theoretically work in that case).

all these fixes make WonderBrush work fine again with the
new support of custom cursors.... coded by axeld and myself
(the joys of pair programming :-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-26 18:15:31 +00:00
Michael Lotz
6990418519 * Fixed some more bugs in the message passing by area
* Reordered some functions
* Area messages can now be unflattened instead of using the private _Reference and a special port code

Passing by area is now mostly working but it's not yet enabled. I will have to conduct performance tests first to see if and starting at what messagesize the overhead is reasonable.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-23 09:02:03 +00:00
Jérôme Duval
09dec1db1b cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-21 11:18:17 +00:00
Michael Lotz
721a0fe3e4 Started implementing message passing by area. This will be needed for drag & drop messages and will probably be used for large messages instead of sending them through a port. Not yet finished and not enabled. Cleaned up a part of BLooper - this class should probably be cleaned up completely.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-18 12:29:05 +00:00
Axel Dörfler
eb797182df Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-16 17:37:36 +00:00
Axel Dörfler
aa1f543799 Some work on cursors:
* Fixed a myriad of bugs all over the place, ranging from locking errors to
  deleting objects that don't belong to the one deleting them (hello HWInterface!)
* Almost all ServerWindow cursor stuff was broken; I've replaced all commands
  to set a cursor with a single one AS_SET_CURSOR.
* Renamed some cursor commands.
* Changed the (broken) way ServerApp::fAppCursor was maintained - the application
  cursor is now NULL as long as possible.
* Removed superfluous ServerCursor app signature stuff.
* The BApplication will no longer duplicate the default/I-beam cursors, it will
  just reuse the default ones which now have fixed tokens.
* As a result, changing the cursor is now working as expected, closing bug #102.
* Rewrote Cursor.h, renamed private members to match our style guide.
* Minor cleanup.

What's still left to be done is reference counting the cursor objects to make them
work right and reliable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-05 18:14:14 +00:00
Axel Dörfler
5edcfe9619 Cleanup!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 09:23:08 +00:00
Stefano Ceccherini
17adbf1f0c Misc style changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 17:56:56 +00:00
Axel Dörfler
14d02d22f6 Huge cleanup and fixes:
* attachView() is now called _CreateSelf() and creates the app_server
  view counterpart for itself, and no longer for a child view.
* removed superfluous deleteView().
* moved drawing from BWindow::DoUpdate() to BView::_Draw().
* made the recursive hook call functions consistent.
* fixed BWindow::DispatchMessage() to send public messages to the intended
  target (instead of always handling them itself directly).
* DispatchMessage() no longer eats unmapped key events that were targeted
  at the window directly.
* B_KEY_DOWN and B_KEY_UP events are now send to the target view as well
  (this couldn't work before as BMessages were broken with B_PREFERRED_TOKEN).
* the default button is now correctly targeted by BWindow::_DetermineTarget()
  (previously, the enter key was hacked to get through via _HandleKeyDown()).
* removing a view now also makes sure it won't have focus any longer.
* also, the DetachedFromWindow() hooks are now called first, so that any
  changes made there cannot mess up our window anymore.
* removed BView::SetPattern(); _UpdatePattern() now does its job.
* renamend private methods to match our preferred style.
* removed unused methods and variables.
* more consistent naming overall.
* removed _PR3_COMPATIBLE_ stuff - there is definitely no need for us to be
  compatible to that one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-21 16:58:36 +00:00
Axel Dörfler
3cace414ad Removed run_task(), as it's not really needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-21 12:35:30 +00:00
Axel Dörfler
e489029756 * made the dano and r5 message more similar to use (naming).
* coding style changes to structure naming.
* but no bug fixes yet...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 22:24:03 +00:00
Axel Dörfler
4ceb1e519c * reverted Adi's premature changes to BWindow and restored _DetermineTarget() and
task_looper() again.
* removed BMessenger::fPreferred - whenever you had to specify "usePreferred" separately,
  you don't have to do that anymore - use B_PREFERRED_TOKEN instead.
* fixed BTokenSpace::GetToken() semantics: it will no longer touch the "object" argument
  in case of failure.
* Introduced a BWindow::_DistributeMessage() that will be part of the event dispatcher
  counterpart to the app_server (the other will be _DetermineTarget()).
* Made it easier to use Michael's Message4 implementation: just add the following line
  to your UserBuildConfig:
	AppendToConfigVar DEFINES : HAIKU_TOP src : USING_MESSAGE4 : global ;
* Introduced ServerWindow::HandlerMessenger() and FocusMessenger() - the first will
  target the client handler, while the other will target the preferred handler of the
  client looper (usually the view having focus).
* Fixed dano message unflattening in the Message4 code.
* Changed BMessage::PrintToStream() to no longer use macros in the Message4 implementation.
* I hope that's all - it's a huge change, but it's all connected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 16:24:23 +00:00
Axel Dörfler
1ba67cc8c6 * almost rewrote BMessageQueue; simplified code, removed over-extensive documentation,
cleanup.
* made BMessageQueue::IsLocked() const - the non-const version is still provided
  for binary compatibility.
* Both BMessageQueue::FindMessage() versions are now thread safe, the queue's BLocker
  is now mutable to allow for this.
* renamed BMessage::link to fQueueLink as the "Message4" implementation uses it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 13:01:59 +00:00
Michael Lotz
cf10934e5f Introducing Message4. The changes to the related sources are ifdefed with USING_MESSAGE4 which is defined in Message4.h. To use Message4 the Message4.cpp, Message4.h, MessageUtils4.cpp, MessageUtils4.h and MessagePrivate4.h have to be linked to their counterparts without 4 suffix. Then MessageBody.cpp and MessageField.cpp have to be commented out in the app kit Jamfile and r5_message.cpp has to be added. There remain some bugs to be found. Feel free to change that.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 11:31:07 +00:00
Ingo Weinhold
758b1d0e05 Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
  declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
  explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
  something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
  'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
  is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
  Otherwise the an inner class with that name is considered as friend.
  gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 23:27:14 +00:00
Axel Dörfler
12119222aa struct entry_ref was used without defining it.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 20:30:58 +00:00
Ingo Weinhold
338b8dc301 Merged changes from branch build_system_redesign at revision 14573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 16:27:43 +00:00
Ingo Weinhold
2fd4a0411b Added a boolean "synchronous" parameter to BRoster::Shutdown(). Used in the
Deskbar to initiate the shutdown process asynchronously. Couldn't test it,
because opening the Be menu doesn't work:
***PANIC: BW: Can't find view with ID: 19 !***



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 16:37:11 +00:00
Ingo Weinhold
a13df0dc01 Added a "confirm" parameter to BRoster::Shutdown() which causes the registrar
to ask the user to confirm shutting down the system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-09 20:23:28 +00:00
Ingo Weinhold
553ea30124 * Moved TRoster out of the BPrivate namespace. It does no longer appear in
any public header.
* Replaced a good deal of the MessageDeliverer's DeliverMessage() versions
  by more general ones using the new interface MessagingTargetSet to represent
  a set of targets. This simplifies the usage in cases where the caller doesn't
  already have the targets in a supported representation.
* Implemented a first approximation of the shutdown process. There is no
  GUI yet. Only superficially tested under R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 17:17:40 +00:00
Ingo Weinhold
925d069d23 * Added BRoster::ShutDown().
* Adjusted the shutdown command to use BRoster::ShutDown(). Removed
  the alert.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 17:04:47 +00:00
Ingo Weinhold
a60ea28262 * Made BApplication::Private public. Should not have worked before (probably
a compiler bug).
* Don't try to cleanup the app server connection stuff, when compiled
  with RUN_WITHOUT_APP_SERVER.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 16:53:59 +00:00
Ingo Weinhold
9351453415 * Added a private API class BServer, a BApplication subclass especially
for servers, that don't have a GUI or want to control when the app server
  connection is established.
* BServer is necessarily a friend of BApplication, for it uses a private
  constructor. Hence BApplication::Private::InitGUIContext() is no longer
  needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:53:29 +00:00
Ingo Weinhold
c8e7f53e08 * Radically culled the list of BApplication friends and introduced a
BApplication::Private class for accessing relevant parts.
* Pulled the app server connection and IK initialization out of
  InitData() into a new method _InitGUIContext() and introduced a private
  constructor that allows to avoid this initialization. This will be used
  for servers that don't have GUI respectively want to init the app server
  connection later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 12:55:16 +00:00
Axel Dörfler
b7e162e93a We definitely don't need the FIX_FOR_4_6, whatever that was about.
Also restored the original locations of the class members I broke before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 22:12:32 +00:00
Axel Dörfler
dd10337fd0 Renamed BAppServerLink to AppServerLink, BPortLink to PortLink, LinkMsgReader
to LinkReceiver, LinkMsgSender to LinkSender, and put everything into the
BPrivate namespace.
Made AppServerLink a cheap object - it will use the applications receiver/sender
and not create its own buffers.
Fixed broken communication stuff here and there (mostly Font.cpp).
Put the newly introduced set|get_system_colors() into the BPrivate namespace -
please don't introduce private functions into the public namespace!!!
Also fixed their broken communication use, as Darkwyrm obviously forgot about
it again: the sequence Flush(); GetNextMessage() without error checking is
purely wrong and can make the app hang and/or crash! :-)
Other minor cleanup.
The input_server used some test mode with the haiku build target which is
probably wrong.
Hopefully I did not forget anything this time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 21:28:56 +00:00
Stefano Ceccherini
941cf68a79 this looks like the right time to remove this...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-12 14:47:26 +00:00
Ingo Weinhold
75393a9870 Named the fReplyTo struct so that we can create other vars of this type.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-22 13:06:42 +00:00
Ingo Weinhold
efbea3a07a Moved the functionality to flatten and unflatten a BMessage header into
a separate class. This allowed to improve _SendFlattenedMessage() to
deal properly with flattened BMessages as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 00:19:50 +00:00
Ingo Weinhold
534ef684d9 Turned _init_message_(), _delete_message_(), and _clean_msg_cache_() into
proper private static BMessage members and made them accessible through
BMessage::Private. Got rid of unused _reconstruct_message_().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 15:05:44 +00:00
Ingo Weinhold
377872556d * Added support for unflatting from flattened KMessages. At least when
a buffer is given.
* Added method for sending flattened messages. The KMessage support is
  complete, but for BMessages this is a bit tricky. We currently unflatten
  the BMessages and send those.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 02:16:44 +00:00
Ingo Weinhold
054e7d17d7 * Got rid of all friends save the Private inner class.
* Turned the private constructor into a private SetTo().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:41:50 +00:00
Ingo Weinhold
77cbf881fc * Got rid of the BClipboard::fCount. It was modified, but never read.
Renamed fSystemCount to fCount.
* be_clipboard is now initialized by init_clipboard().
* Documented at least {Local,System}Count(), since their meaning wasn't
  very obvious to me (neither helped the BeBook description).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 00:54:00 +00:00
Ingo Weinhold
5090f23182 Got rid of one of BMessengers friends. Poor BMessenger. ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:06:15 +00:00
Axel Dörfler
13cdd48215 Added B_REDO constant (as found in Dano/Zeta).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 15:32:16 +00:00
DarkWyrm
6d6540131a Added a couple of private, internal message defs
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-18 23:55:41 +00:00
ejakowatz
19cdc4570f How the glaring fubar in MessagePrivate.h got past me is a mystery.
Nonetheless, here is new BMessenger-related goodness to smooth is all out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-25 23:33:02 +00:00
ejakowatz
e9e500cb9e Minor tweak to BHandler::UnlockLooper()
Added calls to _init_message_(), _delete_message_(), and
_msg_cache_cleanup() to InitTerminateLibBe.cpp
Finished first implementation of BMessage::SendReply(), BMessage::_send_(),
and BMessage::_send_message()
Add BMessage to app.src, removed BBlockCache from support.src.
New BMessage::Private class has functions for twiddling BMessage internals


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-25 07:55:52 +00:00
DarkWyrm
82d4312974 Moved cursor_which defs to a private header
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-14 14:38:03 +00:00
shadow303
603aaee5fc fix for gcc 3
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 21:02:56 +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
f15efa78ef Missed one default parameter.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-06 15:44:43 +00:00
Ingo Weinhold
eee5628778 Sorry, forgot the default parameters.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-05 20:45:28 +00:00
beveloper
5014c4dcdd added default parameter to be able to compile media_server
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-05 00:24:16 +00:00
Ingo Weinhold
c41e89d3da Fixed typo.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 21:08:11 +00:00
Ingo Weinhold
e89cde31e4 Rewrote the header from the scratch.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 21:05:21 +00:00
Ingo Weinhold
5eb035ebfa Header is derived from BeOS R5 header. Removed it and going to rewrite it from the scratch.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 20:37:00 +00:00
Ingo Weinhold
c2d22f44c7 Rewrote the header from the scratch.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 20:29:23 +00:00
Ingo Weinhold
69691a2fa9 Removing the header since it is derived from the one of BeOS R5. I'm going to rewrite it from the scratch, but I suspect, it will look exacly the same. Anyway, that gives me a better feeling.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 20:18:22 +00:00
ejakowatz
80e966963f Little tweaks and fixes too numerous to count, but mostly involved with
adding entry_refs and BMessages.  Lots of stuff for specifiers and also for
sending replies (with thanks to Mike Nordell).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-23 23:13:02 +00:00
DarkWyrm
8204df2aa7 Made our BAppServerLink a friend class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-23 18:53:33 +00:00
ejakowatz
9862b5925d Resolved a minor conflict.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-19 04:38:03 +00:00
DarkWyrm
13772dd6bc Tweaks to get it to build proplery
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-16 21:41:19 +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
DarkWyrm
9bbede1078 One more necessary attribute for cursor_which
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-23 14:01:34 +00:00
DarkWyrm
82857f6f72 Minor enum name tweak
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-23 13:38:09 +00:00
DarkWyrm
5911e5552e Added system cursor definitions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-23 00:29:05 +00:00
Tyler Dauwalder
1bde02ae7b Fleshed out any missing pieces of BRoster::
- ClearRecent{Docs,Folders,Apps}
- AddToRecentApps()
- {Load,Save}RecentLists()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-08 08:36:08 +00:00
beveloper
e28b48e2f7 This small change fixes a major problem!
A class that has a different size than the original is not compatible.
Thus, every application compiled with this header would crash on BeOS.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 18:50:33 +00:00
Tyler Dauwalder
44db8a0885 + Added {Get,Add,Clear}Recent{Apps,Documents,Folders} framework
+ Fleshed out {Get,Add}RecentApps calls
+ Updated argument names for GetRecent{Documents,Folders} to
  versions used in R5 release notes in the Be Book.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 07:46:32 +00:00
beveloper
a358152c0a added #include <Message.h> for backward compatibility
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 18:59:16 +00:00
DarkWyrm
809cd10db5 Removed \r characters
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-22 00:06:13 +00:00
Ingo Weinhold
2d08f6879a Remove _{Start,Stop}Watching() and some friends.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-18 14:03:29 +00:00
Ingo Weinhold
00bf089671 Nicer parameter names.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-15 22:29:43 +00:00
Ingo Weinhold
6bfa67b39a OT style filtered the file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 21:51:16 +00:00
Ingo Weinhold
9b66380776 Changed SetSignature() return value from void to status_t. resolve_app() and translate_ref() do now set the supplied ref to the resulting one when traversing a link.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-07 21:50:24 +00:00
Ingo Weinhold
507e41e8dc Removed unused private methods. Beautified parameter naming.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-06 22:43:13 +00:00
Ingo Weinhold
1522bbc771 Reduction of redundant characters. ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-04 21:41:30 +00:00
Ingo Weinhold
dc5b003704 Parameter naming consistency...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-04 21:05:06 +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
Ingo Weinhold
92a1f24167 Implemented BRoster::FindApp() and a bunch of helper functions needed for it. Tweaked some of the helpers signatures.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-22 00:12:56 +00:00
jrand
e39c71fce8 Remove R3 compatibility details from BPropertyInfo, fix memory leak and implement endian-ness
aware flatten and unflatten code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-21 06:44:27 +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
ejakowatz
54831cd6f1 Initial checkin for Gabe Yoder.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 14:02:00 +00:00
ejakowatz
752c497115 The last remnants of the Old Repub ... er, static looper list data has been
removed.  The old static BLooper functions for managing the looper list are
still there, but they are officially deprecated.  The approved interface
for this information is BPrivate::BLooperList, accessible via the global
BPrivate::gLooperList variable.  Being as it lives in BPrivate, it is for
API-internal use *ONLY*.  User apps use it to their own risk.
Also added a small test to make sure that the size of BLooper stays the
same.  I will probably add this to other classes as well; doesn't hurt to
be safe. =)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-04 17:16:56 +00:00
Ingo Weinhold
8cd292013b Added _send_to_roster_() and _is_valid_roster_mess_().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 19:30:27 +00:00
ejakowatz
80a604c999 All things BMessage; initial check in.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 17:45:25 +00:00
Ingo Weinhold
496ffb0aa7 * Changed return type of some private methods from void to status_t.
AddApplication() returns the token via reference parameter and
  additionally returns the team ID of the already running app (if any).
* Implemented AddApplication(), SetThreadAndTeam(), CompleteRegistration(),
  IsAppPreRegistered(), RemovePreRegApp(), RemoveApp(), or to to say it
  briefly the complete set of app registration helper functions.
* Implemented GetRunningAppInfo() and GetActiveAppInfo().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 19:47:21 +00:00
Ingo Weinhold
7dfa0a3dbe Aesthetical details.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 19:40:51 +00:00
Ingo Weinhold
f1ac78ebd2 _TRoster_ -> BPrivate::TRoster.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 23:42:42 +00:00
Ingo Weinhold
17c00872bb Implemented _init_roster_() and added _delete_roster_() which are now responsible for be_roster.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 21:21:55 +00:00
Ingo Weinhold
ad467109d4 Uglified the header according to the OT style.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-21 22:42:46 +00:00