Home | History | Annotate | Download | only in gtk
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_UI_GTK_PROCESS_SINGLETON_DIALOG_H_
      6 #define CHROME_BROWSER_UI_GTK_PROCESS_SINGLETON_DIALOG_H_
      7 #pragma once
      8 
      9 #include <string>
     10 
     11 #include "base/basictypes.h"
     12 #include "ui/base/gtk/gtk_signal.h"
     13 
     14 typedef struct _GtkWidget GtkWidget;
     15 
     16 // Displays an error to the user when the ProcessSingleton cannot acquire the
     17 // lock.  This runs the message loop itself as the browser message loop has not
     18 // started by that point in the startup process.
     19 class ProcessSingletonDialog {
     20  public:
     21   // Shows the dialog, and returns once the dialog has been closed.
     22   static void ShowAndRun(const std::string& message);
     23 
     24  private:
     25   explicit ProcessSingletonDialog(const std::string& message);
     26 
     27   CHROMEGTK_CALLBACK_1(ProcessSingletonDialog, void, OnResponse, int);
     28 
     29   GtkWidget* dialog_;
     30 
     31   DISALLOW_COPY_AND_ASSIGN(ProcessSingletonDialog);
     32 };
     33 
     34 #endif  // CHROME_BROWSER_UI_GTK_PROCESS_SINGLETON_DIALOG_H_
     35