project_init.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // This file is part of BOINC.
  2. // http://boinc.berkeley.edu
  3. // Copyright (C) 2017 University of California
  4. //
  5. // BOINC is free software; you can redistribute it and/or modify it
  6. // under the terms of the GNU Lesser General Public License
  7. // as published by the Free Software Foundation,
  8. // either version 3 of the License, or (at your option) any later version.
  9. //
  10. // BOINC is distributed in the hope that it will be useful,
  11. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. // See the GNU Lesser General Public License for more details.
  14. //
  15. // You should have received a copy of the GNU Lesser General Public License
  16. // along with BOINC. If not, see <http://www.gnu.org/licenses/>.
  17. #ifndef BOINC_PROJECT_INIT_H
  18. #define BOINC_PROJECT_INIT_H
  19. #define PROJECT_INIT_FILENAME "project_init.xml"
  20. // represents the contents of project_init.xml,
  21. // specifying an account to attach to initially
  22. //
  23. class PROJECT_INIT {
  24. public:
  25. char url[256];
  26. char name[256];
  27. char team_name[256];
  28. char account_key[256];
  29. // Opaque data, project-supplied, that must be passed to
  30. // Web RPC along with account key
  31. //
  32. char setup_cookie[256];
  33. // Is the project_init.xml file embedded in the installer?
  34. // Or was it generated from of the command line of the install.
  35. //
  36. bool embedded;
  37. PROJECT_INIT();
  38. int init();
  39. int remove();
  40. void clear();
  41. // Used by installers to create/modify project_init.xml in the data
  42. // directory at install time.
  43. // Useful for creating automated install processes.
  44. int write();
  45. };
  46. #endif