// Berkeley Open Infrastructure for Network Computing // http://boinc.berkeley.edu // Copyright (C) 2005 University of California // // This is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; // either version 2.1 of the License, or (at your option) any later version. // // This software is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU Lesser General Public License for more details. // // To view the GNU Lesser General Public License visit // http://www.gnu.org/copyleft/lesser.html // or write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Functions to check the integrity of core client data structures. // Not currently used, but might be handy if *0 type crashes occur #include "cpp.h" #ifdef _WIN32 #include "boinc_win.h" #else #include "config.h" #endif #ifndef _WIN32 #include #endif #include "client_state.h" void CLIENT_STATE::check_project_pointer(PROJECT* p) { unsigned int i; for (i=0; ipers_file_xfers.size(); i++) { if (p == pers_file_xfers->pers_file_xfers[i]) return; } assert(0); } void CLIENT_STATE::check_file_xfer_pointer(FILE_XFER* p) { unsigned int i; for (i=0; ifile_xfers.size(); i++) { if (p == file_xfers->file_xfers[i]) return; } assert(0); } void CLIENT_STATE::check_app(APP& p) { check_project_pointer(p.project); } void CLIENT_STATE::check_file_info(FILE_INFO& p) { if (p.pers_file_xfer) check_pers_file_xfer_pointer(p.pers_file_xfer); if (p.result) check_result_pointer(p.result); check_project_pointer(p.project); } void CLIENT_STATE::check_file_ref(FILE_REF& p) { check_file_info_pointer(p.file_info); } void CLIENT_STATE::check_app_version(APP_VERSION& p) { unsigned int i; check_app_pointer(p.app); check_project_pointer(p.project); for (i=0; ipers_file_xfers.size(); i++) { check_pers_file_xfer(*pers_file_xfers->pers_file_xfers[i]); } for (i=0; ifile_xfers.size(); i++) { check_file_xfer(*file_xfers->file_xfers[i]); } } const char *BOINC_RCSID_d91498c9e4 = "$Id$";