1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
#ifndef BCI2000_REMOTE_H
#define BCI2000_REMOTE_H
#include <vector>
#include <string>
#include "BCI2000Connection.h"
class BCI2000Remote : public BCI2000Connection
{
public:
// To establish and terminate a connection, use members inherited from
// BCI2000Connection.
//
// BCI2000Remote adds the following members:
// Properties representing recording information.
const std::string& SubjectID() const { return mSubjectID; }
BCI2000Remote& SubjectID( const std::string& );
const std::string& SessionID() const { return mSessionID; }
BCI2000Remote& SessionID( const std::string& );
const std::string& DataDirectory() const { return mDataDirectory; }
BCI2000Remote& DataDirectory( const std::string& );
// Start BCI2000 core modules, listed by executable name, including possible
// command line arguments.
bool StartupModules( const std::vector<std::string>& );
// Load parameters from a file, relative to the current working directory.
bool LoadParametersLocal( const std::string& );
// Load parameters from a file, relative to BCI2000's working directory.
bool LoadParametersRemote( const std::string& );
// Apply parameters, start, and stop the system.
bool SetConfig();
bool Start();
bool Stop();
// Access information during online operation.
bool GetSystemState( std::string& );
bool GetControlSignal( int, int, double& );
// Parameters and States
bool SetParameter( const std::string& name, const std::string& value );
bool GetParameter( const std::string& name, std::string& value );
bool AddStateVariable( const std::string& name, unsigned int bitWidth, double initialValue );
bool SetStateVariable( const std::string&, double );
bool GetStateVariable( const std::string&, double& );
// Set event scripts.
bool SetScript( const std::string&, const std::string& );
bool GetScript( const std::string&, std::string& );
private:
bool WaitForSystemState( const std::string& );
bool SimpleCommand( const std::string& );
std::string EscapeSpecialChars( const std::string& );
std::string mSubjectID,
mSessionID,
mDataDirectory;
};
#endif // BCI2000_REMOTE_H
|