Files
eqn.ios/Sources/Earthquake Network/Costanti.h
T
2020-09-24 10:26:55 +02:00

291 lines
12 KiB
C

//
// Costanti.h
// Earthquake Network
//
// Created by Luca Beretta on 14/09/18.
// Copyright © 2018 Luca Beretta. All rights reserved.
//
#ifndef Costanti_h
#define Costanti_h
#pragma mark - Urls
static NSString * const EQNWebsiteAddress = @"https://www.sismo.app";
static NSString * const EQNTwitterProfileUrl = @"https://twitter.com/SismoDetector";
#pragma mark - Math Constants
// costante gravitazionale
#define G 9.81
// URL registrazione server
#define URL_SERVER_REGISTRAZIONE @"http://srv.earthquakenetwork.it/distquake_upload_gcm_regid2.php"
// URL posizione server
#define URL_SERVER_POSIZIONE @"http://srv.earthquakenetwork.it/distquake_upload_gcm_latlon.php"
#define URL_SERVER_CAL_RIL @"http://srv.earthquakenetwork.it/distquake_upload4.php"
// download rete smartphone
#define URL_SERVER_DOWNLOAD @"http://srv.earthquakenetwork.it/distquake_count_redis.php"
// download grafico smartphone
#define URL_SERVER_GEAFICO_UTENTI @"http://srv.earthquakenetwork.it/distquake_download_users.php"
// download area check
#define URL_SERVER_AREA_CHECK @"http://srv.earthquakenetwork.it/distquake_download_areacheck.php"
// download pastquakes
#define URL_SERVER_PAST_QUAKES @"http://srv.earthquakenetwork.it/distquake_download_pastquakes.php"
// download Utenti disponibili
#define URL_SERVER_UTENTI_DISPONIBILI @"http://srv.earthquakenetwork.it/distquake_count_top_redis.php"
// download tempo disponibili passare a Pro
#define URL_SERVER_TEMPO_DISPONIBILI @"http://srv.earthquakenetwork.it/distquake_download_offer_status.php"
// download segnalazioni
#define URL_SERVER_DOWNLOAD_SEGNALAZIONI_UTENTE @"http://srv.earthquakenetwork.it/distquake_download_manual.php"
// Invio segnalazione
#define URL_SERVER_UPLOAD_SEGNALAZIONI_UTENTE @"http://srv.earthquakenetwork.it/distquake_upload_manual3.php"
#define URL_SERVER_UPLOAD_SEGNALAZIONI_COMMENTO_UTENTE @"http://srv.earthquakenetwork.it/distquake_upload_manual_message.php"
#define URL_SERVER_DOWNLOAD_OFFER_TIME_REMAINING @"http://srv.earthquakenetwork.it/distquake_download_offer_time_remaining.php"
// upload impostazioni // http://srv.earthquakenetwork.it/distquake_upload_settings8.php
#define URL_SERVER_UPLOAD_IMPOSTAZIONI @"http://srv.earthquakenetwork.it/distquake_upload_settings9.php"
#define URL_LINK_MESSAGGIO @"http://www.finazzieng.it/mysql/distquake_download_message.php"
#define TEMPO_INVIO_MESSAGGIO 5
#define TEMPO_INVIO_COMMENTO 30
// download reti sismiche
#define URL_SERVER_DOWNLOAD_RETI_SISMICHE @"http://srv.earthquakenetwork.it/distquake_download_automatic14.php"
// Tsunami
#define URL_SERVER_DOWNLOAD_TSUNAMI @"http://srv.earthquakenetwork.it/distquake_download_tsunami.php"
// colori navigation bar
#define COLORE_BARRA_NAVIGAZIONE [UIColor colorWithRed:198.0/255.0 green:213.0/255.0 blue:247.0/255.0 alpha:1.0]
// colori celle tableview rete sismi
#define COLORE_CELLA_MAGNITUTE_LEGGERA [UIColor colorWithRed:208.0/255.0 green:234.0/255.0 blue:201.0/255.0 alpha:1.0]
#define COLORE_CELLA_MAGNITUTE_LEGGERA_ETI [UIColor colorWithRed:215.0/255.0 green:253.0/255.0 blue:210.0/255.0 alpha:1.0]
#define COLORE_CELLA_MAGNITUTE_MEDIA [UIColor colorWithRed:254.0/255.0 green:252.0/255.0 blue:203.0/255.0 alpha:1.0]
#define COLORE_CELLA_MAGNITUTE_MEDIA_ETI [UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:245.0/255.0 alpha:1.0]
#define COLORE_CELLA_MAGNITUTE_FORTE [UIColor colorWithRed:254.0/255.0 green:186.0/255.0 blue:186.0/255.0 alpha:1.0]
#define COLORE_CELLA_MAGNITUTE_FORTE_ETI [UIColor colorWithRed:252.0/255.0 green:219.0/255.0 blue:219.0/255.0 alpha:1.0]
#define COLORE_CELLA_MAGNITUTE_FORTE_TESTO [UIColor colorWithRed:240.0/255.0 green:0.0/255.0 blue:14.0/255.0 alpha:1.0]
#define COLORE_CELLA_MAGNITUTE_MEDIA_TESTO [UIColor colorWithRed:238.0/255.0 green:185.0/255.0 blue:14.0/255.0 alpha:1.0]
#define COLORE_CELLA_MAGNITUTE_LEGGERA_TESTO [UIColor colorWithRed:26.0/255.0 green:144.0/255.0 blue:20.0/255.0 alpha:1.0]
// rete Smartphone
#define IDENTIFIER_ANNOTATION_RETESMARTPHONE @"IDENTIFIER_ANNOTATION_RETESMARTPHONE"
// pastequakes
#define IDENTIFIER_ANNOTATION_PASTQUAKES @"IDENTIFIER_ANNOTATION_PASTQUAKES"
// sismi
#define IDENTIFIER_ANNOTATION_SISMI @"IDENTIFIER_ANNOTATION_SISMI"
// rete smartphone notifiche
#define IDENTIFIER_ANNOTATION_RS_NOTIFICA @"IDENTIFIER_ANNOTATION_RS_NOTIFICA"
// filtriMappaTime
typedef enum : NSInteger {
dieciMinuti = 0,
unOra,
dueOre,
seiOre,
dodiciOre,
unGiorno,
unaSettimana,
unMese,
unAnno
} EQNFiltriMappa;
// cella tipo Rete sismica
typedef enum : NSInteger {
defaultCell = 0,
mappaCell,
meteoCell
} EQNReteSismicaCell;
// dettagli Mappa tipo
typedef enum : NSInteger {
reteSmartphone = 0,
reteSismica,
segnalazioneUtenti
} EQNTipoDettagliMappa;
// Chiave googleMaps
#define GOOGLE_MAP_KEY @"AIzaSyDc2V2vpBmbSnAisiN18rY17Dm7lzVWNAg"
// NOTIFICHE
#define NOTIFICA_DOWNLOAD_TERMINATO @"NOTIFICA_DOWNLOAD_TERMINATO"
#define MESSAGGIO @"MESSAGGIO_ERRORE"
typedef enum : NSInteger {
registrazione = 0,
posizione,
calibrazione,
rilevamento,
downloadDati,
graficoSmartPhone,
areaCheck,
pastquakes,
utentiDisponibili,
tempoDisponibile,
segnalazioneManuale,
tsunami,
segnalazzioneTerremoto,
commentoTerremoto,
impostazioniNotifiche,
offerTimeRemaining
} EQNTipoChiamata;
// Manager
#define MANAGER_DATA_RETE_SMARTPHONE @"MANAGER_DATA_RETE_SMARTPHONE"
#define MANAGER_DATA_AREA_CHECK @"MANAGER_DATA_AREA_CHECK"
#define MANAGER_DATA_DATI_GRAFICO_UTENTI @"MANAGER_DATA_DATI_GRAFICO_UTENTI"
#define MANAGER_DATA_DATI_PASTQUAKES @"MANAGER_DATA_DATI_PASTQUAKES"
#define MANAGER_DATA_ELENCO_SEGNALAZIONI_MANUALI @"MANAGER_DATA_ELENCO_SEGNALAZIONI_MANUALI"
#define MANAGER_DATA_RETI_SISMICHE @"MANAGER_DATA_RETI_SISMICHE"
#define MANAGER_DATA_LISTA_TSUNAMI @"MANAGER_DATA_LISTA_TSUNAMI"
// chiavi rMax e rMin
#define rMax @"rMax"
#define rMin @"rMin"
// costante frequenza campionamento accelerometro
#define kUpdateInterval (1.0f / 100.0f)
// costante distanza posizione per avviare la segnalazone
#define DISTANZA_METRI_SEGNALAZIONE 8000
#define TEMPO_AGGIORNAMENTO_POSIZIONE 5400
//////////////////////////////////////// RILEVAMENTO ////////////////////////////////////////
// secondi durata rilevamento
#define SECONDI_RILIEVO 3
// Soglia deviazione standard se superata lo stato del rilievo è positivo altrimenti negativo
#define SOGLIA_DEVIAZIONE_RILIEVO 1.8
// stato rilievo
// il parametro viene inviato al server e_t1
typedef enum : NSInteger {
negativo = 0,
positivo
} EQNRilevamentoSoglia;
//////////////////////////////////////// CALIBRAZIONE ////////////////////////////////////////
// secondi durata calibrazione
#define SECONDI_CALIBRAZIONE 120
#define TEMPO_LATENZA_CALIBRAZIONE 120
#define TEMPO_RIPETIZIONE_CALIBRAZIONE 1800
// soglia valore che il valore massimo r non deve superare
#define SOGLIAMAX 0.2
// soglia valore che il valore minimo r non deve superare
#define SOGLIAMIN -0.2
// stato calibrazione
// il parametro viene inviato al server e_t
typedef enum : NSInteger {
calibrato = 0,
nonCalibrato
} EQNStatoCal;
//////////////////////////////////////// SEGNALAZIONE MANUALE TERREMOTI ////////////////////////////////////////
#define CODE_MESSAGE_EQN @"CODE_MESSAGE_EQN"
#define DATA_MESSAGE_EQN @"DATA_MESSAGE_EQN"
//////////////////////////////////////// USER ////////////////////////////////////////
#define TOKEN_USER @"EQNToken_User"
#define USER_ID @"EQNUSER_ID"
#define LAST_LOCATION @"EQNLast_Location"
#define DISTANZA_USER @"EQNDistanza_User"
#define NOTIFICA_TOKEN @"FCMToken_EQN"
#endif /* Costanti_h */
/////////////////////////////////// impostazioni ////////////////////////////////////
#define NOTIFICHE_ORA_INIZIO @"NOTIFICHE_ORA_INIZIO"
#define NOTIFICHE_ORA_FINE @"NOTIFICHE_ORA_FINE"
#define NOTIFICHE_ATTIVA_ORARIO @"NOTIFICHE_ATTIVA_ORARIO"
///////////////////// Tempo reale /////////////////////////////////
#define NOTIFICHE_TR_DISTANZA_TEMPO_REALE_LIEVE @"NOTIFICHE_TR_DISTANZA_TEMPO_REALE_LIEVE"
#define NOTIFICHE_TR_DISTANZA_TEMPO_REALE_FORTE @"NOTIFICHE_TR_DISTANZA_TEMPO_REALE_FORTE"
#define NOTIFICHE_TR_ATTIVA_TEMPO_REALE @"NOTIFICHE_TR_ATTIVA_TEMPO_REALE"
#define NOTIFICHE_TR_ATTIVA_SISMI_SENZA_INTENSITA @"NOTIFICHE_TR_ATTIVA_SISMI_SENZA_INTENSITA"
#define NOTIFICHE_TR_ATTIVA_SISMI_FORTI @"NOTIFICHE_TR_ATTIVA_SISMI_FORTI"
/////////////////// Segnalazioni Utente ////////////////////////////
#define NOTIFICHE_SU_DISTANZA_POSIZIONE @"NOTIFICHE_SU_DISTANZA_POSIZIONE"
#define NOTIFICHE_SU_ATTIVA_SEGNALAZIONE_UTENTE @"NOTIFICHE_SU_ATTIVA_SEGNALAZIONE_UTENTE"
/////////////////// Reti sismiche ////////////////////////////
#define NOTIFICHE_DISTANZA_POSIZIONE_RETI_SISMICHE @"NOTIFICHE_DISTANZA_POSIZIONE_RETI_SISMICHE"
#define NOTIFICHE_ATTIVA_RETI_SISMICHE @"NOTIFICHE_ATTIVA_RETI_SISMICHE"
#define NOTIFICHE_ATTIVA_RETI_SISMICHE_VICINE @"NOTIFICHE_ATTIVA_RETI_SISMICHE_VICINE"
#define NOTIFICHE_ATTIVA_RETI_TERREMOTI_FORTI @"NOTIFICHE_ATTIVA_RETI_TERREMOTI_FORTI"
#define NOTIFICHE_ATTIVA_RETI_ENERGIA_SISMI @"NOTIFICHE_ATTIVA_RETI_ENERGIA_SISMI"
#define NOTIFICHE_ATTIVA_RETI_ENERGIA_FORTI @"NOTIFICHE_ATTIVA_RETI_ENERGIA_FORTI"
#define NOTIFICHE_ATTIVA_RETI_LISTA_ENTI @"NOTIFICHE_ATTIVA_RETI_LISTA_ENTI"
// Sigla della rete sismica selezionata
#define IMPOSTAZIONE_NAZIONE_RETI_SISMICHE @"IMPOSTAIONE_NAZIONE_RETI_SISMICHE"
#define IMPOSTAZIONE_ENTI_RETI_SISMICHEI @"IMPOSTAZIONE_ENTI_RETI_SISMICHEI"
#define IMPOSTAZIONE_TIPO_FILTRO_RETI_SISMICHEI @"IMPOSTAZIONE_TIPO_FILTRO_RETI_SISMICHEI"
/////////////////// Tsunami ////////////////////////////
#define NOTIFICHE_ORA_INIZIO_TSUNAMI @"NOTIFICHE_ORA_INIZIO_TSUNAMI"
#define NOTIFICHE_ORA_FINE_TSUNAMI @"NOTIFICHE_ORA_FINE_TSUNAMI"
#define NOTIFICHE_ABILITATO_TSUNAMI @"NOTIFICHE_ABILITATO_TSUNAMI"
#define NOTIFICHE_ABILITATO_ITERVALLO_TSUNAMI @"NOTIFICHE_ABILITATO_ITERVALLO_TSUNAMI"
#define NOTIFICHE_LISTA_MESSAGGI__TSUNAMI @"NOTIFICHE_LISTA_MESSAGGI__TSUNAMI"
#define NOTIFICHE_LISTA_AREE_INTERESSE_TSUNAMI @"NOTIFICHE_LISTA_AREE_INTERESSE_TSUNAMI"
/////////////////// Allera sismica ////////////////////////////
#define NOTIFICHE_ALLERA_SISMICA_ABILITATO @"NOTIFICHE_ALLERA_SISMICA_ABILITATO"
#define NOTIFICHE_ALLERA_SISMICA_SISMI_DA_NOTIFICARE @"NOTIFICHE_ALLERA_SISMICA_SISMI_DA_NOTIFICARE"
#define NOTIFICHE_ALLERA_SISMICA_RAGGIO_SISMI_LIEVI @"NOTIFICHE_ALLERA_SISMICA_RAGGIO_SISMI_LIEVI"
#define NOTIFICHE_ALLERA_SISMICA_RAGGIO_SISMI_FORTI @"NOTIFICHE_ALLERA_SISMICA_RAGGIO_SISMI_FORTI"
#define NOTIFICHE_ALLERA_SISMICA_TONO_ALLARME @"NOTIFICHE_ALLERA_SISMICA_TONO_ALLARME"
#define NOTIFICHE_ALLERA_SISMICA_IMPOSTA_VOLUME @"NOTIFICHE_ALLERA_SISMICA_IMPOSTA_VOLUME"
#define NOTIFICHE_ALLERA_SISMICA_TESTA_ALLARME @"NOTIFICHE_ALLERA_SISMICA_TESTA_ALLARME"
#define NOTIFICHE_ALLERA_SISMICA_ABILITA_INTERVALLO @"NOTIFICHE_ALLERA_SISMICA_ABILITA_INTERVALLO"
#define NOTIFICHE_ALLERA_SISMICA_ORA_INIZIO @"NOTIFICHE_ALLERA_SISMICA_ORA_INIZIO"
#define NOTIFICHE_ALLERA_SISMICA_ORA_FINE @"NOTIFICHE_ALLERA_SISMICA_ORA_INIZIO"
// NOTIFICHE RETE SMARTPHONE
#define NOTIFICHE_RETE_SMARTPHONE_DATA_NOTIFICA @"NOTIFICHE_RETE_SMARTPHONE_DATA_NOTIFICA"
#define NOTIFICHE_RETE_SMARTPHONE_DIZIONARIO_NOTIFICA @"NOTIFICHE_RETE_SMARTPHONE_DIZIONARIO_NOTIFICA"
#define TEMPO_VISUALIZZAZIONE_NOTIFICA 10800
// AD MOB
//ADMOB_APP_ID
#define EQN_ADMOB_APP_IDA @"ca-app-pub-0053870219990922~2021960172"
#define EQN_ADMOB_ANNUNCIO_IDA @"ca-app-pub-0053870219990922/3394298808"
#define EQN_ADMOB_ANNUNCIO_IDA_TEST @"ca-app-pub-3940256099942544/2934735716"
// ACQUISTI IN APP
#define CONTEGGIO_APERTURE_PER_SCONTO @"CONTEGGIO_APERTURE_PER_SCONTO"
#define PREZZO_SCONTATO_SCADUTO @"PREZZO_SCONTATO_SCADUTO"
#define IAPHelperPurchaseNotification @"IAPHelperPurchaseNotification"
// FILTRO ENTI
#define EQN_MAGNITUDO_MINIMA @"EQN_MAGNITUDO_MINIMA"
#define EQN_DISTANZA_MASSIMA @"EQN_DISTANZA_MASSIMA"
#define EQN_ETA_MASSIMA @"EQN_ETA_MASSIMA"
#define EQN_SISMI_FORTI_ABILITATI @"EQN_SISMI_FORTI_ABILITATI"
#define EQN_SISMI_FORTI @"EQN_SISMI_FORTI"
#define EQN_SISMI_QUALSIASI_MAGNITUDO @"EQN_SISMI_QUALSIASI_MAGNITUDO"
#define EQN_SISMI_MODIFICA_IMPOSTAZIONI @"EQN_SISMI_MODIFICA_IMPOSTAZIONI"