155 lines
6.5 KiB
C
155 lines
6.5 KiB
C
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//
|
|
// Giangi Sacco
|
|
// NASA Jet Propulsion Laboratory
|
|
// California Institute of Technology
|
|
// (C) 2009 All Rights Reserved
|
|
//
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
#ifndef StdOEF_h
|
|
#define StdOEF_h
|
|
#include "StdOEFFortTrans.h"
|
|
|
|
/**
|
|
* @file
|
|
* This is a C interface that allows fortran code to call public methods of a StdOE object.
|
|
|
|
* The functions name in fortran will be the same except for the suffix "_f" that needs to be removed.
|
|
* Moreover each function "func(args)" will be invoked from fortran using the syntax: call func(args).
|
|
* The correspondence between C and fortran data types is:
|
|
* - char * <--> character*X (X integer number).
|
|
* @see LineAccessor.cpp
|
|
**/
|
|
extern "C"
|
|
{
|
|
/**
|
|
* Sets (*stdErr) to the value of StdOE::StdErr, i.e. device where the standard error is ridirected.
|
|
|
|
@see StdOE::StdErr.
|
|
**/
|
|
void getStdErr_f(char * stdErr);
|
|
/**
|
|
* Sets (*stdOut) to the value of StdOE::StdOut, i.e. device where the standard output is ridirected.
|
|
|
|
@see StdOE::StdOut.
|
|
**/
|
|
void getStdOut_f(char * stdOut);
|
|
|
|
/**
|
|
* Sets the standard error device. The default is screen.
|
|
@param stdErr standard error device i.e. file or screen.
|
|
@param length is the length of the string stdErr and is an implicit parameter that does not need to be specified in the fortran function call.
|
|
@see StdOE::StdErr.
|
|
|
|
**/
|
|
void setStdErr_f(char * stdErr, long int length);
|
|
|
|
/**
|
|
* Sets a tag that precedes the date in the log file.
|
|
@param tag string containing the tag to prepend to the date and log message.
|
|
@param length is the length of the string tag and is an implicit parameter that does not need to be specified in the fortran function call.
|
|
@see setStdLogFile_f().
|
|
@see writeStdLog_f().
|
|
**/
|
|
void setStdLogFileTag_f(char * tag , long int length);
|
|
|
|
/**
|
|
* Sets a tag that precedes the date in the standard output file if the output device is a file.
|
|
@param tag string containing the tag to prepend to the date and output message.
|
|
@param length is the length of the string tag and is an implicit parameter that does not need to be specified in the fortran function call.
|
|
@see setStdOutFile_f().
|
|
@see setStdOut_f().
|
|
@see writeStdOut_f().
|
|
**/
|
|
void setStdOutFileTag_f(char * tag , long int length);
|
|
/**
|
|
* Sets a tag that precedes the date in the standard output file if the output device is a file.
|
|
@param tag string containing the tag to prepend to the date and output message.
|
|
@param length is the length of the string tag and is an implicit parameter that does not need to be specified in the fortran function call.
|
|
@see setStdErrFile_f().
|
|
@see setStdErr_f().
|
|
@see writeStdErr_f().
|
|
**/
|
|
void setStdErrFileTag_f(char * tag , long int length);
|
|
|
|
/**
|
|
* Sets the name of the file where the standard error is redirected. SdtOE::StdErr is set automatically to 'f', i.e. file.
|
|
@param stdErrFile standard error filename.
|
|
@param length is the length of the string stdErr and is an implicit parameter that does not need to be specified in the fortran function call.
|
|
@see StdOE::StdErr.
|
|
|
|
**/
|
|
|
|
void setStdErrFile_f(char * stdErrFile , long int length);
|
|
/**
|
|
* Sets the name of the file where the log is redirected.
|
|
@param stdLogFile standard log filename.
|
|
@param length is the length of the string stdLog and is an implicit parameter that does not need to be specified in the fortran function call.
|
|
@see StdOE::StdLog.
|
|
|
|
**/
|
|
|
|
void setStdLogFile_f(char * stdLogFile , long int length);
|
|
|
|
/**
|
|
* Sets the standard output device. The default is screen.
|
|
@param stdOut standard output device i.e. file or screen.
|
|
@param length is the length of the string stdErr and is an implicit parameter that does not need to be specified in the fortran function call.
|
|
@see StdOE::StdOut.
|
|
**/
|
|
void setStdOut_f(char * stdOut, long int length);
|
|
|
|
/**
|
|
* Sets the name of the file where the standard output is redirected. StdOut is set automatically to 'f', i.e. file.
|
|
@param stdOutFile standard output filename.
|
|
@param length is the length of the string stdErr and is an implicit parameter that does not need to be specified in the fortran function call.
|
|
@see StdOE::StdOut.
|
|
|
|
**/
|
|
void setStdOutFile_f(char * stdOutFile, long int length);
|
|
/**
|
|
* Writes the string message on screen.
|
|
@param message string to be displayed on screen.
|
|
@param length is the length of the string stdErr and is an implicit parameter that does not need to be specified in the fortran function call.
|
|
|
|
**/
|
|
|
|
void writeStd_f(char * message, long int length);
|
|
/**
|
|
* Writes the string message in the log file StdOE:FilenameLog.
|
|
*The message is appended at the end and preceeded by the date in the format Www Mmm dd hh:mm:ss yyyy (see asctime() C++ function documentation).
|
|
@param message string to be written on the log file StdOE:FilenameLog.
|
|
@see asctime()
|
|
**/
|
|
|
|
void writeStdLog_f(char * message, long int length);
|
|
/**
|
|
* Writes the string message on the preselected standard error device. If the device is a file,
|
|
* it is appended at the end and preceeded by the date in the format Www Mmm dd hh:mm:ss yyyy (see asctime() C++ function documentation).
|
|
@param message string to be written on the standard error device.
|
|
@see asctime()
|
|
**/
|
|
|
|
void writeStdErr_f(char * message, long int length);
|
|
/**
|
|
* Writes the string message in the file "filename".
|
|
* The message is appended at the end and preceeded by the date in the format Www Mmm dd hh:mm:ss yyyy (see asctime() C++ function documentation).
|
|
@param filename name of the file where the string is written.
|
|
@param message string to be written into the file.
|
|
@see asctime()
|
|
|
|
**/
|
|
|
|
void writeStdFile_f(char * filename, char * message, long int length1, long int length2);
|
|
/**
|
|
* Writes the string message on the preselected standard output device. If the device is a file,
|
|
* it is appended at the end and preceeded by the date in the format Www Mmm dd hh:mm:ss yyyy (see asctime() C++ function documentation).
|
|
@param message string to be written on the standard error device.
|
|
@see asctime()
|
|
|
|
**/
|
|
|
|
void writeStdOut_f(char * message, long int length);
|
|
}
|
|
#endif //StdOEF_h
|