void test_interval() { bool thrown = false; time_t val = 0; try { val = interval_to_seconds(""); } catch (std::runtime_error const &re) { thrown = true; } assert_true(thrown); assert_equal(val, 0); thrown = false; try { val = interval_to_seconds("600x"); } catch (std::runtime_error const &re) { thrown = true; } assert_equal(val, 0); assert_true(thrown); thrown = false; try { val = interval_to_seconds("600s15"); } catch (std::runtime_error const &re) { thrown = true; } assert_true(thrown); assert_equal(val, 0); thrown = false; try { val = interval_to_seconds("y"); } catch (std::runtime_error const &re) { thrown = true; } assert_true(thrown); assert_equal(val, 0); thrown = false; try { val = interval_to_seconds("y600s"); } catch (std::runtime_error const &re) { thrown = true; } assert_true(thrown); assert_equal(val, 0); assert_equal(1, interval_to_seconds("1s")); assert_equal(60, interval_to_seconds("1m")); assert_equal(3600, interval_to_seconds("1h")); assert_equal(86400, interval_to_seconds("1d")); assert_equal(86400*365, interval_to_seconds("1y")); }
void BServerSocket::onTimer() { db->exec( "SELECT update_time(); " ); QSqlQuery query("SELECT ipaddress FROM tbl_realtime WHERE \ (timelimit - interval_to_seconds(currenttime - logintime)) < 6 AND warning1 = false AND timelimit > 0;",db); QSqlQuery target(db); if (query.isActive()) while (query.next()) { target.exec("UPDATE tbl_realtime SET warning1 = true WHERE ipaddress = '"+query.value(0).toString()+"'"); this->writeLineToSocket("SN02",(QSocket *)this->child(query.value(0).toString())); qDebug("updating"); } QSqlQuery query2("SELECT ipaddress FROM tbl_realtime WHERE \ (timelimit - interval_to_seconds(currenttime - logintime)) < 1 \ AND warning1 = true AND warning2 = false AND timelimit > 0",db); if (query2.isActive()) while (query2.next()) { target.exec("UPDATE tbl_realtime SET warning2 = true WHERE ipaddress = '"+query2.value(0).toString()+"'"); this->writeLineToSocket("SN03",(QSocket *)this->child(query2.value(0).toString())); qDebug("updating"); } //cek database apakah user ada yang udah waktunya hampir habis / sudah habis klo ada kabari update jam used time di database }
static void on_interval_combo_changed (GtkComboBox *combo, gpointer user_data) { ESource *source = user_data; gdouble time; guint seconds; gchar *value_string; GtkWidget *sb; IntervalType type; sb = g_object_get_data (G_OBJECT (combo), "interval-sb"); type = gtk_combo_box_get_active (combo); time = gtk_spin_button_get_value (GTK_SPIN_BUTTON (sb)); seconds = interval_to_seconds (type, time); value_string = g_strdup_printf ("%u", seconds); e_source_set_property (source, "refresh-interval", value_string); g_free (value_string); }
static void on_interval_sb_value_changed (GtkSpinButton *sb, gpointer user_data) { ESource *source = user_data; gdouble time; guint seconds; gchar *value_string; GtkWidget *interval_combo; IntervalType type; interval_combo = g_object_get_data (G_OBJECT (sb), "interval-combo"); type = gtk_combo_box_get_active (GTK_COMBO_BOX (interval_combo)); time = gtk_spin_button_get_value (sb); seconds = interval_to_seconds (type, time); value_string = g_strdup_printf ("%u", seconds); e_source_set_property (source, "refresh-interval", value_string); g_free (value_string); }