mirror of
https://github.com/nasa/trick.git
synced 2025-01-25 05:46:58 +00:00
14a75508a3
Changed all header file once include variables to follow the same naming convention and not start with any underscores. Also deleted old incorrect copyright notices. Also removed $Id: tags from all files. Fixes #14. Fixes #22.
90 lines
2.4 KiB
C++
90 lines
2.4 KiB
C++
/*
|
|
PURPOSE:
|
|
(Trick input processor.)
|
|
REFERENCE:
|
|
(((Bailey, R.W, and Paddock, E.J.) (Trick Simulation Environment)
|
|
(NASA:JSC #37943)
|
|
(JSC / Engineering Directorate / Automation and Robotics Division)
|
|
(June 1994) (--)))
|
|
ASSUMPTIONS AND LIMITATIONS:
|
|
()
|
|
PROGRAMMERS:
|
|
(((Robert W. Bailey) (LinCom) (4/92) (--) (Realtime))
|
|
((Robert W. Bailey) (LinCom) (6/1/91) (Trick-CR-00000) (Initial Release)))
|
|
*/
|
|
|
|
#ifndef IPPYTHON_HH
|
|
#define IPPYTHON_HH
|
|
|
|
#include <string>
|
|
#include <pthread.h>
|
|
#include "sim_services/InputProcessor/include/InputProcessor.hh"
|
|
|
|
namespace Trick {
|
|
|
|
/**
|
|
This class provides Python input processing.
|
|
@author Alex Lin, Danny Strauss
|
|
*/
|
|
|
|
class IPPython : public InputProcessor {
|
|
|
|
friend class IPPythonEvent;
|
|
|
|
public:
|
|
|
|
/** Returned value from event condition evaluation.\n */
|
|
int return_val ; /**< trick_io(**) trick_units(--) */
|
|
|
|
/** Input processor mutex for protection for var server and event processing.\n */
|
|
pthread_mutex_t ip_mutex; /**< trick_io(**) trick_units(--) */
|
|
|
|
/**
|
|
@brief Constructor.
|
|
*/
|
|
IPPython() ;
|
|
|
|
/**
|
|
@brief Creates python handles for all memory manager named variables.
|
|
*/
|
|
void get_TMM_named_variables() ;
|
|
|
|
/**
|
|
@brief Initialize and run the Python input processor on the user input file.
|
|
*/
|
|
virtual int init() ;
|
|
|
|
/**
|
|
@brief @userdesc Command to shutdown the simulation now.
|
|
@par Python Usage:
|
|
@code trick.shutdown() @endcode
|
|
*/
|
|
virtual int shutdown() ;
|
|
|
|
/**
|
|
@brief Command to parse the given string.
|
|
*/
|
|
virtual int parse(std::string in_string) ;
|
|
|
|
/**
|
|
@brief Command to parse the given string as a condition statement.
|
|
*/
|
|
virtual int parse_condition(std::string in_string, int & cond_return_val) ;
|
|
|
|
/**
|
|
@brief Restore variables with memory manager names to python space.
|
|
@return always 0
|
|
*/
|
|
int restart() ;
|
|
} ;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
//SWIG generated routine.
|
|
void init_swig_modules(void) ;
|
|
}
|
|
|
|
#endif
|
|
|