require_once("docutil.php"); page_head("Framework for separate GUIs"); echo " NOTE: the following is under development, and is currently available only with Unix core clients.
The BOINC core client provides a set of RPCs (remote procedure calls) for control and state interrogation. This will enable the development of GUI (graphical user interface) programs separately from the core client. This will make it easier to develop new GUIs, and will eliminate security issues related to having GUI code in the core client.
GUI programs connect to the core client by opening a TCP socket at port XXX. They can then do repeated RPCs over this connection.
The current RPCs are available:
";
list_start();
list_heading("Request message format", "Function");
list_item(
html_text("
Eventually we will add RPCs allowing the GUI to control the core client (e.g. to suspend and resume it, to attach or detach projects, etc.
The BOINC source code distribution includes files
gui_rpc_client.C
and gui_rpc_client.h
in the client directory.
These define a class GUI_RPC
that manages the establishment of the RPC pipe,
and that parses the returned XML into a data structure
from which the GUI can be generated.
The project gui_test.C
shows how to use this mechanism.
";
page_tail();
?>