/* clock_reset_alarm: reset alarm*/ void clock_reset_alarm(void) { pthread_mutex_lock(&Clock.mutex); Clock.alarm_enabled = 0; pthread_mutex_unlock(&Clock.mutex); erase_alarm_time(); erase_alarm_text(); }
void clock_reset_alarm(){ pthread_mutex_lock(&Clock.mutex); Clock.alarm_enabled = 0; pthread_mutex_unlock(&Clock.mutex); erase_alarm_time(); erase_alarm_text(); sem_post(&Clock.start_alarm); }
/* clock_reset_alarm: */ void clock_reset_alarm(void) { si_sem_wait(&Clock.mutex); Clock.alarm_enabled = 0; erase_alarm_time(); erase_alarm_text(); si_sem_signal(&Clock.mutex); }
/* set_task: reads messages from the user interface... */ void set_task(void) { /* message array */ char message[SI_UI_MAX_MESSAGE_SIZE]; /* time read from user interface */ int hours = 0, minutes = 0, seconds = 0; /* set GUI size */ si_ui_set_size(400, 200); while(1) { /* read a message */ si_ui_receive(message); /* check if it is a set message */ if (strncmp(message, "set:", 4) == 0) { time_from_set_message(message, &hours, &minutes, &seconds); if (time_ok(hours, minutes, seconds)) { set_time(hours, minutes, seconds); } else { si_ui_show_error("Illegal value for hours, minutes or seconds"); } } /* check if it is an alarm message */ else if (strncmp(message, "alarm:", 6) == 0) { time_from_alarm_message(message, &hours, &minutes, &seconds); if (time_ok(hours, minutes, seconds)) { set_alarm(hours, minutes, seconds); display_alarm_time(hours,minutes,seconds); } else { si_ui_show_error("Illegal value for hours, minutes or seconds"); } } /* check if it is an reset message */ else if (strncmp(message, "reset", 5) == 0) { erase_alarm_time(); erase_alarm_text(); reset_alarm(); } /* check if it is an exit message */ else if (strcmp(message, "exit") == 0) { exit(0); } /* not a legal message */ else { si_ui_show_error("unexpected message type"); } } }