Beispiel #1
0
Datei: main.c Projekt: mardy/gimb
static gboolean
gimp_option_dump_gimprc (const gchar  *option_name,
                         const gchar  *value,
                         gpointer      data,
                         GError      **error)
{
  GimpConfigDumpFormat format = GIMP_CONFIG_DUMP_NONE;

  gimp_open_console_window ();

  if (strcmp (option_name, "--dump-gimprc") == 0)
    format = GIMP_CONFIG_DUMP_GIMPRC;
  if (strcmp (option_name, "--dump-gimprc-system") == 0)
    format = GIMP_CONFIG_DUMP_GIMPRC_SYSTEM;
  else if (strcmp (option_name, "--dump-gimprc-manpage") == 0)
    format = GIMP_CONFIG_DUMP_GIMPRC_MANPAGE;

  if (format)
    {
      Gimp     *gimp;
      gboolean  success;

      gimp = g_object_new (GIMP_TYPE_GIMP, NULL);

      units_init (gimp);

      success = gimp_config_dump (format);

      g_object_unref (gimp);

      app_exit (success ? EXIT_SUCCESS : EXIT_FAILURE);
    }

  return FALSE;
}
Beispiel #2
0
/**
 ****************************************************************************************
 * @brief Handles GAPC command completion events.
 *
 * @param[in] msgid     Id of the message received.
 * @param[in] param     Pointer to the parameters of the message.
 * @param[in] dest_id   ID of the receiving task instance (TASK_GAP).
 * @param[in] src_id    ID of the sending task instance.
 *
 * @return If the message was consumed or not.
 ****************************************************************************************
 */
int gapc_cmp_evt_handler(ke_msg_id_t msgid,
                         struct gapc_cmp_evt *param,
                         ke_task_id_t dest_id,
                         ke_task_id_t src_id)
{
    switch (param->operation)
    {
        case GAPC_ENCRYPT:
            if (param->status != CO_ERROR_NO_ERROR)
            {
                app_env.peer_device.bonded = 0;
                app_disconnect();
            }
            break;
        
        case GAPC_DISCONNECT:
            if (app_env.state == APP_DISCONNECTING)
            {
                printf("app_exit() after GAPC_DISCONNECT_CMD completion\n");
                app_exit();
            }

        default:
            break;
    }

    return 0;
}
Beispiel #3
0
// handler for call-state-change-events
static void on_call_state(pjsua_call_id call_id, pjsip_event *e)
{
	// get call infos
	pjsua_call_info ci;
	pjsua_call_get_info(call_id, &ci);
	
	// prevent warning about unused argument e
    PJ_UNUSED_ARG(e);
	
	// check call state
	if (ci.state == PJSIP_INV_STATE_CONFIRMED) 
	{
		log_message("Call confirmed.\n");
		
		call_confirmed = 1;
		
		// ensure that message is played from start
		if (play_id != PJSUA_INVALID_ID)
		{
			pjmedia_wav_player_port_set_pos(play_port, 0);
		}
	}
	if (ci.state == PJSIP_INV_STATE_DISCONNECTED) 
	{
		log_message("Call disconnected.\n");
		
		// exit app if call is finished/disconnected
		app_exit();
	}
}
Beispiel #4
0
static void
gimp_show_version_and_exit (void)
{
  gimp_open_console_window ();
  gimp_version_show (be_verbose);

  app_exit (EXIT_SUCCESS);
}
Beispiel #5
0
/**
 ****************************************************************************************
 * @brief Handles GAPM command completion events.
 *
 * @param[in] msgid     Id of the message received.
 * @param[in] param     Pointer to the parameters of the message.
 * @param[in] dest_id   ID of the receiving task instance (TASK_GAP).
 * @param[in] src_id    ID of the sending task instance.
 *
 * @return If the message was consumed or not.
 ****************************************************************************************
 */
int gap_cmp_evt_handler(ke_msg_id_t msgid,
                        struct gapm_cmp_evt *param,
                        ke_task_id_t dest_id,
                        ke_task_id_t src_id)
{
    if (param->status ==  CO_ERROR_NO_ERROR)
    {
        if(param->operation == GAPM_RESET)
        {
            gapm_reset_cmd_completed = TRUE;
            app_set_mode(); // initialize 
        }
        else if(param->operation == GAPM_SET_DEV_CONFIG)
        {
            // start scanning for target device
            printf("Scanning... \n");
            app_env.state = APP_SCAN;            
            app_inq();
        }
    }
    else
    {
        if(param->operation == GAPM_SCAN_ACTIVE || param->operation == GAPM_SCAN_PASSIVE)
        {
            // scan operation has completed
            app_env.state = APP_IDLE; 

            // check if the target device was found
            if (app_env.target_idx != -1)
            {
                // connect to the target
                printf("Connecting to target device...\n");
                app_connect(app_env.target_idx);
            }
            else
            {
                if ( app_env.scan_attempts_made < MAX_SCANNING_ATTEMPTS )
                {
                    // do next scan attempt
                    printf("Scanning...\n");
                    app_env.state = APP_SCAN;
                    app_inq();
                }
                else
                {
                    // no more scan attempts -> exit application
                    printf("Target device was not found. \n");
                    app_exit();
                }
            }

        }
    }

    return (KE_MSG_CONSUMED);
}
Beispiel #6
0
int main()
{
	app_init();

	app_run();

	app_exit();

	return 0;
}
Beispiel #7
0
static void
gimp_show_license_and_exit (void)
{
  gimp_open_console_window ();
  gimp_version_show (be_verbose);

  g_print ("\n");
  g_print (GIMP_LICENSE);
  g_print ("\n\n");

  app_exit (EXIT_SUCCESS);
}
Beispiel #8
0
static gboolean
toolbox_delete (GtkWidget *widget, GdkEvent *event, gpointer data)
{
  gulong handlerid;
  /** Stop toolbox_destroy from being called */
  handlerid = g_signal_handler_find(widget, G_SIGNAL_MATCH_FUNC,
				    0, 0, NULL, toolbox_destroy, NULL);
  if (handlerid != 0)
    g_signal_handler_disconnect (G_OBJECT (widget), handlerid);

  /** If the app didn't exit, don't close the window */
  return (!app_exit());
}
Beispiel #9
0
/**
 ****************************************************************************************
 * @brief Handles Discconnection completion event.
 *
 * @param[in] msgid     Id of the message received.
 * @param[in] param     Pointer to the parameters of the message.
 * @param[in] dest_id   ID of the receiving task instance (TASK_GAP).
 * @param[in] src_id    ID of the sending task instance.
 *
 * @return If the message was consumed or not.
 ****************************************************************************************
 */
