PluginInfo.hh 1.05 KB
Newer Older
Dirk Wilden's avatar
Dirk Wilden committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#ifndef PLUGININFO_HH
#define PLUGININFO_HH

#include <Qt>
#include <QString>
#include <QObject>
#include <QStringList>
#include <QList>
#include <QDockWidget>

struct KeyBinding{
  int                   key;
  Qt::KeyboardModifiers modifiers;
  QString               description;
Dirk Wilden's avatar
Dirk Wilden committed
15
  bool                  multiUse;
Dirk Wilden's avatar
Dirk Wilden committed
16 17 18 19 20 21 22 23 24 25 26 27 28 29
};

/** Type defining a currently loaded Plugin */
struct PluginInfo{

  /// Pointer to the loaded plugin (Already casted when loading it)
  QObject*    plugin;

  /// Name of the plugin ( requested from the plugin on load)
  QString     name;

  /// Description of the plugin ( requested from the plugin on load)
  QString     description;

30 31 32
  /// Version of the plugin
  QString     version;

Dirk Wilden's avatar
Dirk Wilden committed
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
  /// Path to the plugin ( set on load )
  QString     path;

  /// Clean rpc name of the plugin
  QString     rpcName;

  /// List of exported rpc slots
  QStringList rpcFunctions;

  /// List of registered keys with description
  QList< KeyBinding > keys;

  /// Pointer to plugins toolbar widget (if available)
  QDockWidget* widget;
};

#endif //PLUGININFO_HH