status_t MediaWindow::_RestartMediaServices(void* data) { MediaWindow* window = (MediaWindow*)data; shutdown_media_server(B_INFINITE_TIMEOUT, MediaWindow::_UpdateProgress, data); launch_media_server(); return window->PostMessage(ML_INIT_MEDIA); }
status_t MediaWindow::_RestartMediaServices(void* data) { MediaWindow* window = (MediaWindow*)data; shutdown_media_server(); launch_media_server(); if (window->fRestartAlert != NULL && window->fRestartAlert->Lock()) { window->fRestartAlert->Quit(); } return window->PostMessage(ML_RESTART_THREAD_FINISHED); }
status_t MediaWindow::RestartMediaServices(void* data) { MediaWindow* window = (MediaWindow*)data; window->fAlert = new MediaAlert(BRect(0, 0, 300, 60), "restart_alert", B_TRANSLATE( "Restarting media services\nShutting down media server\n")); window->fAlert->Show(); shutdown_media_server(B_INFINITE_TIMEOUT, MediaWindow::UpdateProgress, window->fAlert); { BAutolock locker(window->fAlert); if (locker.IsLocked()) window->fAlert->TextView()->SetText( B_TRANSLATE("Starting media server" B_UTF8_ELLIPSIS)); } launch_media_server(); return window->PostMessage(ML_INIT_MEDIA); }