AV/C Panel Subunit Specification 1.1 TA Document 2001001, May 8, 2001
Page 20 Copyright 2001, 1394 Trade Association. All rights reserved.
after GUI UPDATE with open subfunction is accepted and before the controller issues GUI UPDATE with
start subfunction.
The communication process starts with the controller sending the GUI UPDATE command with “start”
subfunction to the panel subunit to interact with the panel subunit. This command also indicates the
notification scope: a full or partial panel. The notification scope can be changed any time by issuing a new
GUI UPDATE command with “change” subfunction.
The PUSH GUI DATA command is a request for some specific GUI element(s). The target sends the
requested GUI information over the asynchronous connection. The controller starts accessing some or all of
the GUI data structures (panels, groups or GUI elements). The controller does this by first sending the GUI
request, i.e. PUSH GUI DATA command, to get the root panel, i.e. the first menu of the target, or some
GUI elements with the root panel. After getting the GUI data, the controller renders the GUI elements on
the display screen, and begins interacting with the user. Thereafter, the controller may:
1)
update the GUI representation that is being displayed to the user by a controller implementation-
dependent mechanism;
2) ask the target for more GUI elements using the PUSH GUI DATA; or
3)
send user action information to the target according to the contents of the GUI element and the
user input.
At any time after a controller has requested notification from the target, using the start subfunction of the
GUI UPDATE command, and before the controller cancels the notification, using the stop subfunction of
the GUI UPDATE command, the target may indicate the changed GUI element(s) to the controller. For
example, indicating that some aspect of the target’s internal state which is relevant to the user has changed.
The indication will be done by the target spontaneously sending GUI elements to the controller over the
asynchronous connection and will provide the controller with information about which parts of the target’s
GUI presentation have changed.
When the user operates the GUI element, the controller sends the user action by USER ACTION control
command to the panel subunit, and the USER ACTION control command is generally accepted. If one or
more GUI elements have been changed as a result of the user action, the panel subunit sends the changed
GUI element(s) to the controller over the asynchronous connection.
For example, a GUI button pressed by the user may attempt to place a target VCR into a “rewinding” mode
and the target may wish to indicate the success (or failure) of the command by sending a TEXT element
with an appropriate string value over asynchronous connection.
In this manner the user and the target device communicate with each other through a sequence of
commands and responses sent between the controller and the target, guided by the GUI data the controller
obtained from the target panel subunit.
When the controller stops interacting with a target, it sends a GUI UPDATE command with “stop”
subfunction to that target; this cancels ALL outstanding notification requests for that controller. The target
shall thereafter not send any changed GUI data to that controller and the controller shall not send any other
USER ACTION commands to that target. The controller may restart the interaction by sending another
GUI UPDATE command with “start” subfunction to the same target.
If there are no more interactions between the controller and the target and after “stop” subfunction is
accepted, the AC-CTR can issue DETACH_RELEASE subfunction in ASYNCHRONOUS
CONNECTION command to the target to close the asynchronous connection.
After the asynchronous connection between the controller and the target is broken, the controller sends a
GUI UPDATE command with “close” subfunction to that target; this cancels the controller’s ownership for