Commit Graph

152 Commits

Author SHA1 Message Date
Stefano Ceccherini 10c5dab807 Added client side support for BScreen::RetraceSemaphore() and BScreen::GetModeList(). Server side support isn't yet there, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-18 06:36:23 +00:00
Axel Dörfler 68dcbfb983 Those commands were used but not defined, obviously some forgot to update this file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-16 00:58:12 +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 ddf2e6ea5f Removed unused message codes. Added a TODO item
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 15:35:43 +00:00
DarkWyrm fda4af2667 Forgot to check this in. Added a code for _set_system_font()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-09 16:11:15 +00:00
Axel Dörfler 3ba7d6f350 Added AS_{GET|SET}_DESKTOP_COLOR.
(Incorrectly) implemented AS_GET_DESKTOP_COLOR - works for now.
Minor cleanup.
Is AS_SET_SCREEN_MODE used at all?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 13:24:40 +00:00
Axel Dörfler bd28b3c746 BAppServerLink is now using BApplication::fServerTo/From for its messaging.
Added LinkMsgReader::NeedsReply() method.
Completely redone ServerApp messaging: no more "replyport" from BAppServerLink; instead,
the registered client reply port is used. Fixed some more weak messaging stuff.
ServerApp now recognizes if an unknown message needs a reply, and sends it - for example,
the "Screen" preferences app no longer hangs, but crashes on start :)
Made LinkMsgReader::Read() virtual again, since it's needed by RAMLinkMsgReader.cpp.
Renamed BPortLink::GetNextReply() to GetNextMessage().
Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 04:01:59 +00:00
Axel Dörfler 75936a02e4 BPortLink now has a FlushWithReply() method itself.
BPortLink::AttachString() now accepts a length argument, and will no longer
send a terminating null byte; LinkMsgReader::ReadString(), however, will
make sure the string read is null terminated.
Changed client communication code to use FlushWithReply() instead of Flush()
and GetNextReply() - there were many bugs and shortcomings in the code, I
hope I've fixed them all.
Converted ClientFontList.cpp to our coding style (but not completely, the
class members are missing).
Some more cleanup - I hope Adi will adopt our coding style one day!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 00:36:26 +00:00
Axel Dörfler 750b92faf3 Almost rewrote LinkMsgSender; it's now much cleaner and works better:
- StartMessage() can now get a size to make sure there is enough free space
- if StartMessage() is called with the current message behind a certain
  watermark, the buffer is flushed in order to prevent moving around messages
  in the buffer. The actual value should be tested in real life, though.
- enlarged maximum buffer size to 64k
- fixed bug: could use memcpy() to move overlapping memory around
- added a flag to Flush() that marks messages as needing a reply - the other
  way would be to mark the message "code" to contain this information

Some cleanup in LinkMsgReader.
BPortLink now has most methods as inlines.
The buffer sizes are now declared in a shared header, so that receiver and
sender are always equipped equally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 22:36:03 +00:00
Stefano Ceccherini 7475dcdf3a Added an app server command to retrieve the color map. Made some adjustments to SystemPalette.cpp, implemented support for it in BPrivateScreen. Moved get_scs() a bit down to avoid a deadlock. Note that getting the colormap doesn't work due to port capacity limit (?)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 21:32:24 +00:00
Axel Dörfler 851fc4f198 Private class BAppServerLink now has a global locker, instead of
(ab)using the BApplication lock to synchronize messaging.
Also, it now has one global reply port, that is created on demand,
but never freed - hope this doesn't cause any other trouble.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-04 17:16:49 +00:00
Adi Oanca e897030468 Added a new message code. It's for setting mouse event mask
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 17:18:59 +00:00
DarkWyrm cd0ddd03fb Added a code for the float version of GetEscapements()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-07 16:44:06 +00:00
Stefano Ceccherini 541a224df8 No need to include that stuff, a forward declaration will do
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 20:41:21 +00:00
Stefano Ceccherini 0405ef356f Added AS_SCREEN_GET/SET_MODE
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 20:28:53 +00:00
Adi Oanca 997865348b added AS_ROOTLAYER_DO_CHANGE_WINBORDER_FEEL
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-21 18:56:53 +00:00
Adi Oanca 08bd2fdfa2 added AS_ROOTLAYER_WINBORDER_SET_WORKSPACES
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-10 18:48:48 +00:00
Michael Lotz c2da902f2e Implemented BPortLink::AttachShape and BPortLink::ReadShape and used them for passing the shapes in AS_GET_GLYPH_SHAPES.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 07:29:04 +00:00
Adi Oanca be94b51d74 Added AS_LAYER_SET_EVENT_MASK
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-21 20:23:30 +00:00
Adi Oanca e4365762e6 added AS_ROOTLAYER_REMOVE_FROM_SUBSET
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-18 18:01:33 +00:00
Adi Oanca e6ed344d4d Oups. Forgot about this one. Added a new message id.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 19:27:29 +00:00
Ingo Weinhold 156e4f302b Consequently use B_PREFERRED_TOKEN when the preferred target is addressed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:44:55 +00:00
Ingo Weinhold f8953fc789 Allow that const data can be supplied to TChecksumHelper::Cache().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 00:17:24 +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 874902b2c1 Made sending flattened message available.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 02:18:19 +00:00
Ingo Weinhold 5ac1156848 Replaced _init_roster_() _delete_roster_() by static functions in BRoster::Private.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:20:11 +00:00
Ingo Weinhold 4b8aafea9f BMessenger has no friends besides Private anymore.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:46:28 +00:00
Ingo Weinhold 16cab04ad2 * Fixed mismatching header guard.
* Added SetTo().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:42:55 +00:00
Adi Oanca 7bcf57c75b Another 2 constants
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 23:16:31 +00:00
Adi Oanca 6c85f3d5e6 Added 2 more contants
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 18:58:22 +00:00
Adi Oanca 27c5631fa3 Added support for sending BRegions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 09:48:10 +00:00
Adi Oanca 855d9d8948 Added two constants for app_server internal communication
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 21:01:14 +00:00
DarkWyrm 98e22e0bf7 Added codes for more BFont methods
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 12:10:18 +00:00
DarkWyrm 199b0a6a22 Added a code to handle BFont::SetFamilyAndStyle(char *, NULL)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 23:15:54 +00:00
DarkWyrm 93e11ddfc8 Stupid forgotten header
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 10:24:45 +00:00
Ingo Weinhold 0ffb21a672 * Moved everything into the BPrivate namespace.
* Replaced the constant kRosterPortName by a function returning that name
  (we need different port names under BeOS and Haiku, and already at
  libbe init time).
