RadioSvegliaGBE
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Static Private Attributes | List of all members
Clock Class Reference

Classe per la gestione della sincronizzazione online dell'ora corrente. More...

#include <Clock.h>

Collaboration diagram for Clock:
Collaboration graph

Public Types

enum class  TimeFormat { _12HOURS , _24HOURS , INVALID_REFERENCE }
 Enumerazione per la gestione del formato di visualizzazione dell'ora corrente. More...
 
enum class  TimePeriod { NOT_USED , AM , PM }
 Enumerazione per la gestione del periodo durante la visualizzazione dell'ora corrente. More...
 

Static Public Member Functions

static bool Init ()
 Metodo di inizializzazione dei componenti della classe.
 
static bool Init (const TimeFormat &t_TimeFormat)
 Metodo di inizializzazione dei componenti della classe.
 
static bool Init (WiFiUDP *t_UDPProtocol, const char *t_PoolingZone, const int &t_TimeOffset, const int &t_UpdateInterval, const TimeFormat &t_TimeFormat)
 Metodo di inizializzazione dei componenti della classe.
 
static WiFiUDP *const get_UDPProtocol ()
 LowLevel getter per l'attributo m_UDPProtocol.
 
static NTPClient *const get_NTPEntryPoint ()
 LowLevel getter per l'attributo m_NTPEntryPoint.
 
static const char *const get_PoolingZone ()
 LowLevel getter per l'attributo m_PoolingZone.
 
static int *const get_TimeOffset ()
 LowLevel getter per l'attributo m_TimeOffset.
 
static int *const get_UpdateInterval ()
 LowLevel getter per l'attributo m_UpdateInterval.
 
static TimeFormat *const get_TimeFormat ()
 LowLevel getter per l'attributo m_TimeFormat.
 
static TimePeriod *const get_TimePeriod ()
 LowLevel getter per l'attributo m_TimePeriod.
 
static bool ReInit ()
 LowLevel reallocator della classe Clock.
 
static bool set_TimeFormat (const TimeFormat &t_TimeFormat)
 Permette di impostare il formato di visualizzazione dell'ora corrente.
 
static int get_Day ()
 Permette di ottenere il valore del giorno corrente sincronizzato online.
 
static int get_Hours ()
 Permette di ottenere il valore dell'ora sincronizzata online. Il formato è: 'h/hh'.
 
static int get_Minutes ()
 Permette di ottenere il valore dell'ora sincronizzata online. Il formato è: 'm/mm'.
 
static int get_Seconds ()
 Permette di ottenere il valore dell'ora sincronizzata online. Il formato è: 's/ss'.
 
static String get_CurrentFormattedTime ()
 Permette di ottenere il valore dell'ora sincronizzata online. Il formato è: 'hh:mm:ss'.
 
static String get_CurrentFormattedTimeHM ()
 Permette di ottenere il valore dell'ora sincronizzata online. Il formato è: 'hh:mm'.
 
static unsigned long get_EpochTime ()
 Permette di ottenere il valore dell'ora sincronizzata online Il formato è: 'secondi passati dal '1 Gennaio 1900''.
 
static const TimePeriod get_Period ()
 Permette di ottenere il valore del periodo corrente.
 
static const TimeFormat get_Format ()
 Permette di ottenere il valore del formato corrente dell'ora.
 
static const int & get_Invalidator ()
 Permette di ottenere l'invalidatore della classe.
 

Private Member Functions

 Clock ()=default
 Costruttore di default della classe Clock.
 
 ~Clock ()=default
 Distruttore della classe Clock.
 

Static Private Member Functions

static bool StartService ()
 Metodo per avviare il servizio di sincronizzazione online dell'ora corrente.
 
static bool StopService ()
 Metodo per arrestare il servizio di sincronizzazione online dell'ora corrente.
 

Static Private Attributes

static WiFiUDP * m_UDPProtocol = nullptr
 
static NTPClient * m_NTPEntryPoint = nullptr
 
static const char * m_PoolingZone
 
static int m_TimeOffset
 
static int m_UpdateInterval
 
static TimeFormat m_TimeFormat
 
static TimePeriod m_Period
 
static const int m_Invalidator = Clock__file::_invalidvalue
 

Detailed Description

Classe per la gestione della sincronizzazione online dell'ora corrente.

La seguente classe fornisce tutti i metodi necessari alla gestione della sincronizzazione online dell'ora corrente

Definition at line 119 of file Clock.h.

Member Enumeration Documentation

◆ TimeFormat

enum class Clock::TimeFormat
strong

Enumerazione per la gestione del formato di visualizzazione dell'ora corrente.

