LCOV - code coverage report
Current view: top level - src - dimcpp.cxx (source / functions) Hit Total Coverage
Test: lcov.info Lines: 7 63 11.1 %
Date: 2025-03-09 01:23:52 Functions: 2 15 13.3 %
Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : #include <assert.h>
       2                 :            : #include <signal.h>
       3                 :            : #include <stdio.h>
       4                 :            : #include <stdlib.h>
       5                 :            : #ifdef __VMS
       6                 :            : #include <starlet.h>
       7                 :            : #endif
       8                 :            : 
       9                 :            : #define DIMLIB
      10                 :            : #include <dim_core.hxx>
      11                 :            : #include <dim.hxx>
      12                 :            : 
      13                 :            : int DimCore::inCallback = 0;
      14                 :            : int DimUtil::itsBufferSize = 0;
      15                 :            : char *DimUtil::itsBuffer = (char *)0;
      16                 :            : 
      17                 :            : extern "C" {
      18                 :          0 : static void timer_user_routine(void *tp)
      19                 :            : {
      20                 :          0 :         DimTimer *t = (DimTimer *)tp;
      21                 :          0 :         DimCore::inCallback = 1;
      22                 :          0 :         t->firedFlag = 1;
      23                 :          0 :         t->runningFlag = 0;
      24                 :          0 :         t->timerHandler();
      25                 :          0 :         DimCore::inCallback = 0;
      26                 :          0 : }
      27                 :            : }
      28                 :            : 
      29                 :          0 : int DimTimer::start(int time)
      30                 :            : {
      31                 :          0 :         if(runningFlag)
      32                 :          0 :                 return 0;
      33                 :          0 :         runningFlag = 1;
      34                 :          0 :         firedFlag = 0;
      35                 :          0 :         dtq_start_timer(time, timer_user_routine, this);
      36                 :          0 :         return 1;
      37                 :            : }
      38                 :            : 
      39                 :          0 : int DimTimer::stop() 
      40                 :            : {
      41                 :          0 :         firedFlag = 0;
      42                 :          0 :         runningFlag = 0;
      43                 :          0 :         return dtq_stop_timer(this);
      44                 :            : }
      45                 :            : 
      46                 :         10 : DimTimer::DimTimer() 
      47                 :            : { 
      48                 :         10 :         firedFlag = 0;
      49                 :         10 :         runningFlag = 0; 
      50                 :         10 : }
      51                 :            :         
      52                 :          0 : DimTimer::DimTimer(int time)
      53                 :            : { 
      54                 :          0 :         firedFlag = 0;
      55                 :          0 :         runningFlag = 0; 
      56                 :          0 :         start(time);
      57                 :          0 : }
      58                 :            : 
      59                 :         10 : DimTimer::~DimTimer()
      60                 :            : {
      61                 :         10 :         if(runningFlag)
      62                 :          0 :                 stop();
      63                 :         10 : }
      64                 :            : 
      65                 :            : // Threads
      66                 :            : 
      67                 :            : extern "C" {
      68                 :          0 : static void thread_user_routine(void *tp)
      69                 :            : {
      70                 :          0 :         DimThread *t = (DimThread *)tp;
      71                 :            : //      DimCore::inCallback = 1;
      72                 :            : //      t->firedFlag = 1;
      73                 :            : //      t->runningFlag = 0;
      74                 :          0 :         t->threadHandler();
      75                 :          0 :         t->itsId = 0;
      76                 :            : //      DimCore::inCallback = 0;
      77                 :          0 : }
      78                 :            : }
      79                 :            : 
      80                 :          0 : DimThread::DimThread() 
      81                 :            : {
      82                 :            : //      start();
      83                 :          0 :         itsId = 0;
      84                 :          0 : }
      85                 :            :         
      86                 :          0 : DimThread::~DimThread()
      87                 :            : {
      88                 :            : //      if(itsId)
      89                 :            : //              stop();
      90                 :          0 : }
      91                 :            : 
      92                 :          0 : int DimThread::start()
      93                 :            : {
      94                 :          0 :         if(!itsId)
      95                 :            :         {
      96                 :          0 :                 itsId = (long)dim_start_thread(thread_user_routine, this);
      97                 :          0 :                 return 1;
      98                 :            :         }
      99                 :          0 :         return 0;
     100                 :            : }
     101                 :            : /*
     102                 :            : int DimThread::stop()
     103                 :            : {
     104                 :            :         int ret = dim_stop_thread(itsId);
     105                 :            :         itsId = 0;
     106                 :            :         return ret;
     107                 :            : }
     108                 :            : */
     109                 :            : 
     110                 :          0 : DimUtil::DimUtil() 
     111                 :            : {
     112                 :          0 : }
     113                 :            :         
     114                 :          0 : DimUtil::~DimUtil()
     115                 :            : {
     116                 :          0 : }
     117                 :            : 
     118                 :          0 : char *DimUtil::getEnvVar(char *name)
     119                 :            : {
     120                 :            :         int size;
     121                 :            : 
     122                 :          0 :         size = dim_get_env_var(name, 0, 0);
     123                 :          0 :         if(!size)
     124                 :          0 :                 return (char *)0;
     125                 :          0 :         if((itsBufferSize < size ) && (itsBufferSize != 0))
     126                 :            :         {
     127                 :          0 :                 delete[] itsBuffer;
     128                 :          0 :                 itsBufferSize = 0;
     129                 :            :         }
     130                 :          0 :         if(!itsBufferSize)
     131                 :            :         {
     132                 :          0 :                 itsBuffer = new char[size];
     133                 :          0 :                 itsBufferSize = size;
     134                 :            :         }
     135                 :          0 :         dim_get_env_var(name, itsBuffer, itsBufferSize);
     136                 :          0 :         return itsBuffer;
     137                 :            : }

Generated by: LCOV version 1.14