RadioSvegliaGBE
Alarm.cpp
Go to the documentation of this file.
1 
11  // Inclusione <automatica> dell'header che si sta implementando
12 #include "Alarm.h"
13 
14 // Implementazione del metodo 'Init' della categoria 'Init'
16 {
17  // Se esiste, dealloco istanza corrente per 'm_Alarm'
18  if (m_Alarm)
19  {
20  // Deallocazione
21  delete m_Alarm;
22 
23  // Sanificazione manuale
24  m_Alarm = nullptr;
25  }
26 
27  // Costruzione dell'oggetto di classe "AlarmData" attraverso il corrispettivo costruttore di default
28  // Allocazione dinamica [heap]
29  m_Alarm = new AlarmData();
30 
31  // Dopo l'allocazione, controllo che effettivamente � andata a buon fine. Un puntatore nullo (i.e. 'nullptr') sarebbe indice di errori durante l'allocazione.
32  if (m_Alarm)
33  return true;
34 
35  return false;
36 }
37 
38 // Implementazione del metodo 'set_Time' della categoria 'Value Setters'
39 // set_Time (1)
40 bool Alarm::set_Time(const unsigned int& t_Hour, const unsigned int& t_Minute)
41 {
42  // Imposto i valori degli attributi della classe "AlarmData" con i parametri 't_Hour', 't_Minute'.
43  // Richiamo il metodo 'set_Time' della classe "AlarmData"
44  // Ritorno, inoltre, il valore booleano 'true' o 'false' indicante il risultato dell'operazione appena eseguita
45 
46  // Prima di effettuare una qualsiasi chiamata, verifico che l'oggetto 'm_Alarm' sia stato effettivamente allocato
47  if (m_Alarm)
48  return m_Alarm->set_Time(t_Hour, t_Minute);
49  else
50  return false;
51 }
52 
53 // Implementazione del metodo 'set_Time' della categoria 'Value Setters'
54 // set_Time (2)
55 bool Alarm::set_Time(const unsigned int& t_Hour, const unsigned int& t_Minute, const Clock::TimePeriod& t_Period)
56 {
57  // Imposto i valori degli attributi della classe "AlarmData" con i parametri 't_Hour', 't_Minute', 't_Period'
58  // Richiamo il metodo 'set_Time' della classe "AlarmData"
59  // Ritorno, inoltre, il valore booleano 'true' o 'false' indicante il risultato dell'operazione appena eseguita
60 
61  // Prima di effettuare una qualsiasi chiamata, verifico che l'oggetto 'm_Alarm' sia stato effettivamente allocato
62  if (m_Alarm)
63  return m_Alarm->set_Time(t_Hour, t_Minute, t_Period);
64  else
65  return false;
66 }
67 
68 // Implementazione del metodo 'set_Time' della categoria 'Value Setters'
69 // set_Time (3)
70 bool Alarm::set_Time(const String& t_Value)
71 {
72  // Imposto i valori degli attributi della classe "AlarmData" con i parametri 't_Hour', 't_Minute', 't_Period'
73  // Richiamo il metodo 'set_Time' della classe "AlarmData"
74  // Ritorno, inoltre, il valore booleano 'true' o 'false' indicante il risultato dell'operazione appena eseguita
75 
76  // Prima di effettuare una qualsiasi chiamata, verifico che l'oggetto 'm_Alarm' sia stato effettivamente allocato
77  if (m_Alarm)
78  return m_Alarm->set_Time(t_Value);
79  else
80  return false;
81 }
82 
83 // Implementazione del metodo 'set_Time' della categoria 'Value Setters'
84 // set_Time (4)
85 bool Alarm::set_Time(const String& t_Value, const Clock::TimePeriod& t_Period)
86 {
87  // Imposto i valori degli attributi della classe "AlarmData" con i parametri 't_Hour', 't_Minute', 't_Period'
88  // Richiamo il metodo 'set_Time' della classe "AlarmData"
89  // Ritorno, inoltre, il valore booleano 'true' o 'false' indicante il risultato dell'operazione appena eseguita
90 
91  // Prima di effettuare una qualsiasi chiamata, verifico che l'oggetto 'm_Alarm' sia stato effettivamente allocato
92  if (m_Alarm)
93  return m_Alarm->set_Time(t_Value, t_Period);
94  else
95  return false;
96 }
97 
98 // Implementazione del metodo 'set_State' della categoria 'Value Setters'
100 {
101  // Imposto il valore dell'attributo della classe "AlarmData" con il parametro 't_State'.
102  // Richiamo il metodo 'set_State' della classe "AlarmData"
103  // Ritorno, inoltre, il valore booleano 'true' o 'false' indicante il risultato dell'operazione appena eseguita
104 
105  // Prima di effettuare una qualsiasi chiamata, verifico che l'oggetto 'm_Alarm' sia stato effettivamente allocato
106  if (m_Alarm)
107  return m_Alarm->set_State(t_State);
108  else
109  return false;
110 }
111 
112 // Implementazione del metodo 'get_Alarm' della categoria 'LowLevel getters'
114 {
115  // Ritorno l'attributo 'm_Alarm' perch� rappresenta gi� un puntatore
116  return m_Alarm;
117 }
118 
119 // Implementazione del metodo 'get_SetTime' della categoria 'Metodi'
121 {
122  // Richiamo il metodo 'get_SetTime' della classe "AlarmData"
123  // Ritorno il valore che ritorna il metodo della classe "AlarmData" nel caso l'operazione di dereferenziamento dell'oggetto si conclude con successo.
124  // In caso contrario, ritorno il valore dell'invalidatore 'm_Invalidator'
125 
126  // Prima di effettuare una qualsiasi chiamata, verifico che l'oggetto 'm_Alarm' sia stato effettivamente allocato
127  if (m_Alarm)
128  {
130  return String(m_Invalidator);
131  else
132  return m_Alarm->get_SetTime();
133  }
134  else
135  return String(m_Invalidator);
136 }
137 
138 // Implementazione del metodo 'Check' della categoria 'Metodi'
140 {
141  // Controllo se la sveglia, nel momento della chiamata di questo stesso medesimo metodo, � in trigger oppure no
142  // Richiamo il metodo 'Check' della classe "AlarmData"
143  // Ritorno, inoltre, il valore booleano 'true' o 'false' indicante il risultato dell'operazione appena eseguita
144 
145  // Prima di effettuare una qualsiasi chiamata, verifico che l'oggetto 'm_Alarm' sia stato effettivamente allocato
146  if (m_Alarm)
147  return m_Alarm->Check();
148  else
149  return false;
150 }
151 
152 // Implementazione del metodo 'UpdateFormat' della categoria 'Metodi'
154 {
155  // Effettua l'aggiornamento del formato dell'ora dal punto di vista di AlarmData per sincronizzarlo con quello di Clock
156  // Richiamo il metodo 'UpdateFormat' della classe "AlarmData"
157  // Ritorno, inoltre, il valore booleano 'true' o 'false' indicante il risultato dell'operazione appena eseguita
158 
159  // Prima di effettuare una qualsiasi chiamata, verifico che l'oggetto 'm_Alarm' sia stato effettivamente allocato
160  if (m_Alarm)
161  return m_Alarm->UpdateFormat();
162  else
163  return false;
164 }
165 
Clock::TimePeriod
TimePeriod
Enumerazione per la gestione del periodo durante la visualizzazione dell'ora corrente.
Definition: Clock.h:182
AlarmData::get_CoreInvalidator
static const int & get_CoreInvalidator()
Permette di ottenere l'invalidatore del nucleo della classe.
Definition: AlarmData.cpp:333
Alarm::m_Alarm
static AlarmData * m_Alarm
Definition: Alarm.h:121
Alarm::m_Invalidator
static const int m_Invalidator
Definition: Alarm.h:369
Alarm.h
AlarmData::get_SetTime
String get_SetTime()
Restituisce il valore dell'ora impostata per il trigger della sveglia.
Definition: AlarmData.cpp:164
Alarm::set_Time
static bool set_Time(const unsigned int &t_Hour, const unsigned int &t_Minute)
Permette di impostare il valore dell'ora per il trigger della sveglia.
Definition: Alarm.cpp:40
Alarm::Init
static bool Init()
Metodo di inizializzazione dei componenti della classe.
Definition: Alarm.cpp:15
AlarmData::Check
bool Check()
Restituisce se la sveglia � in trigger al momento della chiamata del metodo stesso oppure no.
Definition: AlarmData.cpp:233
Alarm::get_Alarm
static AlarmData *const get_Alarm()
LowLevel getter per l'attributo m_Alarm.
Definition: Alarm.cpp:113
AlarmData::set_State
bool set_State(const AlarmState &t_State)
Permette di impostare lo stato della sveglia.
Definition: AlarmData.cpp:150
Alarm::get_SetTime
static String get_SetTime()
Restituisce il valore dell'ora impostata per il trigger della sveglia.
Definition: Alarm.cpp:120
AlarmData::UpdateFormat
bool UpdateFormat()
Aggiorna il formato dell'ora corrente dal punto di vista di AlarmData.
Definition: AlarmData.cpp:277
AlarmData
Classe di definizione dell'oggetto per la funzione 'sveglia'.
Definition: AlarmData.h:97
AlarmData::AlarmState
AlarmState
Enumerazione per la gestione dello stato della sveglia.
Definition: AlarmData.h:115
Alarm::set_State
static bool set_State(const AlarmData::AlarmState &t_State)
Permette di impostare lo stato della sveglia.
Definition: Alarm.cpp:99
AlarmData::set_Time
bool set_Time(const unsigned int &t_Hour, const unsigned int &t_Minute, const Clock::TimePeriod &t_Period=Clock::TimePeriod::NOT_USED)
Permette di impostare il valore dell'ora per il trigger della sveglia.
Definition: AlarmData.cpp:48
Alarm::UpdateFormat
static bool UpdateFormat()
Aggiorna il formato dell'ora corrente dal punto di vista di AlarmData.
Definition: Alarm.cpp:153
Alarm::Check
static bool Check()
Restituisce se la sveglia è in trigger al momento della chiamata del metodo stesso oppure no.
Definition: Alarm.cpp:139