Select Git revision
BOINCClientAdapter.h
Forked from
einsteinathome / graphicsframework
Source project has a limited visibility.
-
Oliver Bock authored
* Now there's a generic and science application specific (e.g. shared memory handling) part * The actual shared memory indentifier now has to be passed during initialize() instead of being hard-coded * All this might eventually allow us to incorporate some portions of this API into something more general like a generic graphics toolkit
Oliver Bock authored* Now there's a generic and science application specific (e.g. shared memory handling) part * The actual shared memory indentifier now has to be passed during initialize() instead of being hard-coded * All this might eventually allow us to incorporate some portions of this API into something more general like a generic graphics toolkit
BOINCClientAdapter.h 4.69 KiB
#ifndef BOINCCLIENTADAPTER_H_
#define BOINCCLIENTADAPTER_H_
#include <iostream>
#include <string>
#include <sstream>
#include "boinc_api.h"
#include "graphics2.h"
using namespace std;
/**
* \brief Adapter class which facilitates communications with the BOINC client
*
* This adapter class can be used to query the BOINC core client for information
* about the user and the running science application instance.
*
* \author Oliver Bock\n
* Max-Planck-Institute for Gravitational Physics\n
* Hannover, Germany
*/
class BOINCClientAdapter
{
public:
/// Default constructor
BOINCClientAdapter();
/// Destructor
virtual ~BOINCClientAdapter();
/**
* \brief Initializes the BOINC client adapter instance
*
* This method has to be called first, otherwise no data will be returned when requested!
*/
void initialize(string sharedMemoryIdentifier);
/**
* \brief Refreshes dynamic data (e.g. search information)
*
* You want to call this method periodically to refresh any volatile client information.
* Please make sure that you call initialize() first!
*
* \see AbstractGraphicsEngine::refreshBOINCInformation
* \see initialize
*/
void refresh();
/**
* \brief Retrieves the BOINC core client version of the currently active client
*
* \return The BOINC core client version
*/
string coreVersion() const;
/**
* \brief Retrieves the \b Einstein\@Home application name of the currently active work unit
*
* \return The \b Einstein\@Home application name
*/
string applicationName() const;
/**
* \brief Retrieves the \b Einstein\@Home application version of the currently active work unit
*
* \return The \b Einstein\@Home application version
*/
string applicationVersion() const;