Formati disponibili: 12 ORE 24 ORE

Enumerator
_12HOURS 
_24HOURS 
INVALID_REFERENCE 

Definition at line 165 of file Clock.h.

◆ TimePeriod

enum class Clock::TimePeriod
strong

Enumerazione per la gestione del periodo durante la visualizzazione dell'ora corrente.

Stati possibili: NOT_USED Il periodo non è in uso AM Il periodo è impostato sullo stato AM (Ante Meridiem) PM Il periodo è impostato sullo stato PM (Post Meridiem)

Enumerator
NOT_USED 
AM 
PM 

Definition at line 182 of file Clock.h.

Constructor & Destructor Documentation

◆ Clock()

Clock::Clock ( )
privatedefault

Costruttore di default della classe Clock.

Costruttore di default equivalente al costruttore trivial della seguente classe. Il seguente costruttore non sarà accessibile durante l'utilizzo della classe.

◆ ~Clock()

Clock::~Clock ( )
privatedefault

Distruttore della classe Clock.

Distruttore equivalente al distruttore trivial della seguente classe. Il seguente distruttore non sarà accessibile durante l'utilizzo della classe.

Member Function Documentation

◆ get_CurrentFormattedTime()

String Clock::get_CurrentFormattedTime ( )
static

Permette di ottenere il valore dell'ora sincronizzata online. Il formato è: 'hh:mm:ss'.

Questo metodo permette di ottenere come valore di ritorno il valore dell'ora corrente sincronizzata online. Il formato è: 'hh:mm:ss'

Precondition
L'inizializzazione della classe deve essere già stata eseguita.
Returns
Il valore dell'ora sincronizzata online nel formato 'hh:mm:ss'
See also
WiFi.status()
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint
Clock::TimeFormat
Clock::TimePeriod

Definition at line 458 of file Clock.cpp.

Here is the call graph for this function:

◆ get_CurrentFormattedTimeHM()

String Clock::get_CurrentFormattedTimeHM ( )
static

Permette di ottenere il valore dell'ora sincronizzata online. Il formato è: 'hh:mm'.

Questo metodo permette di ottenere come valore di ritorno il valore dell'ora corrente sincronizzata online. Il formato è: 'hh:mm'

Precondition
L'inizializzazione della classe deve essere già stata eseguita.
Returns
Il valore dell'ora sincronizzata online nel formato 'hh:mm'
See also
WiFi.status()
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint
Clock::TimeFormat
Clock::TimePeriod

Definition at line 569 of file Clock.cpp.

Here is the call graph for this function:

◆ get_Day()

int Clock::get_Day ( )
static

Permette di ottenere il valore del giorno corrente sincronizzato online.

Questo metodo permette di ottenere come valore di ritorno il valore del giorno corrente sincronizzato online.

Precondition
L'inizializzazione della classe deve essere già stata eseguita.
Returns
Il valore del giorno sincronizzato online
See also
WiFi.status()
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint

Definition at line 319 of file Clock.cpp.

◆ get_EpochTime()

unsigned long Clock::get_EpochTime ( )
static

Permette di ottenere il valore dell'ora sincronizzata online Il formato è: 'secondi passati dal '1 Gennaio 1900''.

Questo metodo permette di ottenere come valore di ritorno il valore dell'ora sincronizzata online. Il formato è: 'secondi passati dal '1 Gennaio 1900''

Precondition
L'inizializzazione della classe deve essere già stata eseguita.
Returns
Il valore dell'ora sincronizzata online nel formato 'secondi passati dal '1 Gennaio 1900''
See also
WiFi.status()
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint

Definition at line 698 of file Clock.cpp.

Here is the caller graph for this function:

◆ get_Format()

const Clock::TimeFormat Clock::get_Format ( )
static

Permette di ottenere il valore del formato corrente dell'ora.

Questo metodo permette di ottenere come valore di ritorno il valore del formato corrente dell'ora.

See also
Clock::TimeFormat
Precondition
L'inizializzazione della classe deve essere già stata eseguita.
Returns
Il valore del periodo corrente
See also
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint

Definition at line 746 of file Clock.cpp.

Here is the caller graph for this function:

◆ get_Hours()

int Clock::get_Hours ( )
static

Permette di ottenere il valore dell'ora sincronizzata online. Il formato è: 'h/hh'.

Questo metodo permette di ottenere come valore di ritorno il valore dell'ora corrente sincronizzata online. Il formato è: 'h/hh'

Precondition
L'inizializzazione della classe deve essere già stata eseguita.
Returns
Il valore dell'ora sincronizzata online nel formato: 'h/hh'
See also
WiFi.status()
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint
Clock::TimeFormat
Clock::TimePeriod

