82 | | There are some XML elements (like {{{<project>}}}, {{{<result>}}}, {{{<workunit>}}}, and {{{<app>}}}) that are common to many command replies. Such elements ~~are~~ will be documented in this section. |
83 | | |
84 | | The XML responses are relatively flat, and are parsed in one pass. The relationship between XML elements is determined by what was parsed before it, instead of based on the tree hierarchy like other XML formats do. For example, {{{<result>}}} elements that come ''after'' a particular {{{<project>}}} element are results that belong to that project. They won't be ''inside'' the {{{<project>}}} element. |
| 112 | |
| 113 | There are some XML elements (like `<project>`, `<result>`, `<workunit>`, and `<app>`) that are common to many command replies. Such elements will be documented in this section. |
| 114 | |
| 115 | The XML responses are relatively flat, and are parsed in one pass. The relationship between XML elements is determined by what was parsed before it, instead of based on the tree hierarchy like other XML formats do. For example, `<result>` elements that come after a particular `<project>` element are results that belong to that project. They won't be inside the `<project>` element. |
| 116 | |
| 117 | == Requests and Replies == |
| 118 | |
| 119 | These are the requests that can be issued to the client and the replies that are expected. The requests are placed between the opening and closing `<boinc_gui_rpc_request>` tags. The replies are described without the enclosing `<boinc_gui_rpc_reply>` tags. |
| 120 | *** |
| 121 | |
| 122 | * Requests not requiring authentication |
| 123 | * [exchange_versions](#exchange_versions) |
| 124 | * [get_all\_projects_list](#get_all_projects_list) |
| 125 | * [get_cc_status](#get_cc_status) |
| 126 | * [get_disk_usage](#get_disk_usage) |
| 127 | * [get_daily\_xfer_history](#get_daily_xfer_history) |
| 128 | * [get_file_transfers](#get_file_transfers) |
| 129 | * [get_host_info](#get_host_info) |
| 130 | * [get_messages](#get_messages) |
| 131 | * [get_message_count](#get_message_count) |
| 132 | * [get_newer_version](#get_newer_version) |
| 133 | * [get_notices_public](#get_notices_public) |
| 134 | * [get_old_results](#get_old_results) |
| 135 | * [get_project_status](#get_project_status) |
| 136 | * [get_results](#get_results) |
| 137 | * [get_screensaver_tasks](#get_screensaver_tasks) |
| 138 | * [get_simple\_gui_info](#get_simple_gui_info) |
| 139 | * [get_state](#get_state) |
| 140 | * [get_statistics](#get_statistics) |
| 141 | |
| 142 | * Requests requiring authentication |
| 143 | * [File transfer operations](#file-transfer-operations) |
| 144 | * [abort_file_transfer](#abort_file_transfer) |
| 145 | * [retry_file_transfer](#retry_file_transfer) |
| 146 | * [Task operations](#task-operations) |
| 147 | * [abort_result](#abort_result) |
| 148 | * [suspend_result](#suspend_result) |
| 149 | * [resume_result](#resume_result) |
| 150 | * [Project operations](#project-operations) |
| 151 | * [project_reset](#project_reset) |
| 152 | * [project_detach](#project_detach) |
| 153 | * [project_update](#project_update) |
| 154 | * [project_suspend](#project_suspend) |
| 155 | * [project_resume](#project_resume) |
| 156 | * [project_nomorework](#project_nomorework) |
| 157 | * [project_allowmorework](#project_allowmorework) |
| 158 | * [project_detach\_when_done](#project_detach_when_done) |
| 159 | * [project_dont\_detach\_when_done](#project_dont_detach_when_done) |
| 160 | * [project_attach](#project_attach) |
| 161 | * [project_attach_poll](#project_attach_poll) |
| 162 | * [get_project\_init_status](#get_project_init_status) |
| 163 | * [get_project_config](#get_project_config) |
| 164 | * [get_project\_config_poll](#get_project_config_poll) |
| 165 | * [Account operations](#account-operations) |
| 166 | * [create_account](#create_account) |
| 167 | * [create_account_poll](#create_account_poll) |
| 168 | * [lookup_account](#lookup_account) |
| 169 | * [lookup_account_poll](#lookup_account_poll) |
| 170 | * [Account Manager operations](#account-manager-operations) |
| 171 | * [acct_mgr_info](#acct_mgr_info) |
| 172 | * [acct_mgr_rpc](#acct_mgr_rpc) |
| 173 | * [acct_mgr\_rpc_poll](#acct_mgr_rpc_poll) |
| 174 | * [Global preferences operations](#global-preferences-operations) |
| 175 | * [get_global\_prefs_file](#get_global_prefs_file) |
| 176 | * [get_global\_prefs_override](#get_global_prefs_override) |
| 177 | * [set_global\_prefs_override](#set_global_prefs_override) |
| 178 | * [read_global\_prefs_override](#read_global_prefs_override) |
| 179 | * [get_global\_prefs_working](#get_global_prefs_working) |
| 180 | * [Other operations](#other-operations) |
| 181 | * [get_notices](#get_notices) |
| 182 | * [set_host_info](#set_host_info) |
| 183 | * [run_benchmarks](#run_benchmarks) |
| 184 | * [get_proxy_settings](#get_proxy_settings) |
| 185 | * [network_available](#network_available) |
| 186 | * [quit](#quit) |
| 187 | * [set_language](#set_language) |
| 188 | * [set_network_mode](#set_network_mode) |
| 189 | * [set_gpu_mode](#set_gpu_mode) |
| 190 | * [set_run_mode](#set_run_mode) |
| 191 | * [set_proxy_settings](#set_proxy_settings) |
| 192 | * [get_cc_config](#get_cc_config) |
| 193 | * [read_cc_config](#read_cc_config) |
| 194 | * [set_cc_config](#set_cc_config) |
| 195 | * [get_app_config](#get_app_config) |
| 196 | * [set_app_config](#set_app_config) |
| 197 | * [report_device_status](#report_device_status) |
| 198 | |
| 199 | |
| 200 | |
| 201 | |
| 202 | |
| 203 | === The following requests do not require local authorisation. === |
| 204 | --- |
| 205 | |
| 206 | |
| 207 | |
| 208 | ==== `exchange_versions` ==== |
| 209 | |
| 210 | Used to get the version of the running core client and send the version of the request's source. |
| 211 | |
| 212 | Request: |
| 213 | |
| 214 | {{{ |
| 215 | #!xml |
| 216 | <exchange_versions> |
| 217 | <major></major> |
| 218 | <minor></minor> |
| 219 | <release></release> |
| 220 | </exchange_versions> |
| 221 | }}} |
| 222 | The sending of the source's version is optional and a simple: |
| 223 | |
| 224 | {{{ |
| 225 | #!xml |
| 226 | </exchange_versions> |
| 227 | }}} |
| 228 | would suffice to get the version of the running core client. |
| 229 | |
| 230 | Reply: |
| 231 | |
| 232 | {{{ |
| 233 | #!xml |
| 234 | <server_version> |
| 235 | <major></major> |
| 236 | <minor></minor> |
| 237 | <release></release> |
| 238 | </server_version> |
| 239 | }}} |
| 240 | |
| 241 | |
| 242 | |
| 243 | ==== `get_all_projects_list` ==== |
| 244 | Used to get a list of all the projects as found in the all_projects_list.xml file. |
| 245 | |
| 246 | Request: |
| 247 | |
| 248 | {{{ |
| 249 | #!xml |
| 250 | <get_all_projects_list/> |
| 251 | }}} |
| 252 | |
| 253 | Reply: |
| 254 | |
| 255 | {{{ |
| 256 | #!xml |
| 257 | <?xml version="1.0" encoding="ISO-8859-1" ?> |
| 258 | <projects> |
| 259 | <project> |
| 260 | <name></name> |
| 261 | <url></url> |
| 262 | <general_area></general_area> |
| 263 | <specific_area></specific_area> |
| 264 | <description><![CDATA[]]></description> |
| 265 | <home></home> |
| 266 | <platforms> |
| 267 | <name></name> |
| 268 | <name></name> |
| 269 | <name></name> |
| 270 | . |
| 271 | . |
| 272 | . |
| 273 | </platforms> |
| 274 | <summary></summary> |
| 275 | </project> |
| 276 | . |
| 277 | . |
| 278 | . |
| 279 | </projects> |
| 280 | }}} |
| 281 | |
| 282 | |
| 283 | |
| 284 | ==== `get_cc_status` ==== |
| 285 | Show CPU/GPU/network run modes and network connection status (version 6.12+) |
| 286 | |
| 287 | Request: |
| 288 | |
| 289 | {{{ |
| 290 | #!xml |
| 291 | <get_cc_status/> |
| 292 | }}} |
| 293 | |
| 294 | Reply: |
| 295 | |
| 296 | {{{ |
| 297 | #!xml |
| 298 | <cc_status> |
| 299 | <network_status></network_status> |
| 300 | <ams_password_error></ams_password_error> |
| 301 | <task_suspend_reason></task_suspend_reason> |
| 302 | <task_mode></task_mode> |
| 303 | <task_mode_perm></task_mode_perm> |
| 304 | <task_mode_delay></task_mode_delay> |
| 305 | <gpu_suspend_reason></gpu_suspend_reason> |
| 306 | <gpu_mode></gpu_mode> |
| 307 | <gpu_mode_perm></gpu_mode_perm> |
| 308 | <gpu_mode_delay></gpu_mode_delay> |
| 309 | <network_suspend_reason></network_suspend_reason> |
| 310 | <network_mode></network_mode> |
| 311 | <network_mode_perm></network_mode_perm> |
| 312 | <network_mode_delay></network_mode_delay> |
| 313 | <disallow_attach></disallow_attach> |
| 314 | <simple_gui_only></simple_gui_only> |
| 315 | <max_event_log_lines></max_event_log_lines> |
| 316 | </cc_status> |
| 317 | }}} |
| 318 | |
| 319 | |
| 320 | ==== `get_disk_usage` ==== |
| 321 | Show disk usage by project |
| 322 | |
| 323 | Request: |
| 324 | |
| 325 | {{{ |
| 326 | #!xml |
| 327 | <get_disk_usage/> |
| 328 | }}} |
| 329 | |
| 330 | Reply: |
| 331 | |
| 332 | {{{ |
| 333 | #!xml |
| 334 | <disk_usage_summary> |
| 335 | <project> |
| 336 | <master_url></master_url> |
| 337 | <disk_usage></disk_usage> |
| 338 | </project> |
| 339 | <d_total></d_total> |
| 340 | <d_free></d_free> |
| 341 | <d_boinc></d_boinc> |
| 342 | <d_allowed></d_allowed> |
| 343 | </disk_usage_summary> |
| 344 | }}} |
| 345 | |
| 346 | |
| 347 | ==== `get_daily_xfer_history` ==== |
| 348 | Show network traffic history of the BOINC client. Read from daily_xfer\_history.xml |
| 349 | |
| 350 | Request: |
| 351 | {{{ |
| 352 | #!xml |
| 353 | <get_daily_xfer_history/> |
| 354 | }}} |
| 355 | |
| 356 | Reply: |
| 357 | |
| 358 | {{{ |
| 359 | #!xml |
| 360 | <daily_xfers> |
| 361 | <dx> |
| 362 | <when></when> |
| 363 | <up></up> |
| 364 | <down></down> |
| 365 | </dx> |
| 366 | . |
| 367 | . |
| 368 | . |
| 369 | </daily_xfers> |
| 370 | }}} |
| 371 | |
| 372 | |
| 373 | ==== `get_file_transfers` ==== |
| 374 | Show all current file transfers |
| 375 | |
| 376 | Request: |
| 377 | {{{ |
| 378 | #!xml |
| 379 | <get_file_transfers/> |
| 380 | }}} |
| 381 | |
| 382 | Reply: |
| 383 | {{{ |
| 384 | #!xml |
| 385 | <file_transfers> |
| 386 | <file_transfer> |
| 387 | <project_url></project_url> |
| 388 | <project_name></project_name> |
| 389 | <name></name> |
| 390 | <nbytes></nbytes> |
| 391 | <max_nbytes></max_nbytes> |
| 392 | <status></status> |
| 393 | <persistent_file_xfer> |
| 394 | <num_retries></num_retries> |
| 395 | <first_request_time></first_request_time> |
| 396 | <next_request_time></next_request_time> |
| 397 | <time_so_far></time_so_far> |
| 398 | <last_bytes_xferred></last_bytes_xferred> |
| 399 | <is_upload></is_upload> |
| 400 | </persistent_file_xfer> |
| 401 | <file_xfer> |
| 402 | <bytes_xferred></bytes_xferred> |
| 403 | <file_offset></file_offset> |
| 404 | <xfer_speed></xfer_speed> |
| 405 | <url></url> |
| 406 | </file_xfer> |
| 407 | </file_transfer> |
| 408 | . |
| 409 | . |
| 410 | . |
| 411 | </file_transfers> |
| 412 | }}} |
| 413 | |
| 414 | |
| 415 | |
| 416 | ==== `get_host_info` ==== |
| 417 | Get information about host hardware and usage |
| 418 | |
| 419 | Request: |
| 420 | {{{ |
| 421 | #!xml |
| 422 | <get_host_info/> |
| 423 | }}} |
| 424 | |
| 425 | Reply: |
| 426 | |
| 427 | {{{ |
| 428 | #!xml |
| 429 | <host_info> |
| 430 | <timezone></timezone> |
| 431 | <domain_name></domain_name> |
| 432 | <ip_addr></ip_addr> |
| 433 | <host_cpid></host_cpid> |
| 434 | <p_ncpus></p_ncpus> |
| 435 | <p_vendor></p_vendor> |
| 436 | <p_model></p_model> |
| 437 | <p_features></p_features> |
| 438 | <p_fpops></p_fpops> |
| 439 | <p_iops></p_iops> |
| 440 | <p_membw></p_membw> |
| 441 | <p_calculated></p_calculated> |
| 442 | <p_vm_extensions_disabled></p_vm_extensions_disabled> |
| 443 | <m_nbytes></m_nbytes> |
| 444 | <m_cache></m_cache> |
| 445 | <m_swap></m_swap> |
| 446 | <d_total></d_total> |
| 447 | <d_free></d_free> |
| 448 | <os_name></os_name> |
| 449 | <os_version></os_version> |
| 450 | <product_name></product_name> |
| 451 | <virtualbox_version></virtualbox_version> |
| 452 | <coprocs> |
| 453 | <coproc_intel_gpu> |
| 454 | <count></count> |
| 455 | <name></name> |
| 456 | <available_ram></available_ram> |
| 457 | <have_opencl></have_opencl> |
| 458 | <peak_flops></peak_flops> |
| 459 | <version></version> |
| 460 | <coproc_opencl> |
| 461 | <name></name> |
| 462 | <vendor></vendor> |
| 463 | <vendor_id></vendor_id> |
| 464 | <available></available> |
| 465 | <half_fp_config></half_fp_config> |
| 466 | <single_fp_config></single_fp_config> |
| 467 | <double_fp_config></double_fp_config> |
| 468 | <endian_little></endian_little> |
| 469 | <execution_capabilities></execution_capabilities> |
| 470 | <extensions></extensions> |
| 471 | <global_mem_size></global_mem_size> |
| 472 | <local_mem_size></local_mem_size> |
| 473 | <max_clock_frequency></max_clock_frequency> |
| 474 | <max_compute_units></max_compute_units> |
| 475 | <nv_compute_capability_major></nv_compute_capability_major> |
| 476 | <nv_compute_capability_minor></nv_compute_capability_minor> |
| 477 | <amd_simd_per_compute_unit></amd_simd_per_compute_unit> |
| 478 | <amd_simd_width></amd_simd_width> |
| 479 | <amd_simd_instruction_width></amd_simd_instruction_width> |
| 480 | <opencl_platform_version></opencl_platform_version> |
| 481 | <opencl_device_version></opencl_device_version> |
| 482 | <opencl_driver_version></opencl_driver_version> |
| 483 | </coproc_opencl> |
| 484 | </coproc_intel_gpu> |
| 485 | </coprocs> |
| 486 | <opencl_cpu_prop> |
| 487 | <platform_vendor></platform_vendor> |
| 488 | <opencl_cpu_info> |
| 489 | <name></name> |
| 490 | <vendor></vendor> |
| 491 | <vendor_id></vendor_id> |
| 492 | <available></available> |
| 493 | <half_fp_config></half_fp_config> |
| 494 | <single_fp_config></single_fp_config> |
| 495 | <double_fp_config></double_fp_config> |
| 496 | <endian_little></endian_little> |
| 497 | <execution_capabilities></execution_capabilities> |
| 498 | <extensions></extensions> |
| 499 | <global_mem_size></global_mem_size> |
| 500 | <local_mem_size></local_mem_size> |
| 501 | <max_clock_frequency></max_clock_frequency> |
| 502 | <max_compute_units></max_compute_units> |
| 503 | <nv_compute_capability_major></nv_compute_capability_major> |
| 504 | <nv_compute_capability_minor></nv_compute_capability_minor> |
| 505 | <amd_simd_per_compute_unit></amd_simd_per_compute_unit> |
| 506 | <amd_simd_width></amd_simd_width> |
| 507 | <amd_simd_instruction_width></amd_simd_instruction_width> |
| 508 | <opencl_platform_version></opencl_platform_version> |
| 509 | <opencl_device_version></opencl_device_version> |
| 510 | <opencl_driver_version></opencl_driver_version> |
| 511 | </opencl_cpu_info> |
| 512 | </opencl_cpu_prop> |
| 513 | </host_info> |
| 514 | }}} |
| 515 | |
| 516 | |
| 517 | ==== `get_messages` ==== |
| 518 | Show messages with sequence numbers beyond the given `seqno` |
| 519 | |
| 520 | Request: |
| 521 | |
| 522 | }}}`XML |
| 523 | <get_messages> |
| 524 | <seqno></seqno> |
| 525 | <translatable/> |
| 526 | </get_messages> |
| 527 | }}}` |
| 528 | The `<translatable/>` tag is optional. |
| 529 | |
| 530 | Reply: |
| 531 | |
| 532 | {{{ |
| 533 | #!xml |
| 534 | <msgs> |
| 535 | <msg> |
| 536 | <project></project> |
| 537 | <pri></pri> |
| 538 | <seqno></seqno> |
| 539 | <body><![CDATA[]]></body> |
| 540 | <time></time> |
| 541 | </msg> |
| 542 | . |
| 543 | . |
| 544 | . |
| 545 | </msgs> |
| 546 | }}} |
| 547 | |
| 548 | |
| 549 | |
| 550 | ==== `get_message_count` ==== |
| 551 | |
| 552 | Show largest message seqno |
| 553 | |
| 554 | Request: |
| 555 | |
| 556 | {{{ |
| 557 | #!xml |
| 558 | <get_message_count/> |
| 559 | }}} |
| 560 | |
| 561 | Reply: |
| 562 | |
| 563 | {{{ |
| 564 | #!xml |
| 565 | <seqno></seqno> |
| 566 | }}} |
| 567 | |
| 568 | |
| 569 | |
| 570 | ==== `get_newer_version` ==== |
| 571 | Get newer version number, if any, and download url |
| 572 | |
| 573 | Request: |
| 574 | |
| 575 | {{{ |
| 576 | #!xml |
| 577 | <get_newer_version/> |
| 578 | }}} |
| 579 | |
| 580 | Reply: |
| 581 | |
| 582 | {{{ |
| 583 | #!xml |
| 584 | <newer_version></newer_version> |
| 585 | <download_url></download_url> |
| 586 | }}} |
| 587 | |
| 588 | |
| 589 | ==== `get_notices_public` ==== |
| 590 | Returns only non-private notices, doesn't require authentication |
| 591 | |
| 592 | Request: |
| 593 | |
| 594 | {{{ |
| 595 | #!xml |
| 596 | <get_notices_public> |
| 597 | <seqno></seqno> |
| 598 | </get_notices_public> |
| 599 | }}} |
| 600 | |
| 601 | Reply: |
| 602 | |
| 603 | {{{ |
| 604 | #!xml |
| 605 | <notices> |
| 606 | <notice> |
| 607 | <title></title> |
| 608 | <description><![CDATA[]]></description> |
| 609 | <create_time></create_time> |
| 610 | <arrival_time></arrival_time> |
| 611 | <is_private></is_private> |
| 612 | <project_name></project_name> |
| 613 | <category></category> |
| 614 | <link></link> |
| 615 | <seqno></seqno> |
| 616 | </notice> |
| 617 | . |
| 618 | . |
| 619 | . |
| 620 | </notices> |
| 621 | }}} |
| 622 | |
| 623 | |
| 624 | ==== `get_old_results` ==== |
| 625 | Show old tasks |
| 626 | |
| 627 | Request: |
| 628 | |
| 629 | {{{ |
| 630 | #!xml |
| 631 | <get_old_results/> |
| 632 | }}} |
| 633 | |
| 634 | Reply: |
| 635 | |
| 636 | {{{ |
| 637 | #!xml |
| 638 | <old_results> |
| 639 | <old_result> |
| 640 | <project_url></project_url> |
| 641 | <result_name></result_name> |
| 642 | <app_name></app_name> |
| 643 | <exit_status></exit_status> |
| 644 | <elapsed_time></elapsed_time> |
| 645 | <cpu_time></cpu_time> |
| 646 | <completed_time></completed_time> |
| 647 | <create_time></create_time> |
| 648 | </old_result> |
| 649 | . |
| 650 | . |
| 651 | . |
| 652 | </old_results> |
| 653 | }}} |
| 654 | |
| 655 | |
| 656 | ==== `get_project_status` ==== |
| 657 | Show status of all attached projects |
| 658 | |
| 659 | Request: |
| 660 | |
| 661 | {{{ |
| 662 | #!xml |
| 663 | <get_project_status/> |
| 664 | }}} |
| 665 | Reply: |
| 666 | |
| 667 | {{{ |
| 668 | #!xml |
| 669 | <projects> |
| 670 | <project> |
| 671 | <master_url></master_url> |
| 672 | <project_name></project_name> |
| 673 | <symstore></symstore> |
| 674 | <user_name></user_name> |
| 675 | <team_name></team_name> |
| 676 | <host_venue></host_venue> |
| 677 | <email_hash></email_hash> |
| 678 | <cross_project_id></cross_project_id> |
| 679 | <external_cpid></external_cpid> |
| 680 | <cpid_time></cpid_time> |
| 681 | <user_total_credit></user_total_credit> |
| 682 | <user_expavg_credit></user_expavg_credit> |
| 683 | <user_create_time></user_create_time> |
| 684 | <rpc_seqno></rpc_seqno> |
| 685 | <userid></userid> |
| 686 | <teamid></teamid> |
| 687 | <hostid></hostid> |
| 688 | <host_total_credit></host_total_credit> |
| 689 | <host_expavg_credit></host_expavg_credit> |
| 690 | <host_create_time></host_create_time> |
| 691 | <nrpc_failures></nrpc_failures> |
| 692 | <master_fetch_failures></master_fetch_failures> |
| 693 | <min_rpc_time></min_rpc_time> |
| 694 | <next_rpc_time></next_rpc_time> |
| 695 | <rec></rec> |
| 696 | <rec_time></rec_time> |
| 697 | <resource_share></resource_share> |
| 698 | <desired_disk_usage></desired_disk_usage> |
| 699 | <duration_correction_factor></duration_correction_factor> |
| 700 | <sched_rpc_pending></sched_rpc_pending> |
| 701 | <send_time_stats_log></send_time_stats_log> |
| 702 | <send_job_log></send_job_log> |
| 703 | <njobs_success></njobs_success> |
| 704 | <njobs_error></njobs_error> |
| 705 | <elapsed_time></elapsed_time> |
| 706 | <last_rpc_time></last_rpc_time> |
| 707 | |
| 708 | (<anonymous_platform/>) |
| 709 | (<master_url_fetch_pending/>) |
| 710 | (<trickle_up_pending/>) |
| 711 | (<send_full_workload/>) |
| 712 | (<dont_use_dcf/>) |
| 713 | (<non_cpu_intensive/>) |
| 714 | (<verify_files_on_app_start/>) |
| 715 | (<suspended_via_gui/>) |
| 716 | (<dont_request_more_work/>) |
| 717 | (<detach_when_done/>) |
| 718 | (<ended/>) |
| 719 | (<attached_via_acct_mgr/>) |
| 720 | (<scheduler_rpc_in_progress/>) |
| 721 | (<use_symlinks/>) |
| 722 | |
| 723 | <rsc_backoff_time> |
| 724 | <name>intel_gpu</name> |
| 725 | <value></value> |
| 726 | </rsc_backoff_time> |
| 727 | <rsc_backoff_interval> |
| 728 | <name></name> |
| 729 | <value></value> |
| 730 | </rsc_backoff_interval> |
| 731 | . |
| 732 | . |
| 733 | . |
| 734 | <no_rsc_ams></no_rsc_ams> |
| 735 | <no_rsc_apps></no_rsc_apps> |
| 736 | <no_rsc_pref></no_rsc_pref> |
| 737 | <no_rsc_config></no_rsc_config> |
| 738 | <ams_resource_share_new></ams_resource_share_new> |
| 739 | <gui_urls> |
| 740 | <gui_url> |
| 741 | <name></name> |
| 742 | <description></description> |
| 743 | <url></url> |
| 744 | </gui_url> |
| 745 | . |
| 746 | . |
| 747 | . |
| 748 | </gui_urls> |
| 749 | <sched_priority></sched_priority> |
| 750 | <project_files_downloaded_time></project_files_downloaded_time> |
| 751 | <download_backoff></download_backoff> |
| 752 | <upload_backoff></upload_backoff> |
| 753 | <venue></venue> |
| 754 | <project_dir></project_dir> |
| 755 | <scheduler_url></scheduler_url> |
| 756 | <code_sign_key></code_sign_key> |
| 757 | <trickle_up_url></trickle_up_url> |
| 758 | <cpu_ec></cpu_ec> |
| 759 | <cpu_time></cpu_time> |
| 760 | <gpu_ec></gpu_ec> |
| 761 | <gpu_time></gpu_time> |
| 762 | </project> |
| 763 | . |
| 764 | . |
| 765 | . |
| 766 | </projects> |
| 767 | }}} |
| 768 | |
| 769 | |
| 770 | ==== `get_results` ==== |
| 771 | Show tasks |
| 772 | |
| 773 | Request: |
| 774 | |
| 775 | {{{ |
| 776 | #!xml |
| 777 | <get_results> |
| 778 | <active_only></active_only> |
| 779 | </get_results> |
| 780 | }}} |
| 781 | |
| 782 | Reply: |
| 783 | |
| 784 | {{{ |
| 785 | #!xml |
| 786 | <results> |
| 787 | <result> |
| 788 | <name></name> |
| 789 | <wu_name></wu_name> |
| 790 | <platform></platform> |
| 791 | <version_num></version_num> |
| 792 | <plan_class></plan_class> |
| 793 | <project_url></project_url> |
| 794 | <final_cpu_time></final_cpu_time> |
| 795 | <final_elapsed_time></final_elapsed_time> |
| 796 | <exit_status></exit_status> |
| 797 | <state></state> |
| 798 | <report_deadline></report_deadline> |
| 799 | <received_time></received_time> |
| 800 | <estimated_cpu_time_remaining></estimated_cpu_time_remaining> |
| 801 | <project_suspended_via_gui/> |
| 802 | <report_immediately/> |
| 803 | <active_task> |
| 804 | <active_task_state></active_task_state> |
| 805 | <app_version_num></app_version_num> |
| 806 | <slot></slot> |
| 807 | <pid></pid> |
| 808 | <scheduler_state></scheduler_state> |
| 809 | <checkpoint_cpu_time></checkpoint_cpu_time> |
| 810 | <fraction_done></fraction_done> |
| 811 | <current_cpu_time></current_cpu_time> |
| 812 | <elapsed_time></elapsed_time> |
| 813 | <swap_size></swap_size> |
| 814 | <working_set_size></working_set_size> |
| 815 | <working_set_size_smoothed></working_set_size_smoothed> |
| 816 | <page_fault_rate></page_fault_rate> |
| 817 | <bytes_sent></bytes_sent> |
| 818 | <bytes_received></bytes_received> |
| 819 | <progress_rate></progress_rate> |
| 820 | </active_task> |
| 821 | . |
| 822 | . |
| 823 | . |
| 824 | <resources></resources> |
| 825 | </result> |
| 826 | . |
| 827 | . |
| 828 | . |
| 829 | </results> |
| 830 | }}} |
| 831 | |
| 832 | |
| 833 | |
| 834 | ==== `get_screensaver_tasks` ==== |
| 835 | Show suspend reason and active tasks |
| 836 | |
| 837 | Request: |
| 838 | |
| 839 | {{{ |
| 840 | #!xml |
| 841 | <get_screensaver_tasks/> |
| 842 | }}} |
| 843 | |
| 844 | Reply: |
| 845 | |
| 846 | {{{ |
| 847 | #!xml |
| 848 | <handle_get_screensaver_tasks> |
| 849 | <suspend_reason></suspend_reason> |
| 850 | <active_task> |
| 851 | <active_task_state></active_task_state> |
| 852 | <app_version_num></app_version_num> |
| 853 | <slot></slot> |
| 854 | <pid></pid> |
| 855 | <scheduler_state></scheduler_state> |
| 856 | <checkpoint_cpu_time></checkpoint_cpu_time> |
| 857 | <fraction_done></fraction_done> |
| 858 | <current_cpu_time></current_cpu_time> |
| 859 | <elapsed_time></elapsed_time> |
| 860 | <swap_size></swap_size> |
| 861 | <working_set_size></working_set_size> |
| 862 | <working_set_size_smoothed></working_set_size_smoothed> |
| 863 | <page_fault_rate></page_fault_rate> |
| 864 | <bytes_sent></bytes_sent> |
| 865 | <bytes_received></bytes_received> |
| 866 | <progress_rate></progress_rate> |
| 867 | </active_task> |
| 868 | . |
| 869 | . |
| 870 | . |
| 871 | </handle_get_screensaver_tasks> |
| 872 | }}} |
| 873 | |
| 874 | |
| 875 | |
| 876 | ==== `get_simple_gui_info` ==== |
| 877 | Show status of projects and active tasks |
| 878 | |
| 879 | Request: |
| 880 | |
| 881 | {{{ |
| 882 | #!xml |
| 883 | <get_simple_gui_info/> |
| 884 | }}} |
| 885 | |
| 886 | Reply: |
| 887 | |
| 888 | {{{ |
| 889 | #!xml |
| 890 | <simple_gui_info> |
| 891 | <project> |
| 892 | . |
| 893 | . |
| 894 | . |
| 895 | </project> |
| 896 | <result> |
| 897 | . |
| 898 | . |
| 899 | . |
| 900 | </result> |
| 901 | </simple_gui_info> |
| 902 | }}} |
| 903 | |
| 904 | |
| 905 | |
| 906 | ==== `get_state` ==== |
| 907 | Get the entire state |
| 908 | |
| 909 | Request: |
| 910 | |
| 911 | {{{ |
| 912 | #!xml |
| 913 | <get_state/> |
| 914 | }}} |
| 915 | |
| 916 | Reply: |
| 917 | |
| 918 | {{{ |
| 919 | #!xml |
| 920 | <client_state> |
| 921 | <host_info> |
| 922 | </host_info> |
| 923 | <net_stats> |
| 924 | </net_stats> |
| 925 | <time_stats> |
| 926 | </time_stats> |
| 927 | <project> |
| 928 | </project> |
| 929 | . |
| 930 | . |
| 931 | . |
| 932 | <app> |
| 933 | </app> |
| 934 | . |
| 935 | . |
| 936 | . |
| 937 | <app_version> |
| 938 | </app_version> |
| 939 | . |
| 940 | . |
| 941 | . |
| 942 | <workunit> |
| 943 | </workunit> |
| 944 | . |
| 945 | . |
| 946 | . |
| 947 | <result> |
| 948 | <active_task> |
| 949 | </active_task> |
| 950 | </result> |
| 951 | . |
| 952 | . |
| 953 | . |
| 954 | platform_name></platform_name> |
| 955 | <core_client_major_version></core_client_major_version> |
| 956 | <core_client_minor_version></core_client_minor_version> |
| 957 | <core_client_release></core_client_release> |
| 958 | <executing_as_daemon></executing_as_daemon> |
| 959 | <platform></platform> |
| 960 | <global_preferences> |
| 961 | . |
| 962 | . |
| 963 | . |
| 964 | </global_preferences> |
| 965 | </client_state> |
| 966 | }}} |
| 967 | |
| 968 | |
| 969 | |
| 970 | ==== `get_statistics` ==== |
| 971 | Get statistics for the projects the client is attached to |
| 972 | |
| 973 | Request: |
| 974 | |
| 975 | {{{ |
| 976 | #!xml |
| 977 | <get_statistics/> |
| 978 | }}} |
| 979 | |
| 980 | Reply: |
| 981 | |
| 982 | {{{ |
| 983 | #!xml |
| 984 | <statistics> |
| 985 | <project_statistics> |
| 986 | <master_url></master_url> |
| 987 | <daily_statistics> |
| 988 | <day></day> |
| 989 | <user_total_credit></user_total_credit> |
| 990 | <user_expavg_credit></user_expavg_credit> |
| 991 | <host_total_credit></host_total_credit> |
| 992 | <host_expavg_credit></host_expavg_credit> |
| 993 | </daily_statistics> |
| 994 | . |
| 995 | . |
| 996 | . |
| 997 | </project_statistics> |
| 998 | . |
| 999 | . |
| 1000 | . |
| 1001 | </statistics> |
| 1002 | }}} |
| 1003 | |
| 1004 | |
| 1005 | --- |
| 1006 | === The following requests require local authentication === |
| 1007 | |
| 1008 | |
| 1009 | In this section the replies fall in one of three categories. For requests that retrieve data the replies depend on the kind of data that is retrieved. For _control of the client_ operations they are either: |
| 1010 | |
| 1011 | {{{ |
| 1012 | #!xml |
| 1013 | <success/> |
| 1014 | }}} |
| 1015 | |
| 1016 | upon a successful request, or: |
| 1017 | |
| 1018 | {{{ |
| 1019 | #!xml |
| 1020 | <error>human-readable error message</error> |
| 1021 | }}} |
| 1022 | |
| 1023 | upon an unsuccessful request. |
| 1024 | |
| 1025 | If the request retrieves data the reply will be documented. |
| 1026 | Otherwise only requests will be documented. |
| 1027 | |
| 1028 | See also ( [Common Replies](#common-replies) ) |
| 1029 | |
| 1030 | |
| 1031 | |
| 1032 | |
| 1033 | === File transfer operations === |
| 1034 | --- |
| 1035 | |
| 1036 | ==== `abort_file_transfer` ==== |
| 1037 | Abort a pending file transfer |
| 1038 | |
| 1039 | Request: |
| 1040 | |
| 1041 | {{{ |
| 1042 | #!xml |
| 1043 | <abort_file_transfer> |
| 1044 | <project_url></project_url> |
| 1045 | <filename></filename> |
| 1046 | </abort_file_transfer> |
| 1047 | }}} |
| 1048 | |
| 1049 | |
| 1050 | ==== `retry_file_transfer` ==== |
| 1051 | Retry a file transfer (Client will need temporary network access) |
| 1052 | |
| 1053 | Request: |
| 1054 | |
| 1055 | {{{ |
| 1056 | #!xml |
| 1057 | <retry_file_transfer> |
| 1058 | <project_url></project_url> |
| 1059 | <filename></filename> |
| 1060 | </retry_file_transfer> |
| 1061 | }}} |
| 1062 | |
| 1063 | |
| 1064 | |
| 1065 | |
| 1066 | === Task operations === |
| 1067 | --- |
| 1068 | ==== `abort_result` ==== |
| 1069 | Abort a task |
| 1070 | |
| 1071 | Request: |
| 1072 | |
| 1073 | {{{ |
| 1074 | #!xml |
| 1075 | <abort_result> |
| 1076 | <project_url></project_url> |
| 1077 | <name></name> |
| 1078 | </abort_result> |
| 1079 | }}} |
| 1080 | |
| 1081 | |
| 1082 | ==== `suspend_result` ==== |
| 1083 | Suspend a running task (Note: Even if a task is already suspended the request will return success) |
| 1084 | |
| 1085 | Request: |
| 1086 | |
| 1087 | {{{ |
| 1088 | #!xml |
| 1089 | <suspend_result> |
| 1090 | <project_url></project_url> |
| 1091 | <name></name> |
| 1092 | </suspend_result> |
| 1093 | }}} |
| 1094 | |
| 1095 | |
| 1096 | ==== `resume_result` ==== |
| 1097 | Resume a suspended task (Note: Even if a task is already running the request will return success) |
| 1098 | |
| 1099 | Request: |
| 1100 | |
| 1101 | {{{ |
| 1102 | #!xml |
| 1103 | <resume_result> |
| 1104 | <project_url></project_url> |
| 1105 | <name></name> |
| 1106 | </resume_result> |
| 1107 | }}} |
| 1108 | |
| 1109 | |
| 1110 | |
| 1111 | === Project operations === |
| 1112 | --- |
| 1113 | |
| 1114 | |
| 1115 | ==== `project_reset` ==== |
| 1116 | Reset a project (Client will need temporary network access) |
| 1117 | |
| 1118 | Request: |
| 1119 | |
| 1120 | {{{ |
| 1121 | #!xml |
| 1122 | <project_reset> |
| 1123 | <project_url></project_url> |
| 1124 | </project_reset> |
| 1125 | }}} |
| 1126 | |
| 1127 | |
| 1128 | ==== `project_detach` ==== |
| 1129 | Detach from a project |
| 1130 | |
| 1131 | Request: |
| 1132 | |
| 1133 | {{{ |
| 1134 | #!xml |
| 1135 | <project_detach> |
| 1136 | <project_url></project_url> |
| 1137 | </project_detach> |
| 1138 | }}} |
| 1139 | |
| 1140 | |
| 1141 | ==== `project_update` ==== |
| 1142 | Update a project (Client will need temporary network access) |
| 1143 | |
| 1144 | Request: |
| 1145 | |
| 1146 | {{{ |
| 1147 | #!xml |
| 1148 | <project_update> |
| 1149 | <project_url></project_url> |
| 1150 | </project_update> |
| 1151 | }}} |
| 1152 | |
| 1153 | |
| 1154 | ==== `project_suspend` ==== |
| 1155 | Suspend a project |
| 1156 | |
| 1157 | Request: |
| 1158 | |
| 1159 | {{{ |
| 1160 | #!xml |
| 1161 | <project_suspend> |
| 1162 | <project_url></project_url> |
| 1163 | </project_suspend> |
| 1164 | }}} |
| 1165 | |
| 1166 | |
| 1167 | ==== `project_resume` ==== |
| 1168 | Resume a project |
| 1169 | |
| 1170 | Request: |
| 1171 | |
| 1172 | {{{ |
| 1173 | #!xml |
| 1174 | <project_resume> |
| 1175 | <project_url></project_url> |
| 1176 | </project_resume> |
| 1177 | }}} |
| 1178 | |
| 1179 | |
| 1180 | ==== `project_nomorework` ==== |
| 1181 | Stop getting new tasks for a project |
| 1182 | |
| 1183 | Request: |
| 1184 | |
| 1185 | {{{ |
| 1186 | #!xml |
| 1187 | <project_nomorework> |
| 1188 | <project_url></project_url> |
| 1189 | </project_nomorework> |
| 1190 | }}} |
| 1191 | |
| 1192 | |
| 1193 | ==== `project_allowmorework` ==== |
| 1194 | Receive new tasks for a project. Reverse `project_nomorework`. |
| 1195 | |
| 1196 | Request: |
| 1197 | |
| 1198 | {{{ |
| 1199 | #!xml |
| 1200 | <project_allowmorework> |
| 1201 | <project_url></project_url> |
| 1202 | </project_allowmorework> |
| 1203 | }}} |
| 1204 | |
| 1205 | |
| 1206 | ==== `project_detach_when_done` ==== |
| 1207 | Detach from a project after all it's tasks are finished. |
| 1208 | |
| 1209 | Request: |
| 1210 | |
| 1211 | {{{ |
| 1212 | #!xml |
| 1213 | <project_detach_when_done> |
| 1214 | <project_url></project_url> |
| 1215 | </project_detach_ahen_done> |
| 1216 | }}} |
| 1217 | |
| 1218 | ==== `project_dont_detach_when_done` ==== |
| 1219 | Don't detach from a project after all it's tasks are finished. Reverse `project_detach_when_done` |
| 1220 | |
| 1221 | Request: |
| 1222 | |
| 1223 | {{{ |
| 1224 | #!xml |
| 1225 | <project_dont_detach_when_done> |
| 1226 | <project_url></project_url> |
| 1227 | </project_dont_detach_ahen_done> |
| 1228 | }}} |
| 1229 | |
| 1230 | ==== `project_attach` ==== |
| 1231 | Attach the client to a project. There are two kinds of requests. One using a project_init.xml file with all the necessary data and one not. (Client will need temporary network access) |
| 1232 | |
| 1233 | Request using file: |
| 1234 | |
| 1235 | {{{ |
| 1236 | #!xml |
| 1237 | <project_attach> |
| 1238 | <use_config_file/> |
| 1239 | </project_attach> |
| 1240 | }}} |
| 1241 | |
| 1242 | Request not using file: |
| 1243 | |
| 1244 | {{{ |
| 1245 | #!xml |
| 1246 | <project_attach> |
| 1247 | <project_url></project_url> |
| 1248 | <authenticator></authenticator> |
| 1249 | <project_name></project_name> |
| 1250 | </project_attach> |
| 1251 | }}} |
| 1252 | |
| 1253 | This request is asynchronous. This means that it will reply immediately with either `<success/>` or an error concerning missing or malformated input. Another kind of possible error is: `<error>Already attached to project</error>`. |
| 1254 | |
| 1255 | **Note:** `<success/>` does not mean that the attachment was successful but that the request was made successfuly. |
| 1256 | |
| 1257 | To see if the attachment was successful the request `<project_attach_poll/>` has to be made. |
| 1258 | |
| 1259 | |
| 1260 | ==== `project_attach_poll` ==== |
| 1261 | The aforementioned request. (Client will need temporary network access) |
| 1262 | |
| 1263 | Request: |
| 1264 | |
| 1265 | {{{ |
| 1266 | #!xml |
| 1267 | <project_attach_poll/> |
| 1268 | }}} |
| 1269 | |
| 1270 | Reply: |
| 1271 | |
| 1272 | {{{ |
| 1273 | #!xml |
| 1274 | <project_attach_reply> |
| 1275 | [<message></message>] |
| 1276 | [ . ] |
| 1277 | [ . ] |
| 1278 | [ . ] |
| 1279 | <error_num></error_num> |
| 1280 | </project_attach_reply> |
| 1281 | }}} |
| 1282 | |
| 1283 | **Note:** A source of confusion could be the fact that the `<project_attach_poll>`request will only return errors associated with the attachment process. If a user attaches to a non existing project or uses an invalid authenticator but the attachment per se has no errors the request will return with 0 exit code. In that case the client's messages will have to be checked. |
| 1284 | |
| 1285 | |
| 1286 | ==== `get_project_init_status` ==== |
| 1287 | Get the contents of the project_init.xml file if present |
| 1288 | |
| 1289 | Request: |
| 1290 | |
| 1291 | {{{ |
| 1292 | #!xml |
| 1293 | <get_project_init_status/> |
| 1294 | }}} |
| 1295 | Reply: |
| 1296 | |
| 1297 | {{{ |
| 1298 | #!xml |
| 1299 | <get_project_init_status> |
| 1300 | <url></url> |
| 1301 | <name></name> |
| 1302 | <team_name></team_name> |
| 1303 | <setup_cookie></setup_cookie> |
| 1304 | </get_project_init_status> |
| 1305 | }}} |
| 1306 | |
| 1307 | ==== `get_project_config` ==== |
| 1308 | Fetch the project configuration file from the specified url. Asynchronous request. (Client will need temporary network access) |
| 1309 | |
| 1310 | Request: |
| 1311 | |
| 1312 | {{{ |
| 1313 | #!xml |
| 1314 | <get_project_config> |
| 1315 | <url></url> |
| 1316 | </get_project_config> |
| 1317 | }}} |
| 1318 | |
| 1319 | ==== `get_project_config_poll` ==== |
| 1320 | The polling call for the previous request. Not a check for the successful fetching of the file but of the successful request. (Client will need temporary network access) |
| 1321 | |
| 1322 | Request: |
| 1323 | |
| 1324 | {{{ |
| 1325 | #!xml |
| 1326 | <get_project_config_poll/> |
| 1327 | }}} |
| 1328 | |
| 1329 | Reply: |
| 1330 | |
| 1331 | Successful request: |
| 1332 | |
| 1333 | {{{ |
| 1334 | #!xml |
| 1335 | [<project_config>] |
| 1336 | [ . ] |
| 1337 | [ . ] |
| 1338 | [ . ] |
| 1339 | </project_config> |
| 1340 | }}} |
| 1341 | Unsuccessful request: |
| 1342 | |
| 1343 | {{{ |
| 1344 | #!xml |
| 1345 | <project_config> |
| 1346 | <error_num></error_num> |
| 1347 | </project_config> |
| 1348 | }}} |
| 1349 | |
| 1350 | |
| 1351 | |
| 1352 | |
| 1353 | === Account operations (all require network access) === |
| 1354 | --- |
| 1355 | |
| 1356 | ==== `create_account` ==== |
| 1357 | Create an account for a given project. Asynchronous call |
| 1358 | |
| 1359 | Request: |
| 1360 | |
| 1361 | {{{ |
| 1362 | #!xml |
| 1363 | <create_account> |
| 1364 | <url></url> |
| 1365 | <email_addr></email_addr> |
| 1366 | <passwd_hash></passwd_hash> |
| 1367 | <user_name></user_name> |
| 1368 | <team_name></team_name> |
| 1369 | </create_account> |
| 1370 | }}} |
| 1371 | |
| 1372 | |
| 1373 | ==== `create_account_poll` ==== |
| 1374 | The polling call for the previous request |
| 1375 | |
| 1376 | Request: |
| 1377 | |
| 1378 | {{{ |
| 1379 | #!xml |
| 1380 | <create_account_poll/> |
| 1381 | }}} |
| 1382 | |
| 1383 | |
| 1384 | ==== `lookup_account` ==== |
| 1385 | Look for an account in a given project. Asynchronous call. |
| 1386 | |
| 1387 | Request: |
| 1388 | |
| 1389 | {{{ |
| 1390 | #!xml |
| 1391 | <lookup_account> |
| 1392 | <url></url> |
| 1393 | <email_addr></email_addr> |
| 1394 | <passwd_hash></passwd_hash> |
| 1395 | <ldap_auth></ldap_auth> |
| 1396 | <server_assigned_cookie></server_assigned_cookie> |
| 1397 | <server_cookie></server_cookie> |
| 1398 | </lookup_account> |
| 1399 | }}} |
| 1400 | |
| 1401 | |
| 1402 | ==== `lookup_account_poll` ==== |
| 1403 | The polling call for the previous request. This request is designed to be used within the context of a function (e.g. inside boinccmd's `--lookup_account`) and the results to be printed by an appropriate function (e.g. `ACCOUNT_OUT::print()`) so it will not be very useful as a standalone RPC call. To get the same functionality as the above command within the context of an RPC the [lookup_account.php](https://boinc.berkeley.edu/trac/wiki/WebRpc) script can be used. |
| 1404 | |
| 1405 | Request: |
| 1406 | |
| 1407 | {{{ |
| 1408 | #!xml |
| 1409 | <lookup_account_poll/> |
| 1410 | }}} |
| 1411 | |
| 1412 | |
| 1413 | |
| 1414 | |
| 1415 | |
| 1416 | === Account manager operations === |
| 1417 | --- |
| 1418 | |
| 1419 | ==== `acct_mgr_info` ==== |
| 1420 | Retrieve account manager information |
| 1421 | |
| 1422 | Request: |
| 1423 | |
| 1424 | {{{ |
| 1425 | #!xml |
| 1426 | <acct_mgr_info/> |
| 1427 | }}} |
| 1428 | |
| 1429 | Reply: |
| 1430 | |
| 1431 | {{{ |
| 1432 | #!xml |
| 1433 | <acct_mgr_info> |
| 1434 | <acct_mgr_url></acct_mgr_url> |
| 1435 | <acct_mgr_name></acct_mgr_name> |
| 1436 | (<have_credentials/>) |
| 1437 | (<cookie_required/>) |
| 1438 | (<cookie_failure_url></cookie_failure_url>) |
| 1439 | </acct_mgr_info> |
| 1440 | }}} |
| 1441 | |
| 1442 | |
| 1443 | ==== `acct_mgr_rpc` ==== |
| 1444 | Make an rpc to an account manager. (Client will need temporary network access). It has three uses. Used by the `--join_acct_mgr` command of the [boinccmd](http://boinc.berkeley.edu/wiki/Boinccmd_tool) tool to join an account manager. Used by the same tool's `--quit_acct_mgr`command with null arguments to quit an account manager. And lastly used to trigger an RPC to the current account manager. |
| 1445 | |
| 1446 | There are two requests depending on whether there is a file with the necessary data or not. |
| 1447 | |
| 1448 | Using said file: |
| 1449 | |
| 1450 | {{{ |
| 1451 | #!xml |
| 1452 | <acct_mgr_rpc> |
| 1453 | <use_config_file/> |
| 1454 | </acct_mgr_rpc> |
| 1455 | }}} |
| 1456 | |
| 1457 | Not using it: |
| 1458 | |
| 1459 | {{{ |
| 1460 | #!xml |
| 1461 | <acct_mgr_rpc> |
| 1462 | <url></url> |
| 1463 | <name></name> |
| 1464 | <password></password> |
| 1465 | </acct_mgr_rpc> |
| 1466 | }}} |
| 1467 | |
| 1468 | This request is asynchronous. It returns immediately with either `<success/>`or one of the following errors: `<error>bad arg</error>` or `<error>unrecognized op: act_mgr_rpc</error>`. To get the results of the request a call to `<acct_mgr_rpc_poll/>` has to be made. |
| 1469 | |
| 1470 | |
| 1471 | |
| 1472 | ==== `acct_mgr_rpc_poll` ==== |
| 1473 | The previously mentioned call. (Client will need temporary network access) |
| 1474 | |
| 1475 | Request: |
| 1476 | |
| 1477 | {{{ |
| 1478 | #!xml |
| 1479 | <acct_mgr_rpc_poll/> |
| 1480 | }}} |
| 1481 | |
| 1482 | Reply: |
| 1483 | |
| 1484 | {{{ |
| 1485 | #!xml |
| 1486 | <acct_mgr_rpc_reply> |
| 1487 | [<message></message>] |
| 1488 | <error_num></error_num> |
| 1489 | </acct_mgr_rpc_reply> |
| 1490 | }}} |
| 1491 | |
| 1492 | |
| 1493 | |
| 1494 | === Global preferences operations === |
| 1495 | --- |
| 1496 | |
| 1497 | ==== `get_global_prefs_file` ==== |
| 1498 | Get the contents of the `global_prefs.xml` file if present |
| 1499 | |
| 1500 | Request: |
| 1501 | |
| 1502 | {{{ |
| 1503 | #!xml |
| 1504 | <get_global_prefs_file/> |
| 1505 | }}} |
| 1506 | |
| 1507 | Reply: |
| 1508 | |
| 1509 | {{{ |
| 1510 | #!xml |
| 1511 | <global_preferences> |
| 1512 | . |
| 1513 | . |
| 1514 | . |
| 1515 | </global_preferences> |
| 1516 | }}} |
| 1517 | |
| 1518 | |
| 1519 | |
| 1520 | ==== `get_global_prefs_override` ==== |
| 1521 | Get the contents of the `global_prefs_override.xml` file if present |
| 1522 | |
| 1523 | Request: |
| 1524 | |
| 1525 | {{{ |
| 1526 | #!xml |
| 1527 | <get_global_prefs_override/> |
| 1528 | }}} |
| 1529 | |
| 1530 | Reply: |
| 1531 | |
| 1532 | {{{ |
| 1533 | #!xml |
| 1534 | <global_preferences> |
| 1535 | . |
| 1536 | . |
| 1537 | . |
| 1538 | </global_preferences> |
| 1539 | }}} |
| 1540 | |
| 1541 | |
| 1542 | ==== `set_global_prefs_override` ==== |
| 1543 | Write the `global_prefs_override.xml` file |
| 1544 | |
| 1545 | Request: |
| 1546 | |
| 1547 | {{{ |
| 1548 | #!xml |
| 1549 | <set_global_prefs_override> |
| 1550 | <global_preferences> |
| 1551 | . |
| 1552 | . |
| 1553 | . |
| 1554 | </global_preferences> |
| 1555 | </set_global_prefs_override> |
| 1556 | }}} |
| 1557 | |
| 1558 | |
| 1559 | |
| 1560 | ==== `read_global_prefs_override` ==== |
| 1561 | Read the `global_prefs_override.xml` file and set the preferences accordingly |
| 1562 | |
| 1563 | Request: |
| 1564 | |
| 1565 | {{{ |
| 1566 | #!xml |
| 1567 | <read_global_prefs_override/> |
| 1568 | }}} |
| 1569 | |
| 1570 | |
| 1571 | |
| 1572 | ==== `get_global_prefs_working` ==== |
| 1573 | Get the currently used `global_prefs` |
| 1574 | |
| 1575 | Request: |
| 1576 | |
| 1577 | {{{ |
| 1578 | #!xml |
| 1579 | <get_global_prefs_working/> |
| 1580 | }}} |
| 1581 | |
| 1582 | Reply: |
| 1583 | |
| 1584 | {{{ |
| 1585 | #!xml |
| 1586 | <global_preferences> |
| 1587 | . |
| 1588 | . |
| 1589 | . |
| 1590 | </global_preferences> |
| 1591 | }}} |
| 1592 | |
| 1593 | |
| 1594 | |
| 1595 | === Other operations === |
| 1596 | --- |
| 1597 | |
| 1598 | ==== `get_notices` ==== |
| 1599 | Returns both private and non-private notices |
| 1600 | |
| 1601 | Request: |
| 1602 | |
| 1603 | {{{ |
| 1604 | #!xml |
| 1605 | <get_notices> |
| 1606 | <seqno></seqno> |
| 1607 | </get_notices> |
| 1608 | }}} |
| 1609 | |
| 1610 | Reply: |
| 1611 | |
| 1612 | {{{ |
| 1613 | #!xml |
| 1614 | <notices> |
| 1615 | <notice> |
| 1616 | <title></title> |
| 1617 | <description><![CDATA[]]></description> |
| 1618 | <create_time></create_time> |
| 1619 | <arrival_time></arrival_time> |
| 1620 | <is_private></is_private> |
| 1621 | <project_name></project_name> |
| 1622 | <category></category> |
| 1623 | <link></link> |
| 1624 | <seqno></seqno> |
| 1625 | </notice> |
| 1626 | . |
| 1627 | . |
| 1628 | . |
| 1629 | </notices> |
| 1630 | }}} |
| 1631 | |
| 1632 | |
| 1633 | ==== `set_host_info` ==== |
| 1634 | Set the `product_name` field of `host_info` |
| 1635 | |
| 1636 | Request: |
| 1637 | |
| 1638 | {{{ |
| 1639 | #!xml |
| 1640 | <set_host_info> |
| 1641 | <host_info> |
| 1642 | <product_name></product_name> |
| 1643 | </host_info> |
| 1644 | </set_host_info> |
| 1645 | }}} |
| 1646 | |
| 1647 | |
| 1648 | ==== `run_benchmarks` ==== |
| 1649 | Run benchmarks |
| 1650 | |
| 1651 | Request: |
| 1652 | |
| 1653 | {{{ |
| 1654 | #!xml |
| 1655 | <run_benchmarks/> |
| 1656 | }}} |
| 1657 | |
| 1658 | |
| 1659 | ==== `get_proxy_settings` ==== |
| 1660 | Get the proxy settings |
| 1661 | |
| 1662 | Request: |
| 1663 | |
| 1664 | {{{ |
| 1665 | #!xml |
| 1666 | <get_proxy_settings/> |
| 1667 | }}} |
| 1668 | |
| 1669 | Reply: |
| 1670 | |
| 1671 | {{{ |
| 1672 | #!xml |
| 1673 | <proxy_info> |
| 1674 | [<use_http_proxy/>] |
| 1675 | [<use_socks_proxy/>] |
| 1676 | [<use_http_auth/>] |
| 1677 | <socks_server_name></socks_server_name> |
| 1678 | <socks_server_port></socks_server_port> |
| 1679 | <http_server_name></http_server_name> |
| 1680 | <http_server_port></http_server_port> |
| 1681 | <socks5_user_name></socks5_user_name> |
| 1682 | <socks5_user_passwd></socks5_user_passwd> |
| 1683 | <socks5_remote_dns></socks5_remote_dns> |
| 1684 | <http_user_name></http_user_name> |
| 1685 | <http_user_passwd></http_user_passwd> |
| 1686 | <no_autodetect></no_autodetect> |
| 1687 | <no_proxy></no_proxy> |
| 1688 | [<autodetect_protocol></autodetect_protocol>] |
| 1689 | [<autodetect_server_name></autodetect_server_name>] |
| 1690 | [<autodetect_port></autodetect_port>] |
| 1691 | </proxy_info> |
| 1692 | }}} |
| 1693 | |
| 1694 | |
| 1695 | |
| 1696 | ==== `network_available` ==== |
| 1697 | Retry deferred network communication |
| 1698 | |
| 1699 | Request: |
| 1700 | |
| 1701 | {{{ |
| 1702 | #!xml |
| 1703 | <network_available/> |
| 1704 | }}} |
| 1705 | |
| 1706 | |
| 1707 | |
| 1708 | ==== `quit` ==== |
| 1709 | Tell client to exit |
| 1710 | |
| 1711 | Request: |
| 1712 | |
| 1713 | {{{ |
| 1714 | #!xml |
| 1715 | <quit/> |
| 1716 | }}} |
| 1717 | |
| 1718 | |
| 1719 | |
| 1720 | ==== `set_language` ==== |
| 1721 | Set the language field in the client_state.xml file to append it in any subsequent GET calls to the original URL and translate notices |
| 1722 | |
| 1723 | Request: |
| 1724 | |
| 1725 | {{{ |
| 1726 | #!xml |
| 1727 | <set_language> |
| 1728 | <language></language> |
| 1729 | </set_language> |
| 1730 | }}} |
| 1731 | |
| 1732 | |
| 1733 | ==== `set_network_mode` ==== |
| 1734 | Set the network mode for given duration (in seconds) |
| 1735 | |
| 1736 | Request: |
| 1737 | |
| 1738 | {{{ |
| 1739 | #!xml |
| 1740 | <set_network_mode> |
| 1741 | [<always/>] |
| 1742 | [<never/>] |
| 1743 | [<auto/>] |
| 1744 | [<restore/>] |
| 1745 | <duration></duration> |
| 1746 | </set_network_mode> |
| 1747 | }}} |
| 1748 | |
| 1749 | |
| 1750 | |
| 1751 | ==== `set_gpu_mode` ==== |
| 1752 | Set GPU run mode for given duration (in seconds) |
| 1753 | |
| 1754 | Request: |
| 1755 | |
| 1756 | {{{ |
| 1757 | #!xml |
| 1758 | <set_gpu_mode> |
| 1759 | [<always/>] |
| 1760 | [<never/>] |
| 1761 | [<auto/>] |
| 1762 | [<restore/>] |
| 1763 | <duration></duration> |
| 1764 | </set_gpu_mode> |
| 1765 | }}} |
| 1766 | |
| 1767 | |
| 1768 | |
| 1769 | ==== `set_run_mode` ==== |
| 1770 | Set run mode for given duration (in seconds) |
| 1771 | |
| 1772 | Request: |
| 1773 | |
| 1774 | {{{ |
| 1775 | #!xml |
| 1776 | <set_run_mode> |
| 1777 | [<always/>] |
| 1778 | [<never/>] |
| 1779 | [<auto/>] |
| 1780 | [<restore/>] |
| 1781 | <duration></duration> |
| 1782 | </set_run_mode> |
| 1783 | }}} |
| 1784 | |
| 1785 | |
| 1786 | |
| 1787 | ==== `set_proxy_settings` ==== |
| 1788 | Set the proxy settings |
| 1789 | |
| 1790 | Request: |
| 1791 | |
| 1792 | {{{ |
| 1793 | #!xml |
| 1794 | <set_proxy_settings> |
| 1795 | <proxy_info> |
| 1796 | [<use_http_proxy/>] |
| 1797 | [<use_socks_proxy/>] |
| 1798 | [<use_http_auth/>] |
| 1799 | <http_server_name></http_server_name> |
| 1800 | <http_server_port></http_server_port> |
| 1801 | <http_user_name></http_user_name> |
| 1802 | <http_user_passwd></http_user_passwd> |
| 1803 | <socks_server_name></socks_server_name> |
| 1804 | <socks_server_port></socks_server_port> |
| 1805 | <socks5_user_name></socks5_user_name> |
| 1806 | <socks5_user_passwd></socks5_user_passwd> |
| 1807 | <socks5_remote_dns></socks5_remote_dns> |
| 1808 | <no_proxy></no_proxy> |
| 1809 | </proxy_info> |
| 1810 | </set_proxy_settings> |
| 1811 | }}} |
| 1812 | |
| 1813 | |
| 1814 | |
| 1815 | ==== `get_cc_config` ==== |
| 1816 | Get the contents of the cc_config.xml file if present |
| 1817 | |
| 1818 | Request: |
| 1819 | |
| 1820 | {{{ |
| 1821 | #!xml |
| 1822 | <get_cc_config/> |
| 1823 | }}} |
| 1824 | |
| 1825 | Reply: The contents of the file. |
| 1826 | |
| 1827 | |
| 1828 | |
| 1829 | ==== `read_cc_config` ==== |
| 1830 | Read the `cc_config.xml` file and set the configuration accordingly. If no such file is present or it's contents are not formatted correctly the defaults are used. |
| 1831 | |
| 1832 | Request: |
| 1833 | |
| 1834 | {{{ |
| 1835 | #!xml |
| 1836 | <read_cc_config/> |
| 1837 | }}} |
| 1838 | |
| 1839 | |
| 1840 | |
| 1841 | ==== `set_cc_config` ==== |
| 1842 | Write a new cc_config.xml file |
| 1843 | |
| 1844 | Request: |
| 1845 | |
| 1846 | {{{ |
| 1847 | #!xml |
| 1848 | <set_cc_config> |
| 1849 | . |
| 1850 | . |
| 1851 | . |
| 1852 | </set_cc_config> |
| 1853 | }}} |
| 1854 | |
| 1855 | |
| 1856 | ==== `get_app_config` ==== |
| 1857 | Get the contents of the app_config.xml file if present |
| 1858 | |
| 1859 | Request: |
| 1860 | |
| 1861 | {{{ |
| 1862 | #!xml |
| 1863 | <get_app_config/> |
| 1864 | }}} |
| 1865 | |
| 1866 | Reply: The contents of the file. |
| 1867 | |
| 1868 | |
| 1869 | |
| 1870 | ==== `set_app_config` ==== |
| 1871 | Write a new app_config.xml file |
| 1872 | |
| 1873 | Request: |
| 1874 | |
| 1875 | {{{ |
| 1876 | #!xml |
| 1877 | <set_app_config> |
| 1878 | <url></url> |
| 1879 | . |
| 1880 | . |
| 1881 | . |
| 1882 | </set_app_config> |
| 1883 | }}} |
| 1884 | |
| 1885 | |
| 1886 | |
| 1887 | ==== `report_device_status` ==== |
| 1888 | Used to report the status of an android device to the client. This is used to more easily access the status of the device. It essentially extracts the information using the, written in JAVA, Android GUI and using the RPC passes them to the client (a kind of bridge between Android's JAVA interface and the client's C++ one). It is therefore not of any use to be documented here. |