int gapc_disconnect_ind_handler(ke_msg_id_t msgid,
                                struct gapc_disconnect_ind *param,
                                ke_task_id_t dest_id,
                                ke_task_id_t src_id)
{
    if (param->conhdl != app_env.peer_device.device.conhdl)
    {
        return 0;
    }

    if (app_env.state == APP_DISCONNECTING)
    {
        printf("Exiting... \n");
        app_exit();
    }
    else
    {
        // unexpected disconnection
        printf("Error: unexpected disconnection (reason = 0x%02X).\nProcedure failed\n", param->reason);
        app_exit();
    }

    return 0;
}
Beispiel #10
0
void help() {
    printf(
        "\n"
        "    -f file.fds [1..8]          write to flash (disk slot# 1..8)\n"
        "    -s file.fds [1..8]          read from flash\n"
        "    -r file.fds                 read disk\n"
        "    -R file.raw [file.bin]      read disk (raw)\n"
        "    -w file.fds                 write disk\n"
        "    -l                          list flash contents\n"
        "    -e [1..8 | all]             erase flash\n"
        "    -u file.fw                  update firmware\n"
        //"    -D file [addr] [size]       dump flash\n"
        //"    -W file [addr]              write flash\n"
    );
    app_exit(1);
}
Beispiel #11
0
void
app_abort (gboolean     no_interface,
           const gchar *abort_message)
{
#ifndef GIMP_CONSOLE_COMPILATION
  if (no_interface)
#endif
    {
      g_print ("%s\n\n", abort_message);
    }
#ifndef GIMP_CONSOLE_COMPILATION
  else
    {
      gui_abort (abort_message);
    }
#endif

  app_exit (EXIT_FAILURE);
}
Beispiel #12
0
static void main(uint8_t view, const app_t *app, svc_main_proc_event_t event) {
	hal_lcd_clear();
	if(event & SVC_MAIN_PROC_EVENT_KEY_UP) {
		INC_MOD(PRIV(app)->item_current, svc_melodies_n);
	}
	else if (event & SVC_MAIN_PROC_EVENT_KEY_DOWN) {
		DEC_MOD(PRIV(app)->item_current, svc_melodies_n);
	}
	else if (event & SVC_MAIN_PROC_EVENT_KEY_ENTER_LONG) {
		app_exit();
	}
	svc_lcd_puts(8, "pl");

	svc_lcd_puts(0, " pla");
	svc_lcd_putsn(4, 2, svc_melodies[PRIV(app)->item_current].title);
	if(event & SVC_MAIN_PROC_EVENT_KEY_ENTER) {
		svc_melody_play(PRIV(app)->item_current);
	}
}
Beispiel #13
0
// handler for media-finished-events
static pj_status_t on_media_finished(pjmedia_port *media_port, void *user_data)
{
	PJ_UNUSED_ARG(media_port);
	PJ_UNUSED_ARG(user_data);
	
	if (call_confirmed)
	{
		// count repetition
		media_counter++;
		
		// exit app if repetition limit is reached
		if (app_cfg.repetition_limit <= media_counter)
		{
			app_exit();
		}
	}
	
	pj_status_t status;
	return status;
}
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Resistance)
{

    ui->setupUi(this);


    md = new gamers_model ();

    connect(this,SIGNAL(app_exit()),SLOT(close()));

    //qWarning ("%s",)

    //ui->centralWidget->setStyleSheet("background-image: url(./resistance-02.jpg)");

    ui->centralWidget->setObjectName("main");

    ui->centralWidget->setStyleSheet(
                "QWidget#main { "
                "border-image: url(./resistance-02.jpg) no-repeat;"
                "}"



                );
    ui->listView ->setStyleSheet ("background-color: rgba(255, 255, 255, 70%); ");

    ui->pushButton_new_gamer->setStyleSheet ("background-color: rgba(255, 255, 255, 70%);");
    ui->pushButton_dlete_gamer->setStyleSheet ("background-color: rgba(255, 255, 255, 70%);");
    ui->pushButton_start_game->setStyleSheet("background-color: rgba(255, 255, 255, 70%);");

    ui->listView->setModel(md);
    Actor_Delegate * AD = new Actor_Delegate;
    ui->listView->setItemDelegate(AD);
    ui->listView->show();
    ui->listView->update();



}
Beispiel #15
0
static void main(uint8_t view, const app_t *app, svc_main_proc_event_t event) {
	hal_lcd_clear();
	if(event & SVC_MAIN_PROC_EVENT_KEY_UP) {
		INC_MOD(PRIV(app)->countdown_current, svc_countdowns_n);
	}
	else if (event & SVC_MAIN_PROC_EVENT_KEY_DOWN) {
		DEC_MOD(PRIV(app)->countdown_current, svc_countdowns_n);
	}
	else if(event & SVC_MAIN_PROC_EVENT_KEY_ENTER_LONG) {
		app_exit();
	}
	else if(event & SVC_MAIN_PROC_EVENT_KEY_DOWN_LONG) {
		svc_countdown_t cd;
		svc_countdown_get(PRIV(app_current)->countdown_current, &cd);
		if(cd.state == SVC_COUNTDOWN_STATE_STOP) {
			svc_countdown_start(PRIV(app_current)->countdown_current);
		}
		else {
			svc_countdown_stop(PRIV(app_current)->countdown_current);
		}
	}

	svc_countdown_t cd;
	svc_countdown_get(PRIV(app)->countdown_current, &cd);
	svc_lcd_puti(0, 2, cd.h);
	svc_lcd_puti(2, 2, cd.m);
	svc_lcd_puti(4, 2, cd.s);
	hal_lcd_seg_set(HAL_LCD_SEG_COLON, 1);
	hal_lcd_seg_set_blink(HAL_LCD_SEG_COLON, cd.state == SVC_COUNTDOWN_STATE_RUN);
	if(cd.state == SVC_COUNTDOWN_STATE_RUN) {
		svc_lcd_puts(8, "ru");
	}
	else {
		svc_lcd_puts(8, "st");
	}
	svc_lcd_puti(6, 2, PRIV(app)->countdown_current);
	if(event & SVC_MAIN_PROC_EVENT_KEY_ENTER) {
		app_set_view(app, 1);
	}
}
Beispiel #16
0
static gboolean
gimp_option_dump_pdb_procedures_deprecated (const gchar  *option_name,
                                            const gchar  *value,
                                            gpointer      data,
                                            GError      **error)
{
  Gimp  *gimp;
  GList *deprecated_procs;
  GList *iter;

  babl_init ();
  gimp = g_object_new (GIMP_TYPE_GIMP, NULL);

  /* Make sure to turn on compatibility mode so deprecated procedures
   * are included
   */
  gimp->pdb_compat_mode = GIMP_PDB_COMPAT_ON;

  /* Initialize the list of procedures */
  internal_procs_init (gimp->pdb);

  /* Get deprecated procedures */
  deprecated_procs = gimp_pdb_get_deprecated_procedures (gimp->pdb);

  for (iter = deprecated_procs; iter; iter = g_list_next (iter))
    {
      GimpProcedure *procedure = GIMP_PROCEDURE (iter->data);

      g_print ("%s\n", procedure->original_name);
    }

  g_list_free (deprecated_procs);

  g_object_unref (gimp);

  app_exit (EXIT_SUCCESS);

  return FALSE;
}
Beispiel #17
0
int main(int argc, char** argv) {
	setbuf(stdout, NULL);
	printf("FDSemu console app (" __DATE__ "), based on code by loopy\n");

	if (!dev_open() || argc<2 || argv[1][0] != '-') {
		help();
	}
	/*
	if(!firmware_update())  //auto-update old firmware
	app_exit(1);
	*/
	bool success = false;
	switch (argv[1][1]) {

	case 'F': //convert file.bin file.fds
		success = FDS_bintofds(argv[2], argv[3]);
		break;

	case 'c': //convert file.fds file.bin
		success = FDS_convertDisk(argv[2], argv[3]);
		break;

	case 'C': //convert file.fds file.bin
		success = FDS_convertDiskraw03(argv[2], argv[3]);
		break;

	case 'f': //flash -f file.fds [slot]
		if (argc<3)
			help();
		{
			int slot = 1;
			if (argc>3)
				sscanf(argv[3], "%i", &slot);
			success = FDS_writeFlash(argv[2], slot);
		}
		//		 app_exit(0);
		break;

	case 'L': //update the loader
		if (argc<3)
			help();
		{
			success = WriteLoader(argv[2]);
		}
		//		 app_exit(0);
		break;

	case 'U': //flash -f file.fds [slot]
		if (argc<3)
			help();
		{
			success = FW_writeFlash(argv[2]);
		}
		//		 app_exit(0);
		break;

	case 's': //save -s file.fds [slot]
		if (argc<3)
			help();
		{
			int slot = 1;
			if (argc>3)
				sscanf(argv[3], "%i", &slot);
			//TODO - name should be optional, it's already in flash
			success = FDS_readFlashToFDS(argv[2], slot);
		}
		break;

	case 'w':
		if (argc<3)
			help();
		success = FDS_writeDisk(argv[2]);
		break;

	case 'l':
		success = FDS_list();
		break;

	case 'r':   //readDisk -r file.fds
		if (argc<3)
			help();
		success = FDS_readDisk(NULL, NULL, argv[2]);
		break;

	case 'R':   //readRaw -R file.raw [file.bin]
		if (argc<3)
			help();
		success = FDS_readDisk(argv[2], argc>3 ? argv[3] : NULL, NULL);
		break;

	case 'e':   //erase -e [1..N | all]
		if (argc<3)
			help();
		{
			if (!strcmp(argv[2], "all")) {
				success = true;
				for (int addr = 0; addr<dev_flashSize; addr += SLOTSIZE)
					success &= spi_erasePage(addr);
			}
			else {
				int slot = 1;
				sscanf(argv[2], "%i", &slot);
				printf("erasing slot %d\n", slot);
				if (slot > 0) {
					success = spi_erasePage(SLOTSIZE*(slot));
				}
				else if (slot == 0) {
					printf("cannot erase the loader\n");
				}
				//TODO - erase all slots of a game
			}
		}
		break;

	case 'D':   //dump -D filename addr size
		if (argc<3)
			help();
		{
			int addr = 0, size = dev_flashSize;
			if (argc>3)
				sscanf(argv[3], "%i", &addr);
			if (argc>4)
				sscanf(argv[4], "%i", &size);
			success = spi_dumpFlash(argv[2], addr, size);
			break;
		}

	case 'W':   //write -W file [addr]
		if (argc<3)
			help();
		{
			int addr = 0;
			if (argc>3)
				sscanf(argv[3], "%i", &addr);
			success = spi_writeFile(argv[2], addr);
			break;
		}

		/*	case 'u': //update -u filename
		if(argc<3)
		help();
		{
		if(spi_writeFile(argv[2], 0xff0000))
		success=dev_updateFirmware();
		break;
		}
		*/
	case 'T':   //mfgTest -T ...
	{
		dev_selfTest();
		success = true;
		break;
	}


	default:
		help();
	}

	printf(success ? "Ok.\n" : "Failed.\n");
	if (!success)
		dev_printLastError();

	app_exit(success ? 0 : 1);
}
Beispiel #18
0
int main(int argc, char** argv) {
    setbuf(stdout,NULL);
    printf("FDSStick console app (" __DATE__ ")\n");

    if(!dev_open() || argc<2 || argv[1][0]!='-') {
        help();
    }

    bool success=false;
    switch(argv[1][1]) {

    case 'u': //update -u filename
        if(argc<3)
            help();
        {
            if(spi_writeFile(argv[2], 0xff0000))
                success=dev_updateFirmware();
            break;
        }

    case 'f': //flash -f file.fds [slot]
        if(argc<3)
            help();
        {
            int slot=1;
            if(argc>3)
                sscanf(argv[3],"%i",&slot);
            success=FDS_writeFlash(argv[2], slot);
        }
        break;

    case 's': //save -s file.fds [slot]
        if(argc<3)
            help();
        {
            int slot=1;
            if(argc>3)
                sscanf(argv[3],"%i",&slot);
            //TODO - name should be optional, it's already in flash
            success=FDS_readFlashToFDS(argv[2], slot);
        }
        break;

    case 'w':
        if(argc<3)
            help();
        success=FDS_writeDisk(argv[2]);
        break;

    case 'l':
        success=FDS_list();
        break;

    case 'r':   //readDisk -r file.fds
        if(argc<3)
            help();
        success=FDS_readDisk(NULL, NULL, argv[2]);
        break;

    case 'R':   //readRaw -R file.raw [file.bin]
        if(argc<3)
            help();
        success=FDS_readDisk(argv[2], argc>3?argv[3]:NULL, NULL);
        break;

    case 'e':   //erase -e [1..N | all]
        if(argc<3)
            help();
        {
            if(!strcmp(argv[2],"all")) {
                success=true;
                for(int addr=0; addr<dev_flashSize; addr+=SLOTSIZE)
                    success &= spi_erasePage(addr);
            } else {
                int slot=1;
                sscanf(argv[2],"%i",&slot);
                success=spi_erasePage(SLOTSIZE*(slot-1));
                //TODO - erase all slots of a game
            }
        }
        break;
/*
    case 'D':   //dump -D filename addr size
        if(argc<3)
            help();
        {
            int addr=0, size=dev_flashSize;
            if(argc>3)
                sscanf(argv[3],"%i",&addr);
            if(argc>4)
                sscanf(argv[4],"%i",&size);
            success=spi_dumpFlash(argv[2], addr, size);
            break;
        }

    case 'W':   //write -W file [addr]
        if(argc<3)
            help();
        {
            int addr=0;
            if(argc>3)
                sscanf(argv[3],"%i",&addr);
            success=spi_writeFile(argv[2], addr);
            break;
        }

    case 't':   //test ...
        if(argc<3)
            help();
        {
            FDS_rawToBin(argv[2], argc>3? argv[3]: NULL);
            break;
        }
*/
    default:
        help();
    }

    printf(success? "Ok.\n": "Failed.\n");
    if(!success)
        dev_printLastError();

    app_exit(success?0:1);
}
void MainWindow::on_actionExit_triggered()
{
    emit app_exit();
}
Beispiel #20
0
// handler for "break-in-key"-events (e.g. ctrl+c)
static void signal_handler(int signal) 
{
	// exit app
	app_exit();
}
Beispiel #21
0
static void
toolbox_destroy (GtkWidget *widget, gpointer data)
{
  app_exit();
}
Beispiel #22
0
void app_app_time_display_main(uint8_t view, const app_t *app, svc_main_proc_event_t event) {
	hal_lcd_set_mode(HAL_LCD_MODE_IMMEDIATE);
	hal_rtc_timedate_t td;
	hal_rtc_get(&td);
	hal_rtc_timedate_t *td_last = &(PRIV(app)->td_last);
	if(PRIV(app)->needs_clear) {
		PRIV(app)->needs_clear = 1;
		memset(td_last, 0xff, sizeof(hal_rtc_timedate_t)); //force update of all digits
	}
	if(event & SVC_MAIN_PROC_EVENT_KEY_ENTER_LONG) {
		app_set_view(app, 1);
	}
	else if(event & SVC_MAIN_PROC_EVENT_KEY_DOWN) {
		PRIV(app)->display_date = !PRIV(app)->display_date;
		PRIV(app)->needs_clear = 1;
		memset(td_last, 0xff, sizeof(hal_rtc_timedate_t)); //force update of all digits
	}
	else if(event & SVC_MAIN_PROC_EVENT_KEY_UP) {
		app_exit();
	}
	if(PRIV(app)->needs_clear) {
		hal_lcd_clear();
	}
	if(PRIV(app)->display_date) {
		hal_lcd_seg_set(HAL_LCD_SEG_COLON, 0); 
		svc_lcd_puti(0, 4, td.year);
		svc_lcd_puti(4, 2, td.month);
		svc_lcd_puti(6, 2, td.dom);
	}
	else {
		switch(*(PRIV(app)->base)) {
			case BASE_DEC :
				hal_lcd_seg_set(HAL_LCD_SEG_COLON, 1); 
				hal_lcd_seg_set_blink(HAL_LCD_SEG_COLON, 1);
				if(td.h != td_last->h)
					svc_lcd_puti_fast(0, 2, td.h);
				if(td.m != td_last->m)
					svc_lcd_puti_fast(2, 2, td.m);
				if(td.s != td_last->s)
					svc_lcd_puti_fast(4, 2, td.s);
				if(td.dom != td_last->dom)
					svc_lcd_puti_fast(6, 2, td.dom);
			break;
			
			case BASE_HEX :
				hal_lcd_seg_set(HAL_LCD_SEG_COLON, 1); 
				hal_lcd_seg_set_blink(HAL_LCD_SEG_COLON, 1); 
				if(td.h != td_last->h)
					svc_lcd_putix(0, 2, td.h);
				if(td.m != td_last->m)
					svc_lcd_putix(2, 2, td.m);
				if(td.s != td_last->s)
					svc_lcd_putix(4, 2, td.s);
				if(td.dom != td_last->dom)
					svc_lcd_putix(6, 2, td.dom);
			break;
			
			case BASE_BIN :
				hal_lcd_seg_set(HAL_LCD_SEG(1, 6), 1);
				hal_lcd_seg_set(HAL_LCD_SEG(2, 6), 1);
				hal_lcd_seg_set(HAL_LCD_SEG(3, 6), 1);
				
				if(td.h != td_last->h) {
					hal_lcd_seg_set(HAL_LCD_SEG(3, 1), td.h&(1<<0));
					hal_lcd_seg_set(HAL_LCD_SEG(3, 5), td.h&(1<<1));
					hal_lcd_seg_set(HAL_LCD_SEG(2, 1), td.h&(1<<2));
					hal_lcd_seg_set(HAL_LCD_SEG(2, 5), td.h&(1<<3));
					hal_lcd_seg_set(HAL_LCD_SEG(1, 1), td.h&(1<<4));
				}
				
				if(td.m != td_last->m) {
					hal_lcd_seg_set(HAL_LCD_SEG(3, 2), td.m&(1<<0));
					hal_lcd_seg_set(HAL_LCD_SEG(3, 4), td.m&(1<<1));
					hal_lcd_seg_set(HAL_LCD_SEG(2, 2), td.m&(1<<2));
					hal_lcd_seg_set(HAL_LCD_SEG(2, 4), td.m&(1<<3));
					hal_lcd_seg_set(HAL_LCD_SEG(1, 2), td.m&(1<<4));
					hal_lcd_seg_set(HAL_LCD_SEG(1, 4), td.m&(1<<5));
				}
				
				if(td.s != td_last->s) {
					hal_lcd_seg_set(HAL_LCD_SEG(5, 0), td.s>(60/8));
					hal_lcd_seg_set(HAL_LCD_SEG(5, 1), td.s>((60/8)*2));
					hal_lcd_seg_set(HAL_LCD_SEG(5, 2), td.s>((60/8)*3));
					hal_lcd_seg_set(HAL_LCD_SEG(5, 3), td.s>((60/8)*4));
					hal_lcd_seg_set(HAL_LCD_SEG(4, 3), td.s>((60/8)*5));
					hal_lcd_seg_set(HAL_LCD_SEG(4, 4), td.s>((60/8)*6));
					hal_lcd_seg_set(HAL_LCD_SEG(4, 5), td.s>((60/8)*7));
					hal_lcd_seg_set(HAL_LCD_SEG(4, 0), td.s>((60/8)*8));
				}
				if(td.dom != td_last->dom)
					svc_lcd_puti_fast(6, 2, td.dom);
			break;
			
		}
	}
	if(td.dow != td_last->dow)
		svc_lcd_puts(8, svc_dow_to_string(td.dow, *(PRIV(app)->lang)));
	*td_last = td;
	PRIV(app)->needs_clear = 0;
}
Beispiel #23
0
static gboolean
_osx_app_exit (GtkosxApplication *app,
	       gpointer           user_data)
{
  return !app_exit ();
}
Beispiel #24
0
void
toolbox_delete (GtkWidget *widget, gpointer data)
{
  app_exit();
}
Beispiel #25
0
Datei: main.c Projekt: mardy/gimb
int
main (int    argc,
      char **argv)
{
  GOptionContext *context;
  GError         *error = NULL;
  const gchar    *abort_message;
  gchar          *basename;
  gint            i;

#if defined (__GNUC__) && defined (_WIN64)
  /* mingw-w64, at least the unstable build from late July 2008,
   * starts subsystem:windows programs in main(), but passes them
   * bogus argc and argv. __argc and __argv are OK, though, so just
   * use them.
   */
  argc = __argc;
  argv = __argv;
#endif

#ifdef G_OS_WIN32
  /* Reduce risks */
  {
    typedef BOOL (WINAPI *t_SetDllDirectoryA) (LPCSTR lpPathName);
    t_SetDllDirectoryA p_SetDllDirectoryA;

    p_SetDllDirectoryA = GetProcAddress (GetModuleHandle ("kernel32.dll"),
					 "SetDllDirectoryA");
    if (p_SetDllDirectoryA)
      (*p_SetDllDirectoryA) ("");
  }
#ifndef _WIN64
  {
    typedef BOOL (WINAPI *t_SetProcessDEPPolicy) (DWORD dwFlags);
    t_SetProcessDEPPolicy p_SetProcessDEPPolicy;

    p_SetProcessDEPPolicy = GetProcAddress (GetModuleHandle ("kernel32.dll"),
					    "SetProcessDEPPolicy");
    if (p_SetProcessDEPPolicy)
      (*p_SetProcessDEPPolicy) (PROCESS_DEP_ENABLE|PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION);
  }
#endif
#endif

#ifdef GIMP_UNSTABLE
  gimp_open_console_window ();
#endif

  gimp_init_malloc ();

  gimp_env_init (FALSE);

  gimp_log_init ();

  gimp_init_i18n ();

  g_set_application_name (GIMP_NAME);

  basename = g_path_get_basename (argv[0]);
  g_set_prgname (basename);
  g_free (basename);

  /* Check argv[] for "--verbose" first */
  for (i = 1; i < argc; i++)
    {
      const gchar *arg = argv[i];

      if (arg[0] != '-')
        continue;

      if ((strcmp (arg, "--verbose") == 0) || (strcmp (arg, "-v") == 0))
        {
          be_verbose = TRUE;
        }
    }

  /* Check argv[] for "--no-interface" before trying to initialize gtk+. */
  for (i = 1; i < argc; i++)
    {
      const gchar *arg = argv[i];

      if (arg[0] != '-')
        continue;

      if ((strcmp (arg, "--no-interface") == 0) || (strcmp (arg, "-i") == 0))
        {
          no_interface = TRUE;
        }
      else if ((strcmp (arg, "--version") == 0) || (strcmp (arg, "-v") == 0))
        {
          gimp_show_version_and_exit ();
        }
#if defined (G_OS_WIN32) && !defined (GIMP_CONSOLE_COMPILATION)
      else if ((strcmp (arg, "--help") == 0) ||
               (strcmp (arg, "-?") == 0) ||
               (strncmp (arg, "--help-", 7) == 0))
        {
          gimp_open_console_window ();
        }
#endif
    }

#ifdef GIMP_CONSOLE_COMPILATION
  no_interface = TRUE;
#endif

  context = g_option_context_new (_("[FILE|URI...]"));
  g_option_context_set_summary (context, GIMP_NAME);

  g_option_context_add_main_entries (context, main_entries, GETTEXT_PACKAGE);

  app_libs_init (context, no_interface);

  if (! g_option_context_parse (context, &argc, &argv, &error))
    {
      if (error)
        {
          gimp_open_console_window ();
          g_print ("%s\n", error->message);
          g_error_free (error);
        }
      else
        {
          g_print ("%s\n",
                   _("GIMP could not initialize the graphical user interface.\n"
                     "Make sure a proper setup for your display environment "
                     "exists."));
        }

      app_exit (EXIT_FAILURE);
    }

  if (no_interface || be_verbose || console_messages || batch_commands != NULL)
    gimp_open_console_window ();

  if (no_interface)
    new_instance = TRUE;

#ifndef GIMP_CONSOLE_COMPILATION
  if (! new_instance && gimp_unique_open (filenames, as_new))
    {
      if (be_verbose)
	g_print ("%s\n",
		 _("Another GIMP instance is already running."));

      gdk_notify_startup_complete ();

      return EXIT_SUCCESS;
    }
#endif

  abort_message = sanity_check ();
  if (abort_message)
    app_abort (no_interface, abort_message);

  gimp_init_signal_handlers (stack_trace_mode);

  app_run (argv[0],
           filenames,
           system_gimprc,
           user_gimprc,
           session_name,
           batch_interpreter,
           batch_commands,
           as_new,
           no_interface,
           no_data,
           no_fonts,
           no_splash,
           be_verbose,
           use_shm,
           use_cpu_accel,
           console_messages,
           use_debug_handler,
           stack_trace_mode,
           pdb_compat_mode);

  g_option_context_free (context);

  return EXIT_SUCCESS;
}
Beispiel #26
0
int
main (int    argc,
      char **argv)
{
  GOptionContext *context;
  GError         *error = NULL;
  const gchar    *abort_message;
  gchar          *basename;
  GFile          *system_gimprc_file = NULL;
  GFile          *user_gimprc_file   = NULL;
  gint            i;

#if defined (__GNUC__) && defined (_WIN64)
  /* mingw-w64, at least the unstable build from late July 2008,
   * starts subsystem:windows programs in main(), but passes them
   * bogus argc and argv. __argc and __argv are OK, though, so just
   * use them.
   */
  argc = __argc;
  argv = __argv;
#endif

#ifdef G_OS_WIN32
  /* Reduce risks */
  {
    typedef BOOL (WINAPI *t_SetDllDirectoryA) (LPCSTR lpPathName);
    t_SetDllDirectoryA p_SetDllDirectoryA;

    p_SetDllDirectoryA =
      (t_SetDllDirectoryA) GetProcAddress (GetModuleHandle ("kernel32.dll"),
                                           "SetDllDirectoryA");
    if (p_SetDllDirectoryA)
      (*p_SetDllDirectoryA) ("");
  }

  /* On Windows, set DLL search path to $INSTALLDIR/bin so that .exe
     plug-ins in the plug-ins directory can find libgimp and file
     library DLLs without needing to set external PATH. */
  {
    const gchar *install_dir;
    gchar       *bin_dir;
    LPWSTR       w_bin_dir;
    int          n;

    w_bin_dir = NULL;
    install_dir = gimp_installation_directory ();
    bin_dir = g_build_filename (install_dir, "bin", NULL);

    n = MultiByteToWideChar (CP_UTF8, MB_ERR_INVALID_CHARS,
                             bin_dir, -1, NULL, 0);
    if (n == 0)
      goto out;

    w_bin_dir = g_malloc_n (n + 1, sizeof (wchar_t));
    n = MultiByteToWideChar (CP_UTF8, MB_ERR_INVALID_CHARS,
                             bin_dir, -1,
                             w_bin_dir, (n + 1) * sizeof (wchar_t));
    if (n == 0)
      goto out;

    SetDllDirectoryW (w_bin_dir);

  out:
    if (w_bin_dir)
      g_free (w_bin_dir);
    g_free (bin_dir);
  }

#ifdef HAVE_EXCHNDL
  /* Use Dr. Mingw (dumps backtrace on crash) if it is available. */
  {
    time_t t;
    gchar *filename;
    gchar *dir;
    gchar *path;

    /* This has to be the non-roaming directory (i.e., the local
       directory) as backtraces correspond to the binaries on this
       system. */
    dir = g_build_filename (g_get_user_data_dir (),
                            GIMPDIR, GIMP_USER_VERSION, "CrashLog",
                            NULL);
    /* Ensure the path exists. */
    g_mkdir_with_parents (dir, 0700);

    time (&t);
    filename = g_strdup_printf ("%s-crash-%" G_GUINT64_FORMAT ".txt",
                                g_get_prgname(), t);
    path = g_build_filename (dir, filename, NULL);
    g_free (filename);
    g_free (dir);

    ExcHndlInit ();
    ExcHndlSetLogFileNameA (path);

    g_free (path);
  }
#endif

#ifndef _WIN64
  {
    typedef BOOL (WINAPI *t_SetProcessDEPPolicy) (DWORD dwFlags);
    t_SetProcessDEPPolicy p_SetProcessDEPPolicy;

    p_SetProcessDEPPolicy =
      (t_SetProcessDEPPolicy) GetProcAddress (GetModuleHandle ("kernel32.dll"),
                                              "SetProcessDEPPolicy");
    if (p_SetProcessDEPPolicy)
      (*p_SetProcessDEPPolicy) (PROCESS_DEP_ENABLE|PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION);
  }
#endif

  /* Group all our windows together on the taskbar */
  {
    typedef HRESULT (WINAPI *t_SetCurrentProcessExplicitAppUserModelID) (PCWSTR lpPathName);
    t_SetCurrentProcessExplicitAppUserModelID p_SetCurrentProcessExplicitAppUserModelID;

    p_SetCurrentProcessExplicitAppUserModelID =
      (t_SetCurrentProcessExplicitAppUserModelID) GetProcAddress (GetModuleHandle ("shell32.dll"),
                                                                  "SetCurrentProcessExplicitAppUserModelID");
    if (p_SetCurrentProcessExplicitAppUserModelID)
      (*p_SetCurrentProcessExplicitAppUserModelID) (L"gimp.GimpApplication");
  }
#endif

#ifdef GIMP_UNSTABLE
  gimp_open_console_window ();
#endif

  gimp_init_malloc ();

  gimp_env_init (FALSE);

  gimp_log_init ();

  gimp_init_i18n ();

  g_set_application_name (GIMP_NAME);

#ifdef G_OS_WIN32
  argv = g_win32_get_command_line ();
#else
  argv = g_strdupv (argv);
#endif

  basename = g_path_get_basename (argv[0]);
  g_set_prgname (basename);
  g_free (basename);

  /* Check argv[] for "--verbose" first */
  for (i = 1; i < argc; i++)
    {
      const gchar *arg = argv[i];

      if (arg[0] != '-')
        continue;

      if ((strcmp (arg, "--verbose") == 0) || (strcmp (arg, "-v") == 0))
        {
          be_verbose = TRUE;
        }
    }

  /* Check argv[] for "--no-interface" before trying to initialize gtk+. */
  for (i = 1; i < argc; i++)
    {
      const gchar *arg = argv[i];

      if (arg[0] != '-')
        continue;

      if ((strcmp (arg, "--no-interface") == 0) || (strcmp (arg, "-i") == 0))
        {
          no_interface = TRUE;
        }
      else if ((strcmp (arg, "--version") == 0) || (strcmp (arg, "-v") == 0))
        {
          gimp_show_version_and_exit ();
        }
#if defined (G_OS_WIN32) && !defined (GIMP_CONSOLE_COMPILATION)
      else if ((strcmp (arg, "--help") == 0) ||
               (strcmp (arg, "-?") == 0) ||
               (strncmp (arg, "--help-", 7) == 0))
        {
          gimp_open_console_window ();
        }
#endif
    }

#ifdef GIMP_CONSOLE_COMPILATION
  no_interface = TRUE;
#endif

  context = g_option_context_new (_("[FILE|URI...]"));
  g_option_context_set_summary (context, GIMP_NAME);

  g_option_context_add_main_entries (context, main_entries, GETTEXT_PACKAGE);

  app_libs_init (context, no_interface);

  if (! g_option_context_parse_strv (context, &argv, &error))
    {
      if (error)
        {
          gimp_open_console_window ();
          g_print ("%s\n", error->message);
          g_error_free (error);
        }
      else
        {
          g_print ("%s\n",
                   _("GIMP could not initialize the graphical user interface.\n"
                     "Make sure a proper setup for your display environment "
                     "exists."));
        }

      app_exit (EXIT_FAILURE);
    }

  if (no_interface || be_verbose || console_messages || batch_commands != NULL)
    gimp_open_console_window ();

  if (no_interface)
    new_instance = TRUE;

#ifndef GIMP_CONSOLE_COMPILATION
  if (! new_instance && gimp_unique_open (filenames, as_new))
    {
      if (be_verbose)
        g_print ("%s\n",
                 _("Another GIMP instance is already running."));

      if (batch_commands)
        gimp_unique_batch_run (batch_interpreter, batch_commands);

      gdk_notify_startup_complete ();

      return EXIT_SUCCESS;
    }
#endif

  abort_message = sanity_check ();
  if (abort_message)
    app_abort (no_interface, abort_message);

  gimp_init_signal_handlers (stack_trace_mode);

  if (system_gimprc)
    system_gimprc_file = g_file_new_for_commandline_arg (system_gimprc);

  if (user_gimprc)
    user_gimprc_file = g_file_new_for_commandline_arg (user_gimprc);

  app_run (argv[0],
           filenames,
           system_gimprc_file,
           user_gimprc_file,
           session_name,
           batch_interpreter,
           batch_commands,
           as_new,
           no_interface,
           no_data,
           no_fonts,
           no_splash,
           be_verbose,
           use_shm,
           use_cpu_accel,
           console_messages,
           use_debug_handler,
           show_playground,
           stack_trace_mode,
           pdb_compat_mode);

  if (system_gimprc_file)
    g_object_unref (system_gimprc_file);

  if (user_gimprc_file)
    g_object_unref (user_gimprc_file);

  g_strfreev (argv);

  g_option_context_free (context);

  return EXIT_SUCCESS;
}
Beispiel #27
0
// main application
int main(int argc, char *argv[])
{
	// first set some default values
	app_cfg.tts_file = "play.wav";
	app_cfg.record_call = 0;
	app_cfg.repetition_limit = 3;
	app_cfg.silent_mode = 0; 
	app_cfg.sip_realm = "*";

	// parse arguments
	if (argc > 1)
	{
		int arg;
		for( arg = 1; arg < argc; arg+=2 )
		{
			// check if usage info needs to be displayed
			if (!strcasecmp(argv[arg], "--help"))
			{
				// display usage info and exit app
				usage(0);
				exit(0);			
			}
			
			// check for sip domain
			if (try_get_argument(arg, "-sd", &app_cfg.sip_domain, argc, argv) == 1)
			{
				continue;
			}
			
			// check for sip realm
			if (try_get_argument(arg, "-sr", &app_cfg.sip_realm, argc, argv) == 1)
			{
				continue;
			}
			
			
			// check for sip user
			if (try_get_argument(arg, "-su", &app_cfg.sip_user, argc, argv) == 1)
			{
				continue;
			}
			
			// check for sip password
			if (try_get_argument(arg, "-sp", &app_cfg.sip_password, argc, argv) == 1)
			{
				continue;
			}
			
			// check for target phone number
			if (try_get_argument(arg, "-pn", &app_cfg.phone_number, argc, argv) == 1)
			{
				continue;
			}
			
			// check for text to speak
			if (try_get_argument(arg, "-tts", &app_cfg.tts, argc, argv) == 1)
			{
				continue;
			}
			
			// check for wave file to play (no tts) 
			if (try_get_argument(arg, "-wav", &app_cfg.wav_file, argc, argv) == 1)
			{
				continue;
			}
			
			// check for record call option
			if (try_get_argument(arg, "-ttsf", &app_cfg.tts_file, argc, argv) == 1)
			{
				continue;
			}
			
			// check for record call option
			if (try_get_argument(arg, "-rcf", &app_cfg.record_file, argc, argv) == 1)
			{
				app_cfg.record_call = 1;
				continue;
			}
			
			// check for message repetition option
			char *mr;
			if (try_get_argument(arg, "-mr", &mr, argc, argv) == 1)
			{
				app_cfg.repetition_limit = atoi(mr); 
				continue;
			}
			
			// check for silent mode option
			char *s;
			try_get_argument(arg, "-s", &s, argc, argv);
			if (!strcasecmp(s, "1"))
			{
				app_cfg.silent_mode = 1;
				continue;
			}
		}
	} 
	else
	{
		// no arguments specified - display usage info and exit app
		usage(1);
		exit(1);
	}
	
	if (!app_cfg.sip_domain || !app_cfg.sip_user || !app_cfg.sip_password || !app_cfg.phone_number || !(app_cfg.tts || app_cfg.wav_file))
	{
		// too few arguments specified - display usage info and exit app
		usage(1);
		exit(1);
	}
	
	// print infos
	log_message("SIP Call - Simple TTS-based Automated Calls\n");
	log_message("===========================================\n");
	
	// register signal handler for break-in-keys (e.g. ctrl+c)
	signal(SIGINT, signal_handler);
	signal(SIGKILL, signal_handler);
	
	if (!app_cfg.wav_file) {
		// synthesize speech 
		synthesize_speech(app_cfg.tts_file);	
	}
	
	// setup up sip library pjsua
	setup_sip();
	
	// create account and register to sip server
	register_sip();
		
	// Short delay beetween registering and calling
	pj_thread_sleep(500); 
	
	// initiate call
	make_sip_call();
	
	// app loop
	for (;;) { 
		pj_thread_sleep(100); 
	}
	
	// exit app
	app_exit();
	
	return 0;
}