Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /* vim:expandtab:shiftwidth=4:tabstop=4:
3 : */
4 : /* This Source Code Form is subject to the terms of the Mozilla Public
5 : * License, v. 2.0. If a copy of the MPL was not distributed with this
6 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 :
8 : #ifndef nsAppShell_h__
9 : #define nsAppShell_h__
10 :
11 : #include <glib.h>
12 : #include "nsBaseAppShell.h"
13 : #include "nsCOMPtr.h"
14 :
15 : class nsAppShell : public nsBaseAppShell {
16 : public:
17 3 : nsAppShell() : mTag(0) {
18 3 : mPipeFDs[0] = mPipeFDs[1] = 0;
19 3 : }
20 :
21 : // nsBaseAppShell overrides:
22 : nsresult Init();
23 : virtual void ScheduleNativeEventCallback();
24 : virtual bool ProcessNextNativeEvent(bool mayWait);
25 :
26 : private:
27 : virtual ~nsAppShell();
28 :
29 : static gboolean EventProcessorCallback(GIOChannel *source,
30 : GIOCondition condition,
31 : gpointer data);
32 :
33 : int mPipeFDs[2];
34 : unsigned mTag;
35 : };
36 :
37 : #endif /* nsAppShell_h__ */
|