Definition at line 346 of file Clock.cpp.

Here is the caller graph for this function:

◆ get_Invalidator()

const int & Clock::get_Invalidator ( )
inlinestatic

Permette di ottenere l'invalidatore della classe.

Questo metodo permette di ottenere come valore di ritorno il valore dell'invalidatore utilizzato per questa classe. Questo valore dovrebbe essere usato in confronti con i valori di ritorno dei metodi getter per controllare l'eventuale presenza di errori.

Returns
L'invalidatore della classe Clock
See also
Clock::m_Invalidator

Definition at line 761 of file Clock.cpp.

Here is the caller graph for this function:

◆ get_Minutes()

int Clock::get_Minutes ( )
static

Permette di ottenere il valore dell'ora sincronizzata online. Il formato è: 'm/mm'.

Questo metodo permette di ottenere come valore di ritorno il valore dell'ora corrente sincronizzata online. Il formato è: 'm/mm'

Precondition
L'inizializzazione della classe deve essere già stata eseguita.
Returns
Il valore dell'ora sincronizzata online nel formato: 'm/mm'
See also
WiFi.status()
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint

Definition at line 404 of file Clock.cpp.

Here is the caller graph for this function:

◆ get_NTPEntryPoint()

NTPClient *const Clock::get_NTPEntryPoint ( )
static

LowLevel getter per l'attributo m_NTPEntryPoint.

Metodo destinato a utilizzi per debugging o management manuale

Returns
Punto di accesso costante a valore modificabile per l'attributo m_NTPEntryPoint
Attention
Metodo sensibile che può influenzare il corretto funzionamento del codice
See also
Clock::m_NTPEntryPoint

Definition at line 206 of file Clock.cpp.

◆ get_Period()

const Clock::TimePeriod Clock::get_Period ( )
static

Permette di ottenere il valore del periodo corrente.

Questo metodo permette di ottenere come valore di ritorno il valore del periodo corrente.

See also
Clock::TimePeriod
Precondition
L'inizializzazione della classe deve essere già stata eseguita.
Returns
Il valore del periodo corrente
See also
WiFi.status()
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint

Definition at line 732 of file Clock.cpp.

Here is the caller graph for this function:

◆ get_PoolingZone()

const char *const Clock::get_PoolingZone ( )
static

LowLevel getter per l'attributo m_PoolingZone.

Metodo destinato a utilizzi per debugging o management manuale

Returns
Punto di accesso costante a valore modificabile per l'attributo m_PoolingZone
Attention
Metodo sensibile che può influenzare il corretto funzionamento del codice
See also
Clock::m_PoolingZone

Definition at line 213 of file Clock.cpp.

◆ get_Seconds()

int Clock::get_Seconds ( )
static

Permette di ottenere il valore dell'ora sincronizzata online. Il formato è: 's/ss'.

Questo metodo permette di ottenere come valore di ritorno il valore dell'ora corrente sincronizzata online. Il formato è: 's/ss'

Precondition
L'inizializzazione della classe deve essere già stata eseguita.
Returns
Il valore dell'ora sincronizzata online nel formato: 's/ss'
See also
WiFi.status()
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint

Definition at line 431 of file Clock.cpp.

Here is the caller graph for this function:

◆ get_TimeFormat()

Clock::TimeFormat *const Clock::get_TimeFormat ( )
static

LowLevel getter per l'attributo m_TimeFormat.

Metodo destinato a utilizzi per debugging o management manuale

Returns
Punto di accesso costante a valore modificabile per l'attributo m_TimeFormat
Attention
Metodo sensibile che può influenzare il corretto funzionamento del codice
See also
Clock::m_TimeOffset

Definition at line 237 of file Clock.cpp.

◆ get_TimeOffset()

int *const Clock::get_TimeOffset ( )
static

LowLevel getter per l'attributo m_TimeOffset.

Metodo destinato a utilizzi per debugging o management manuale

Returns
Punto di accesso costante a valore modificabile per l'attributo m_TimeOffset
Attention
Metodo sensibile che può influenzare il corretto funzionamento del codice
See also
Clock::m_TimeOffset

Definition at line 221 of file Clock.cpp.

◆ get_TimePeriod()

Clock::TimePeriod *const Clock::get_TimePeriod ( )
static

LowLevel getter per l'attributo m_TimePeriod.

Metodo destinato a utilizzi per debugging o management manuale

Returns
Punto di accesso costante a valore modificabile per l'attributo m_TimePeriod
Attention
Metodo sensibile che può influenzare il corretto funzionamento del codice
See also
Clock::m_Period

