• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /*
2   * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
3   *
4   * This library is free software; you can redistribute it and/or
5   * modify it under the terms of the GNU Library General Public
6   * License as published by the Free Software Foundation; either
7   * version 2 of the License, or (at your option) any later version.
8   *
9   * This library is distributed in the hope that it will be useful,
10   * but WITHOUT ANY WARRANTY; without even the implied warranty of
11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   * Library General Public License for more details.
13   *
14   * You should have received a copy of the GNU Library General Public License
15   * along with this library; see the file COPYING.LIB.  If not, write to
16   * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17   * Boston, MA 02110-1301, USA.
18   *
19   */
20  
21  #ifndef QtPlatformPlugin_h
22  #define QtPlatformPlugin_h
23  
24  #include <QPluginLoader>
25  
26  class QWebSelectMethod;
27  class QWebKitPlatformPlugin;
28  class QWebNotificationPresenter;
29  class QWebHapticFeedbackPlayer;
30  class QWebSelectData;
31  class QWebTouchModifier;
32  #if ENABLE(VIDEO) && USE(QT_MULTIMEDIA)
33  class QWebFullScreenVideoHandler;
34  #endif
35  
36  namespace WebCore {
37  
38  class QtPlatformPlugin {
39  public:
QtPlatformPlugin()40      QtPlatformPlugin() : m_loaded(false), m_plugin(0) {}
41      ~QtPlatformPlugin();
42  
43      QWebSelectMethod* createSelectInputMethod();
44      QWebNotificationPresenter* createNotificationPresenter();
45      QWebHapticFeedbackPlayer* createHapticFeedbackPlayer();
46      QWebTouchModifier* createTouchModifier();
47  #if ENABLE(VIDEO) && USE(QT_MULTIMEDIA)
48      QWebFullScreenVideoHandler* createFullScreenVideoHandler();
49  #endif
50  
51      QWebKitPlatformPlugin* plugin();
52  
53  private:
54      bool m_loaded;
55      QWebKitPlatformPlugin* m_plugin;
56      QPluginLoader m_loader;
57      bool load();
58      bool load(const QString& file);
59      bool loadStaticallyLinkedPlugin();
60  };
61  
62  }
63  
64  #endif // QtPlatformPlugin_h
65