Commit Graph

112 Commits

Author SHA1 Message Date
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
DarkWyrm
c73fb70eb7 Minor header tweaks relating to the message buffer size
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 13:36:48 +00:00
DarkWyrm
0223e22e5a Janitorial work, mostly.
Removed SetMsgCode()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 12:55:42 +00:00
Adi Oanca
aed7bd673a added a method to be abele to post messages to a BSession handler
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-12 23:58:04 +00:00
Adi Oanca
46c1d3fef3 modified some methods to return 'void'
rendered BSession operationable, again...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-12 23:57:14 +00:00
DarkWyrm
018e96bd74 Fix for a data attachment bug
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-14 00:21:43 +00:00
DarkWyrm
fb7da50d34 Updates to sync with (hopefully) last messaging protocol tweaks
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-13 23:33:20 +00:00
Axel Dörfler
def04c5be3 Added missing newline.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-13 01:57:54 +00:00
DarkWyrm
836656bf86 API tweaks
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-10 02:33:38 +00:00
DarkWyrm
fe556d69c6 Added message code for getting UI colors as a ColorSet
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 23:48:14 +00:00
DarkWyrm
7507620c3a Tweaked all messaging classes to comply with new message protocol policies
AppServerLink no longer inherits from BSession


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-04 19:06:34 +00:00
DarkWyrm
9e6ef5ce51 Added PortMessage::ReadString and PortLink::AttachString to support BSession-style string-attachments
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-04 00:52:24 +00:00
DarkWyrm
e956d70682 Eliminated a memory-allocation bug
Added a sensible workaround for BSession message code packaging


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-03 23:28:05 +00:00
DarkWyrm
7b6beb9bde BSession is no longer a parent class
Removal of deprecated reply functions
Global protocol change - reply port is at the end of data, not the beginning
PortLink still uses the BSession messaging style


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-03 22:20:28 +00:00
DarkWyrm
5e69d02601 Moved BSession messaging code to ServerProtocol.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-03 00:02:19 +00:00
DarkWyrm
dba1a55db7 Added methods to get the sender and receiver ports
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-02 23:07:26 +00:00
DarkWyrm
594cf26a76 Conversion over to BSession API
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-02 01:01:45 +00:00
Adi Oanca
88ad98dca8 added support for UInts and a new function: DropInputBuffer() used for basic synchronization
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-25 12:11:37 +00:00
Adi Oanca
cb51da76c9 added an new message
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-25 12:10:41 +00:00
DarkWyrm
46d99be13c Added message codes for creating and deleting BCursors
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-17 18:34:53 +00:00
DarkWyrm
84d8b7c760 Added option to set cursor to the applicaiton's cursor
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-17 17:53:08 +00:00
DarkWyrm
f02718d110 Added message code for supporting the R5 decor easter egg
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-17 12:57:10 +00:00
Adi Oanca
f90fc6a679 PortLink now uses a fixed buffer. Its base class is.... BSession...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-31 17:21:49 +00:00
Adi Oanca
3bbe920498 Added some new messages that are needed by BView
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-31 17:20:51 +00:00
Adi Oanca
445114208c Header file for the new communication class: BSession - it will replace PortLink
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-31 17:20:07 +00:00
ejakowatz
0784fd8bde Fixed bugs in (un)flattening code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-29 22:32:22 +00:00
Ingo Weinhold
66abd4d0a6 Fixed a few warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-26 21:36:38 +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
shadow303
17e6de7a37 gcc 3 fixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-04 00:46:53 +00:00
DarkWyrm
5407fa5f84 Forgotten files. Oops. :P
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-25 15:30:18 +00:00
DarkWyrm
a72997e0d4 Changes to support system cursors
Moved cursor_which defs to a separate file


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-14 14:37:10 +00:00
shadow303
5c54c7191a Fix templates for PortLink & PortMessage
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-11 23:16:15 +00:00
shadow303
d1acc68a9d Templatize PortLink & PortMessage
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-11 01:49:58 +00:00
DarkWyrm
48326bef06 Added message codes for BWindow hook functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 20:20:35 +00:00
DarkWyrm
e76917c658 Added Read(int64*)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 20:13:23 +00:00
DarkWyrm
2a4311aea6 Added Read(bool*)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 17:41:44 +00:00
DarkWyrm
61480f2184 Simplified interface
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 16:51:51 +00:00
shadow303
c6decab16c Adjust message sizes for added view token
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 21:05:36 +00:00
shadow303
c6b1218b47 Make ReplyData public
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 21:04:37 +00:00
DarkWyrm
6b76dd01f5 Can get replies as PortMessages now
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-23 13:18:39 +00:00