Definition at line 245 of file Clock.cpp.

◆ get_UDPProtocol()

WiFiUDP *const Clock::get_UDPProtocol ( )
static

LowLevel getter per l'attributo m_UDPProtocol.

Metodo destinato a utilizzi per debugging o management manuale

Returns
Punto di accesso costante a valore modificabile per l'attributo m_UDPProtocol
Attention
Metodo sensibile che può influenzare il corretto funzionamento del codice
See also
Clock::m_UDPProtocol

Definition at line 199 of file Clock.cpp.

◆ get_UpdateInterval()

int *const Clock::get_UpdateInterval ( )
static

LowLevel getter per l'attributo m_UpdateInterval.

Metodo destinato a utilizzi per debugging o management manuale

Returns
Punto di accesso costante a valore modificabile per l'attributo m_UpdateInterval
Attention
Metodo sensibile che può influenzare il corretto funzionamento del codice
See also
Clock::m_UpdateInterval

Definition at line 229 of file Clock.cpp.

◆ Init() [1/3]

bool Clock::Init ( )
static

Metodo di inizializzazione dei componenti della classe.

Questo metodo inizializza tutti i componenti della classe, assicurando una sicura gestione della memoria. Per tale motivo, prima di poter utilizzare la classe, è necessario richiamare il suddetto metodo.

Returns
Un valore booleano per comunicare la corretta o errata inizializzazione
Return values
trueInizializzazione correttamente eseguita
falseErrore durante l'inizializzazione
Note
Questo è il primo metodo da richiamare per iniziare ad utilizzare la classe
See also
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint
Clock::m_PoolingZone
Clock::m_TimeOffset
Clock::m_UpdateInterval
Clock::m_TimeFormat
Clock::m_Period

Definition at line 16 of file Clock.cpp.

Here is the call graph for this function:

◆ Init() [2/3]

bool Clock::Init ( const TimeFormat t_TimeFormat)
static

Metodo di inizializzazione dei componenti della classe.

Questo metodo inizializza tutti i componenti della classe, assicurando una sicura gestione della memoria. Per tale motivo, prima di poter utilizzare la classe, è necessario richiamare il suddetto metodo.

Parameters
[in]t_TimeFormatIl formato di visualizzazione dell'ora
Returns
Un valore booleano per comunicare la corretta o errata inizializzazione
Return values
trueInizializzazione correttamente eseguita
falseErrore durante l'inizializzazione
Note
Questo è il primo metodo da richiamare per iniziare ad utilizzare la classe
See also
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint
Clock::m_PoolingZone
Clock::m_TimeOffset
Clock::m_UpdateInterval
Clock::m_TimeFormat
Clock::m_Period

Definition at line 66 of file Clock.cpp.

Here is the call graph for this function:

◆ Init() [3/3]

bool Clock::Init ( WiFiUDP *  t_UDPProtocol,
const char *  t_PoolingZone,
const int &  t_TimeOffset,
const int &  t_UpdateInterval,
const TimeFormat t_TimeFormat 
)
static

Metodo di inizializzazione dei componenti della classe.

Questo metodo inizializza tutti i componenti della classe, assicurando una sicura gestione della memoria. Per tale motivo, prima di poter utilizzare la classe, è necessario richiamare il suddetto metodo.

Parameters
[in]t_UDPProtocolIl protocollo di comunicazione per la sincronizzazione online dell'ora corrente
[in]t_PoolingZoneLa "pool zone" del server dalla quale prelevare le informazioni
[in]t_TimeOffsetIl valore di ridimensionamento dell'ora corrente in base al fuso orario in uso
[in]t_UpdateIntervalLa frequenza di aggiornamento AUTOMATICO dell'ora corrente sincronizzata online
[in]t_TimeFormatIl formato di visualizzazione dell'ora
Returns
Un valore booleano per comunicare la corretta o errata inizializzazione
Return values
trueInizializzazione correttamente eseguita
falseErrore durante l'inizializzazione
Note
Questo è il primo metodo da richiamare per iniziare ad utilizzare la classe
See also
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint
Clock::m_PoolingZone
Clock::m_TimeOffset
Clock::m_UpdateInterval
Clock::m_TimeFormat
Clock::m_Period

Definition at line 118 of file Clock.cpp.

Here is the call graph for this function:

◆ ReInit()

bool Clock::ReInit ( )
static

LowLevel reallocator della classe Clock.

Metodo destinato a utilizzi per debugging o management manuale Effettua una rinizializzazione della classe con i valori attuali contenuti negli attributi

