PluginInfo.hh 1.27 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
struct SlotInfo{
  QString slotName;
  QString slotDescription;
  QStringList parameters;
  QStringList descriptions;
};

Dirk Wilden's avatar
Dirk Wilden committed
25 26 27 28 29 30 31 32 33 34 35 36
/** 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;

37 38 39
  /// Version of the plugin
  QString     version;

Dirk Wilden's avatar
Dirk Wilden committed
40 41 42 43 44 45 46 47 48
  /// Path to the plugin ( set on load )
  QString     path;

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

  /// List of exported rpc slots
  QStringList rpcFunctions;

49 50 51
  /// This list contains Descriptions about public slots if available
  QList< SlotInfo > slotInfos;

Dirk Wilden's avatar
Dirk Wilden committed
52 53 54 55 56 57 58 59
  /// List of registered keys with description
  QList< KeyBinding > keys;

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

#endif //PLUGININFO_HH