⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mf_alarm.c

📁 CCSM Research Tools: Community Atmosphere Model (CAM)
💻 C
字号:
/* MF_Alarm.c */#include "MF_Alarm.h"/*----------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "MF_AlarmNewPeriodic"MF_Alarm MF_AlarmNewPeriodic(MF_Time period, MF_Time offset){  MF_Alarm alarm;  alarm = (MF_Alarm) malloc (sizeof(struct AlarmClass));  if(!alarm) return(MF_NULL);  MF_AlarmConstructPeriodic(alarm, period, offset);  return(0);}/*----------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "MF_AlarmNewMonthly"MF_Alarm MF_AlarmNewMonthly(){  MF_Alarm alarm;  alarm = (MF_Alarm) malloc (sizeof(struct AlarmClass));  if(!alarm) return(MF_NULL);  MF_AlarmConstructMonthly(alarm);  return(alarm);}/*----------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "MF_AlarmNewYearly"MF_Alarm MF_AlarmNewYearly(){  MF_Alarm alarm;  alarm = (MF_Alarm) malloc (sizeof(struct AlarmClass));  if(!alarm) return(MF_NULL);  MF_AlarmConstructYearly(alarm);  return(alarm);}/*----------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "MF_AlarmConstructPeriodic"int MF_AlarmConstructPeriodic(MF_Alarm this, MF_Time period, 			       MF_Time offset){  this->type = MF_ALARM_PERIODIC;  MF_TimeCopyConstruct(&this->period, period);  MF_TimeCopyConstruct(&this->offset, offset);  this->alarmOn = MF_FALSE;  return(MF_SUCCESS);}/*----------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "MF_AlarmConstructMonthly"int MF_AlarmConstructMonthly(MF_Alarm this){  this->type = MF_ALARM_MONTHLY;  MF_TimeConstructUndefined(&this->period);  MF_TimeConstructUndefined(&this->offset);  this->alarmOn = MF_FALSE;   return(MF_SUCCESS);}/*----------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "MF_AlarmConstructYearly"int MF_AlarmConstructYearly(MF_Alarm this){  this->type = MF_ALARM_YEARLY;  MF_TimeConstructUndefined(&this->period);  MF_TimeConstructUndefined(&this->offset);  this->alarmOn = MF_FALSE;  return(MF_SUCCESS);}/*----------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "MF_AlarmIsOn"int MF_AlarmIsOn(MF_Alarm this, MF_TimeMgr timeMgr, MF_Bool *alarmOn){  switch(this->type){  case(MF_ALARM_PERIODIC):    *alarmOn = MF_FALSE;    printf("This alarm type is not yet supported.\n");    break;  case(MF_ALARM_MONTHLY):    *alarmOn = (timeMgr->currDate.month != timeMgr->prevDate.month) ? MF_TRUE : MF_FALSE;     break;  case(MF_ALARM_YEARLY):    *alarmOn = (timeMgr->currDate.year != timeMgr->prevDate.year) ? MF_TRUE : MF_FALSE;    break;  }  return(MF_SUCCESS);}/*----------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "MF_AlarmGetType"int MF_AlarmGetType(MF_Alarm this, MF_AlarmType *type){  *type = this->type;  return(MF_SUCCESS);}/*----------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "MF_AlarmSet"int MF_AlarmSet(MF_Alarm this, MF_Bool alarmOn){  this->alarmOn = alarmOn;  return(MF_SUCCESS);}/*----------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "MF_AlarmDelete"void MF_AlarmDelete(MF_Alarm this){  free(this);  return;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -