Some clarifications to BInvoker docs.

This commit is contained in:
Adrien Destugues
2015-01-17 13:41:55 +01:00
parent 658f64c3f1
commit 412f030b0f
+22 -12
View File
@@ -103,10 +103,12 @@
You may pass \c NULL into \a message to delete the current message You may pass \c NULL into \a message to delete the current message
without replacing it. without replacing it.
When Invoke() is called, the message is sent to the designated BHandler When Invoke() is called without a specific message, a copy of the
known as the "target". The message is sent as a BMessage. The message is message given here is sent to the "target" BHandler. The message
not copied, rather ownership of the BMessage object is transferred to is sent as a BMessage.
the invoker.
BInvoker takes ownership of the BMessage object, so you must not delete
it yourself.
\since BeOS R3 \since BeOS R3
*/ */
@@ -128,7 +130,7 @@
\brief Returns the message's \c what data member. \brief Returns the message's \c what data member.
\note If a message has not been assigned to the invoker this method \note If a message has not been assigned to the invoker this method
returns \c NULL instead. returns \c 0 instead.
\since BeOS R3 \since BeOS R3
*/ */
@@ -138,6 +140,9 @@
\fn status_t BInvoker::SetTarget(BMessenger messenger) \fn status_t BInvoker::SetTarget(BMessenger messenger)
\brief Sets the invoker's target to \a messenger. \brief Sets the invoker's target to \a messenger.
A BMessenger target can be used to designate a remote handler (living
in another team).
\since BeOS R3 \since BeOS R3
*/ */
@@ -151,12 +156,10 @@
\note It is not necessary to specify both the \a handler and the \note It is not necessary to specify both the \a handler and the
\a looper, the unused parameter should be passed in as \c NULL. \a looper, the unused parameter should be passed in as \c NULL.
If given a \a handler, it must be attached to a BLooper. The message If given only a \a handler, it must already be attached to a BLooper.
is always sent to a BLooper which distributes the message to the
correct handler (which might be the \a looper itself).
The preferred handler, i.e. for a window, is the view that currently If given only a \a looper, the message will be sent to its preferred
has focus. handler (in the case of a BWindow that is the focused view).
\since BeOS R3 \since BeOS R3
*/ */
@@ -220,8 +223,11 @@
\fn status_t BInvoker::Invoke(BMessage* message) \fn status_t BInvoker::Invoke(BMessage* message)
\brief Sends the \a message to the invoker's target. \brief Sends the \a message to the invoker's target.
If \a message is \c NULL the message previously set on the invoker is sent If \a message is \c NULL the default message is sent instead. You can set
to the invoker's target instead. the default message using \a SetMessage or in the constructor.
This method also sends a B_CONTROL_INVOKED notification to handlers
which registered themselves using StartWatching
\since BeOS R3 \since BeOS R3
*/ */
@@ -236,7 +242,11 @@
of the invoker's handler will receive their expected notifications. of the invoker's handler will receive their expected notifications.
By default, \a kind is \c B_CONTROL_INVOKED, the same as sent by Invoke(). By default, \a kind is \c B_CONTROL_INVOKED, the same as sent by Invoke().
BInvoker does not send the notification itself, it is up to subclasses to
do that as needed.
\sa BLooper::StartWatching() \sa BLooper::StartWatching()
\sa BLooper::SendNotices()
\sa BHandler::NoticeChange() \sa BHandler::NoticeChange()
\since BeOS R5 \since BeOS R5