Commit Graph

35 Commits

Author SHA1 Message Date
Clemens Zeidler c0eff34541 Remove unused PortLinkRef again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-17 23:27:22 +00:00
Clemens Zeidler 38d80987f3 Add PortLinkRef class which use a existing sender and receiver for communication. Suggestion for a better name?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-17 06:12:30 +00:00
Axel Dörfler ec1bcf6243 * Added private methods get_app_server_port() (that stores the server port,
and doesn't have to find it every time), and create_desktop_connection() that
  is now used from BApplication::_ConnectToServer() as well as the DesktopLink.
* Move PortLink::SetTo() into base class ServerLink.
* Eliminated duplicated member fReplyPort in DesktopLink.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 07:53:09 +00:00
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 5234dfe1df Added the alternate ReadString() method to ServerLink as well.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-01 15:43:38 +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 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
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 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 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
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
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
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
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
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
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
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
shatty fe5cc7b493 add newline to end of file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-04-14 01:56:41 +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 781f2cb3d8 Added ReplyData destructor for easier reply handling
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-12 18:00:51 +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 c8563e149f Added newline to end of file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-07 17:27:15 +00:00
DarkWyrm c773cf76b7 Added new FlushWithReply method. Mostly tested
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-19 00:31:58 +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