#define DIARY_SECOND_ARG_NEW L"new"
#define DIARY_SECOND_ARG_APPEND L"append"
#define DIARY_SECOND_ARG_EXISTS L"exists"
-#define DIARY_SECOND_ARG_OPEN L"open"
#define DIARY_THIRD_ARG_FILTER_COMMAND L"filter=command"
#define DIARY_THIRD_ARG_FILTER_OUTPUT L"filter=output"
#define DIARY_THIRD_ARG_PREFIX_UNIX_EPOCH L"prefix=U"
/*--------------------------------------------------------------------------*/
static int sci_diary_one_rhs(char *fname)
{
- int m1 = 0, n1 = 0;
int *piAddressVarOne = NULL;
getVarAddressFromPosition(1, &piAddressVarOne);
#ifdef __cplusplus
extern "C" {
#endif
+
+/*
+* write a string (wide char) in diaries
+* @param[in] string to write
+* @param[in] string is a input
+*/
int diaryWrite(wchar_t *wstr, BOOL bInput);
+/*
+* same as diaryWrite but add carriage return
+* @param[in] string to write
+* @param[in] string is a input
+*/
int diaryWriteln(wchar_t *wstr, BOOL bInput);
#ifdef __cplusplus
{
bool previous = suspendwrite;
suspendwrite = bWith;
- return suspendwrite;
+ return previous;
}
/*--------------------------------------------------------------------------*/
bool Diary::getSuspendWrite(void)
/*--------------------------------------------------------------------------*/
#include <string>
/*--------------------------------------------------------------------------*/
-
class Diary
{
-
private:
std::wstring wfilename;
int ID_foutstream;
void setID(int _ID);
+ /* resume mode */
bool suspendwrite;
// 0 UNIX epoch
std::wstring replace(std::wstring text, std::wstring s, std::wstring replacement);
public:
+ /*
+ * constructor
+ */
Diary(std::wstring _wfilename,int _mode,int ID);
+
+ /*
+ * destructor
+ */
~Diary();
+ /*
+ * get filename of this diray
+ */
std::wstring getFilename(void);
+
+ /*
+ * get & set IO mode
+ */
void setIOMode(int _mode);
int getIOMode(void);
+
+ /*
+ * get ID of this diary
+ */
int getID(void);
+ /*
+ * write a string in this diary
+ */
void write(std::wstring _wstr, bool bInput);
+
+ /*
+ * write a line in this diary
+ */
void writeln(std::wstring _wstr, bool bInput);
+ /*
+ * get & set Resume mode
+ */
bool setSuspendWrite(bool bWith);
bool getSuspendWrite(void);
+ /*
+ * get & set Prefix mode
+ */
void setPrefixMode(int iPrefixMode);
int getPrefixMode(void);
+ /*
+ * get & set IO mode filter
+ */
void setPrefixIoModeFilter(int mode);
int getPrefixIoModeFilter(void);
};
class DiaryList
{
public:
+ /* constructor */
DiaryList();
+
+ /* destructor */
~DiaryList();
+ /* open a diary */
int openDiary(std::wstring _wfilename,int _mode);
int openDiary(std::wstring _wfilename);
+ /* close a diary by ID */
bool closeDiary(int ID_diary);
+
+ /* close all diaries */
void closeAllDiaries(void);
+ /* get IDs of diaries */
int * getIDs(int *sizeID);
+
+ /* get filenames of diaries */
std::wstring * getFilenames(int *sizeFilenames);
+ /* get filename by IDs */
std::wstring getFilename(int ID_diary);
+ /* write string in diaries */
void write(std::wstring _wstr, bool bInput);
void writeln(std::wstring _wstr, bool bInput);
+ /* test if exists a diary by ID */
bool exists(int ID_diary);
+
+ /* test if exists a diary by filename */
bool exists(std::wstring _wfilename);
+ /* set & get Resume mode */
void setSuspendWrite(bool bWith);
bool *getSuspendWrite(int *sizeboolArray);
void setSuspendWrite(int ID_diary, bool bWith);
bool getSuspendWrite(int ID_diary);
+ /* get ID by filename */
int getID(std::wstring _wfilename);
+ /* set & get mode */
void setFilterMode(int ID_diary, int mode);
void setPrefixMode(int ID_diary,int iPrefixMode);
void setPrefixIoModeFilter(int ID_diary,int mode);
int getPrefixIoModeFilter(int ID_diary);
-
private:
+ /* list of diary */
std::list<Diary> LSTDIARY;
+
+ /* find a ID free */
int findFreeID(void);
};
#endif /* __DIARYLIST_HXX__ */
#include <wchar.h>
/**
-*
+* get filename of a ID
+* @param[in] _Id
+* @return filename
*/
wchar_t *getDiaryFilename(int _Id);
/**
-*
+* get all filenames in manager
+* @param[out] size of returned array
+* @return filenames
*/
wchar_t **getDiaryFilenames(int *array_size);
/**
-*
+* get all IDs in manager
+* @param[out] size of returned array
+* @return IDs
*/
int *getDiaryIDs(int *array_size);
/**
-*
+* get all IDs in manager
+* @param[out] size of returned array
+* @return Ids (as double)
*/
double *getDiaryIDsAsDouble(int *array_size);
/**
-*
+* close all diaries
+* @return 0
*/
int diaryCloseAll(void);
/**
-*
+* close a diary by ID
+* @param[in] ID
+* @return 0 (OK) 1 (NOK)
*/
int diaryClose(int _iId);
/**
-*
+* close a diary by filename
+* @param[in] filename
+* @return 0 (OK) 1 (NOK)
*/
int diaryClose(wchar_t *filename);
/**
-*
+* Pause all diaries
+* @return 0
*/
int diaryPauseAll(void);
/**
-*
+* Pause a diary by ID
+* @param[in] ID
+* @return 0 (OK) 1 (NOK)
*/
int diaryPause(int _iId);
/**
-*
+* Pause a diary by filename
+* @param[in] filename
+* @return 0 (OK) 1 (NOK)
*/
int diaryPause(wchar_t *filename);
/**
-*
+* Resume All diaries
+* @return 0
*/
int diaryResumeAll(void);
/**
-*
+* Resume a diary by ID
+* @param[in] ID
+* @return 0 (OK) 1 (NOK)
*/
int diaryResume(int _iId);
/**
-*
+* Resume a diary by filename
+* @param[in] filename
+* @return 0 (OK) 1 (NOK)
*/
int diaryResume(wchar_t *filename);
/**
-*
+* check if a ID exists
+* @param[in] ID
+* @return 0 (OK) 1 (NOK)
*/
int diaryExists(int _iId);
/**
-*
+* checks if a filename exists
+* @param[in] filename
+* @return 0 (OK) 1 (NOK)
*/
int diaryExists(wchar_t *filename);
/**
-*
+* create a new diary
+* @param[in] filename
+* @return ID or -1 (NOK)
*/
int diaryNew(wchar_t *filename);
/**
-*
+* append to a diary
+* @param[in] filename
+* @return ID or -1 (NOK)
*/
int diaryAppend(wchar_t *filename);
/*
-*
+* Set filter mode (input, output)
+* @param[in] ID
+* @param[in] mode
+* 0 all (output and input)
+* 1 input
+* 2 output
+* @return 0 (OK) 1 (NOK)
*/
int diarySetFilterMode(int _iId, int mode);
/*
-*
+* Set prefix time mode
+* @param[in] ID
+* @param[in] mode
+* 0 prefix @ beginning of Input and Output
+* 1 prefix only @ beginning of Input
+* 2 prefix only @ beginning of Output
+* 3 no prefix
+* @return 0 (OK) 1 (NOK)
*/
int diarySetPrefixMode(int ID_diary,int iPrefixMode);
/*
-*
+* get prefix mode
+* @param[in] ID
+* @return prefix mode
*/
int diaryGetPrefixMode(int ID_diary);
/*
-*
+* set prefix IO mode filter
+* @param[in] ID
+* @param[in] mode
+* @return 0 (OK) 1 (NOK)
*/
int diarySetPrefixIoModeFilter(int ID_diary,int mode);
/*
-*
+* get prefix IO mode filter
+* @param[in] ID
+* @return mode
*/
int diaryGetPrefixIoModeFilter(int ID_diary);
#include <locale.h>
}
/*--------------------------------------------------------------------------*/
-std::wstring getDiaryDate(int _mode)
+std::wstring getDiaryDate(int format_mode)
{
std::wstring wstrdate(L"");
std::wstringstream StrStream;
time_t tDate;
time(&tDate);
- switch (_mode)
+ switch (format_mode)
{
- case 0: default:
+ case 0: default: // UNIX TIMESTAMP
{
StrStream << (unsigned int)tDate;
wstrdate = StrStream.str();
#include <string>
/**
-*
-*
+* get current date and time
+* @param[in]: format_mode
+* _mode 0: UNIX EPOCH
+* _mode 1: ISO_8601
+* @return std::wstring date & time
*/
-std::wstring getDiaryDate(int _mode);
+std::wstring getDiaryDate(int format_mode);
#endif /* __GETDIARYDATE_HXX__ */
/*--------------------------------------------------------------------------*/
#include <string>
+/**
+* get full filename with path of a file
+* @param[in] std::wstring input filename
+* @return std::wstring full filename
+*/
std::wstring getFullFilename(std::wstring _wfilename);
#endif /* __GETFULLFILENAME_HXX__ */