Commit Graph
36 Commits
Author SHA1 Message Date
Axel Dörfler 1156138b2f Removed unused files like PortMessage.cpp/h and Session.cpp/h.
Renamed LinkMsgReceiver.h and LinkMsgSender.h to LinkReceiver.h and LinkSender.h like
the classes they contain.
Split up PortLink.cpp/h into ServerLink.cpp/h and PortLink.cpp/h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 12:55:20 +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
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 8829157fbf Moved headers around
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 20:40:29 +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 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
DarkWyrm c2f63fb50d Moved functionality of PortLink into LinkMsg* to avoid serious code duplication in the app_server
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 01:20:30 +00:00
DarkWyrm bceb8166d4 Added a function to the BPortLink debugging code
Made a couple of style tweaks to BApplication::connect_to_app_server


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-22 00:22:51 +00:00
DarkWyrm 3ceb31b96a Pahtz's changes from PortLink/BSession/PortMessage/PortQueue to BPortLink
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-30 15:15:27 +00:00
DarkWyrm 9a663361f2 Added a NULL pointer check. Eliminates a way to crash the app_server in just two keystrokes. :P
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 22:02:19 +00:00
DarkWyrm 768ec791c9 Plugged a memory leak (thanks Matthijs!)
Removed the use of malloc() -- deprecated
Deprecated PortLink::FlushToSession()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 13:38:08 +00:00
DarkWyrm 1e620294dd Reintegrated Bill Hayden's removal of malloc.h. Stupid me. :/
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-15 17:44:55 +00:00
DarkWyrm 539232f28e Removed a warning
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-12 01:22:01 +00:00
haydentech eca8c2bc73 malloc.h is obsolete, use stdlib.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-22 22:08:56 +00:00
Adi Oanca b0591ec204 added an new method to be able to port message sto a BSession handler
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-13 00:00:59 +00:00
haydentech f742072808 gcc 3 fix (no default args in implementation)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-30 22:52:34 +00:00
DarkWyrm 2e4c9e2113 Attachment data bugfixes related to fDataSize
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-14 00:22:30 +00:00
DarkWyrm 83f9647173 Updates to sync with (hopefully) final tweaks to messaging protocols
Implemented BSession::DropInputBuffer with code from Adi


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-13 23:34:12 +00:00
DarkWyrm 45799af7b5 Tweaked all messaging classes to comply with new message protocol policies
AppServerLink no longer inherits from BSession
Modified client files which talk to the server to sync with changes in messaging classes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-04 19:08:06 +00:00
DarkWyrm 591d280e6c Added PortMessage::ReadString and PortLink::AttachString to support BSession-style string attachments
Tweaks to startup code for BApplication
Tweaked PortQueue to utilize the BSession workaround for PortMessages
Tweaks to message protocol for BCursor


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-04 00:55:53 +00:00
DarkWyrm 8123b61c01 Eliminated a memory allocation bug
Added a sensible workaround for BSession message code packaging


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-03 23:28:46 +00:00
DarkWyrm b8b711a00d BSession no longer a parent class
Removed deprecated reply functions
Global protocol change - reply port attached last, not first
Still uses BSession-style messaging (msg code attached to buffer followed by attachement data)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-03 22:23:17 +00:00
Adi Oanca ae1338ef78 New PortLink implementation based on BSession
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-31 17:30:24 +00:00
shadow303 78cc8d1a5a Fix templates for PortMessage & PortLink.
Update BApplication for changes to PortLink


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-11 23:15:23 +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
shadow303 3bc6d6c59a gcc 3 fixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 21:10:14 +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
DarkWyrm c328988230 Effectively made Attach(*,size) a const function
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-21 13:09:22 +00:00
DarkWyrm 71c040584c FlushWithReply(ReplyData *) checks for non-NULL buffers - eliminates a memory leak
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-12 18:01:55 +00:00
DarkWyrm c51942ea6e Removed fixed attachment limit
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-06 22:24:45 +00:00
DarkWyrm fe517480c3 More testing and fixes. Removed an attachment bug.
Port capacity checking a compile-time option.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 00:17:22 +00:00
DarkWyrm 51c9c2f980 Added new FlushWithReply method and some error checking. Mostly tested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-19 00:30:49 +00:00
DarkWyrm 8d22950d01 API and stability improvements
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-30 22:34:20 +00:00
ejakowatz 52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00