* The settings directory is obtained via find_directory() (critized by
  Axel :-).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 01:06:30 +00:00
Ingo Weinhold 9171d496e2 Added function is_running_on_haiku(), which returns at runtime whether we're running under Haiku.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-17 01:20:22 +00:00
DarkWyrm c26e0fe214 Added codes to go along with the client-side BFont functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 23:29:13 +00:00
DarkWyrm cd6f0b7869 Added codes to allow for initialization of system fonts
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 22:09:42 +00:00
Ingo Weinhold 5fa518561e Use new init_clipboard() function which initializes the global be_clipboard at libbe init time.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-13 00:50:26 +00:00
ejakowatz f936fa1261 A number of bug fixes. In particular:
-	only one byte was being used for total data length in a data field
	which had 'maxi' size data (total data > 255 bytes), rather than the
	correct four bytes.
-	Seem to have finally nailed the proper algorithm for calculating data
	item padding (four size bytes + bytes of data, padded to 8-byte
	boundary) in all places.
-	Was passing the address of the padding string, rather than the string
	itself, when writing out NULL padding bytes
-	Was incorrectly clearing the MSG_FLAG_MINI_DATA bit when the number of
	data items or the size of the largest data item exceeding 256 bytes.
	Bit is now cleared when total size of all item data (including size
	bytes and padding, if applicable) exceeds 256 bytes
-	Modified SizePolicy::Padding(const T&) to use calc_padding() from
	MessageUtils.h/.cpp
-	Added SizePolicy::Padding(const Store&) to calculate padding for data
	field's entire data store


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-02 21:35:28 +00:00
DarkWyrm 67e2a74dc6 Separated functionality of PortLink into LinkMsg* to avoid some *serious* code duplication
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 01:18:38 +00:00
DarkWyrm a3bd1e1ca5 Added class for requesting shared client-server memory
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-09 18:13:33 +00:00
DarkWyrm 601a55f349 Added message codes to support the soon-coming ServerMemIO class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 22:59:03 +00:00
ejakowatz 974d454507 Fixed bug. BMessageBody's assignment operator was making a generic copy of the map which maintains the data -- meaning only pointers to contained BMessageFields were being copied. Added Clone() operation to BMessageField and Copy() to BMessageFieldStoragePolicy, along with a specialization of BMessageFieldStoragePolicy for BDataBuffer; a straight copy of the vector is sufficient for all other data types. This fixes issues with BMessage unittests where BMessage, entry_ref, BFlattenable, and raw data are exercises.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-07 23:25:09 +00:00
ejakowatz 02043d35db Added calc_padding() convenience function for calculating how much padding to add to a buffer in order for it to fall on a specified byte boundary.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-07 23:06:32 +00:00
ejakowatz 72a804515c Fixed a couple of memory leaks and an incorrect index bounds check.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-24 23:54:02 +00:00
ejakowatz a7529effe6 Fixed potential memory leak. If user tried to add data of type X when we already had data of type Y with the same name, a new BMessageField of type Y would be created and added to the field map, leaving the old type X field orphaned.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-20 18:14:05 +00:00
DarkWyrm d0021b64bc Major API improvements by Pahtz
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-30 15:10:19 +00:00
Adi Oanca 19185de325 added AS_CLIENT_DEAD
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-19 10:13:08 +00:00