Ejemplo n.º 1
0
    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
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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);
}