Returns
Un valore booleano per comunicare la corretta o errata inizializzazione
Return values
trueInizializzazione correttamente eseguita
falseErrore durante l'inizializzazione
Attention
Metodo sensibile che può influenzare il corretto funzionamento del codice
See also
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint
Clock::m_PoolingZone
Clock::m_TimeOffset
Clock::m_UpdateInterval
Clock::m_TimeFormat
Clock::m_Period

Definition at line 253 of file Clock.cpp.

Here is the call graph for this function:

◆ set_TimeFormat()

bool Clock::set_TimeFormat ( const TimeFormat t_TimeFormat)
static

Permette di impostare il formato di visualizzazione dell'ora corrente.

Questo metodo permette di impostare il valore di visualizzazione dell'ora corrente.

See also
Clock::TimeFormat
Precondition
L'inizializzazione della classe deve essere già stata eseguita.
Parameters
[in]t_TimeFormatIl formato di visualizzazione dell'ora
Returns
Un valore booleano che indica se il parametro fornito ha provocato o meno una modifica interna
Return values
trueModifica effettuata
falseNesuuna modifica effettuata perchè nessuna modifica era necessaria
See also
Clock::m_UDPProtocol
Clock::m_NTPEntryPoint
Clock::m_TimeFormat

Definition at line 297 of file Clock.cpp.

◆ StartService()

bool Clock::StartService ( )
staticprivate

Metodo per avviare il servizio di sincronizzazione online dell'ora corrente.

Metodo che consente l'avvio del servizio di sincronizzazione online dell'ora corrente.

Precondition
Richiesta una connessione ad Internet già stabilita
Il servizio non deve essere già in esecuzione
L'inizializzazione della classe deve essere già stata eseguita.
Returns
Un valore booleano per comunicare la corretta o errata procedura di avvio.
Return values
trueProcedura di avvio eseguita correttamente
falseErrore durante la procedura di avvio
Note
Questo metodo va richiamato prima di poter utilizzare i metodi getter della seguente classe
See also
WiFi.status()
Clock::m_NTPEntryPoint

Definition at line 167 of file Clock.cpp.

Here is the caller graph for this function:

◆ StopService()

bool Clock::StopService ( )
staticprivate

Metodo per arrestare il servizio di sincronizzazione online dell'ora corrente.

Metodo che consente l'arresto del servizio di sincronizzazione online dell'ora corrente.

Precondition
Il servizio deve essere in esecuzione
L'inizializzazione della classe deve essere già stata eseguita.
Returns
Un valore booleano per comunicare la corretta o errata procedura di arresto.
Return values
trueProcedura di arresto eseguita correttamente
falseErrore durante la procedura di arresto
Note
Metodo importato per la soddisfazione degli standard "Service Management". Non produce alcun risultato visibilmente utile.
See also
Clock::m_NTPEntryPoint

Definition at line 185 of file Clock.cpp.

Here is the caller graph for this function:

Member Data Documentation

◆ m_Invalidator

const int Clock::m_Invalidator = Clock__file::_invalidvalue
staticprivate

Rappresenta l'invalidatore della classe Clock

Definition at line 822 of file Clock.h.

◆ m_NTPEntryPoint

NTPClient * Clock::m_NTPEntryPoint = nullptr
staticprivate

Rappresenta l'entità che consente la comunicazione con il Time Server per la sincronizzazione online dell'ora corrente

Definition at line 213 of file Clock.h.

◆ m_Period

Clock::TimePeriod Clock::m_Period
staticprivate

Indica il periodo per la visualizzazione dell'ora

Definition at line 268 of file Clock.h.

◆ m_PoolingZone

const char * Clock::m_PoolingZone
staticprivate

Rappresenta la "pool zone" del server dalla quale prelevare le informazioni

Definition at line 222 of file Clock.h.

◆ m_TimeFormat

Clock::TimeFormat Clock::m_TimeFormat
staticprivate

Rappresenta il formato di visualizzazione dell'ora

Definition at line 257 of file Clock.h.

◆ m_TimeOffset

int Clock::m_TimeOffset
staticprivate

Rappresenta il valore di ridimensionamento dell'ora corrente in base al fuso orario in uso

Definition at line 234 of file Clock.h.

◆ m_UDPProtocol

WiFiUDP * Clock::m_UDPProtocol = nullptr
staticprivate

Rappresenta il protocollo di comunicazione per la sincronizzazione online dell'ora corrente

Definition at line 204 of file Clock.h.

◆ m_UpdateInterval

int Clock::m_UpdateInterval
staticprivate

Rappresenta la frequenza di aggiornamento AUTOMATICO dell'ora corrente sincronizzata online

Definition at line 248 of file Clock.h.


The documentation for this class was generated from the following files: