// The contents of this file are subject to the BOINC Public License // Version 1.0 (the "License"); you may not use this file except in // compliance with the License. You may obtain a copy of the License at // http://boinc.berkeley.edu/license_1.0.txt // // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the // License for the specific language governing rights and limitations // under the License. // // The Original Code is the Berkeley Open Infrastructure for Network Computing. // // The Initial Developer of the Original Code is the SETI@home project. // Portions created by the SETI@home project are Copyright (C) 2002 // University of California at Berkeley. All Rights Reserved. // // Contributor(s): // // gui_test: test program for BOINC GUI RPCs. // usages: // -state show state // -msgs show messages // -show_graphics_window result_name show graphics for result in a window // -show_graphics_window show graphics for all results // -show_graphics_full result_name show full-screen graphics for result #ifdef _WIN32 #include "boinc_win.h" #include "win_net.h" #endif #include using std::vector; #ifndef _WIN32 #include #endif #include "gui_rpc_client.h" #include "error_numbers.h" #ifdef _WIN32 int WinsockInitialize() { WSADATA wsdata; return WSAStartup( MAKEWORD( 1, 1 ), &wsdata); } int WinsockCleanup() { return WSACleanup(); } #endif int main(int argc, char** argv) { RPC_CLIENT rpc; unsigned int i; vector message_descs; #ifdef _WIN32 if ( WinsockInitialize() != 0 ) { printf( "BOINC Core Client Error Message\n" "Failed to initialize the Windows Sockets interface\n" "Terminating Application...\n" ); return ERR_IO; } #endif rpc.init(); if (argc < 2) { printf("usage: [-state] [-suspend] [-resume]\n"); exit(1); } if (!strcmp(argv[1], "-state")) { rpc.get_state(); rpc.print_state(); } else if (!strcmp(argv[1], "-msgs")) { rpc.get_messages(20, 0, message_descs); for (i=0; i