ISCE_INSAR/components/iscesys/StdOE/include/StdOEF.h

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