#include "JikanDepths.h"
#include "Jikan.h"

#include <omp.h>

using namespace std;

extern "C"
{
    extern class Jikan Timer;

    void TimerStart(const char* name, const int mode)
    {
        string str_name = name;

        Timer.JikanStart(str_name, mode);
    }

    void TimerEnd(const char* name, const int cont_mode_t)
    {
        string str_name = name;

        Timer.JikanEnd(str_name, cont_mode_t);
    }

    void WriteOutput()
    {    
        #ifdef INCLUDE_OPEN_MP
        #pragma omp master
        {
        #endif
            bool ifWrite = Timer.ifWriteProc();
            if(ifWrite == true)
                Timer.GenerateOutputData();
        #ifdef INCLUDE_OPEN_MP
        }
        #endif
    }
}