Esempio n. 1
0
void rarch_main_data_iterate(void)
{
   data_runloop_t *runloop      = rarch_main_data_get_ptr();
   settings_t     *settings     = config_get_ptr();
   
   (void)settings;
#ifdef HAVE_THREADS
   if (settings->menu.threaded_data_runloop_enable)
   {
      switch (runloop->thread_code)
      {
         case THREAD_CODE_INIT:
            rarch_main_data_thread_init();
            break;
         case THREAD_CODE_DEINIT:
         case THREAD_CODE_ALIVE:
            break;
      }
   }
#endif

#ifdef HAVE_OVERLAY
   rarch_main_data_overlay_image_upload_iterate(false);
#endif
#ifdef HAVE_RPNG
   rarch_main_data_nbio_image_upload_iterate(false);
#endif
#ifdef HAVE_OVERLAY
   rarch_main_data_overlay_iterate    (false);
#endif

#ifdef HAVE_MENU
#ifdef HAVE_LIBRETRODB
   if (rarch_main_data_db_pending_scan_finished())
      menu_environment_cb(MENU_ENVIRON_RESET_HORIZONTAL_LIST, NULL);
#endif
#endif

   if (data_runloop_msg[0] != '\0')
   {
      rarch_main_msg_queue_push(data_runloop_msg, 1, 10, true);
      data_runloop_msg[0] = '\0';
   }

#ifdef HAVE_MENU
   menu_entries_refresh(MENU_ACTION_REFRESH);
#endif

#ifdef HAVE_THREADS
   if (settings->menu.threaded_data_runloop_enable && runloop->alive)
      return;
#endif

   data_runloop_iterate(false);
}
Esempio n. 2
0
void rarch_main_data_iterate(void)
{
#ifdef HAVE_OVERLAY
   rarch_main_data_overlay_iterate();
#endif
   rarch_main_data_nbio_iterate(&g_data_runloop.nbio);
#ifdef HAVE_NETWORKING
   rarch_main_data_http_iterate(&g_data_runloop.http);
#endif
   rarch_main_data_db_iterate();
}
Esempio n. 3
0
void rarch_main_data_iterate(void)
{
   settings_t     *settings     = config_get_ptr();
   
   (void)settings;
#ifdef HAVE_THREADS
   if (settings->threaded_data_runloop_enable)
   {
      switch (g_data_runloop.thread_code)
      {
         case THREAD_CODE_INIT:
            rarch_main_data_thread_init();
            break;
         case THREAD_CODE_DEINIT:
         case THREAD_CODE_ALIVE:
            break;
      }
   }
#endif

#ifdef HAVE_OVERLAY
   rarch_main_data_overlay_image_upload_iterate(false);
#endif
#ifdef HAVE_RPNG
#ifdef HAVE_MENU
   rarch_main_data_nbio_image_upload_iterate(false);
#endif
#endif
#ifdef HAVE_OVERLAY
   rarch_main_data_overlay_iterate    (false);
#endif

#ifdef HAVE_MENU
   rarch_main_data_menu_iterate();
#endif

   if (data_runloop_msg[0] != '\0')
   {
      rarch_main_msg_queue_push(data_runloop_msg, 1, 10, true);
      data_runloop_msg[0] = '\0';
   }

#ifdef HAVE_THREADS
   if (settings->threaded_data_runloop_enable && g_data_runloop.alive)
      return;
#endif

   data_runloop_iterate(false);
}
Esempio n. 4
0
static void data_runloop_iterate(bool is_thread, data_runloop_t *runloop)
{
   rarch_main_data_nbio_iterate       (is_thread, runloop);
#ifdef HAVE_RPNG
   rarch_main_data_nbio_image_iterate (is_thread, runloop);
#endif
#ifdef HAVE_OVERLAY
   rarch_main_data_overlay_iterate    (is_thread, runloop);
#endif
#ifdef HAVE_NETWORKING
   rarch_main_data_http_iterate       (is_thread, runloop);
#endif
#ifdef HAVE_MENU
#ifdef HAVE_LIBRETRODB
   rarch_main_data_db_iterate         (is_thread, runloop);
#endif
#endif
}