ctkPluginContext.h 1001 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * ctkPluginContext.h
  3. *
  4. * Created on: Mar 10, 2010
  5. * Author: zelzer
  6. */
  7. #ifndef CTKPLUGINCONTEXT_H_
  8. #define CTKPLUGINCONTEXT_H_
  9. #include <QHash>
  10. #include <QString>
  11. #include <QVariant>
  12. #include "CTKCoreExport.h"
  13. namespace ctk {
  14. class ServiceRegistration;
  15. class ServiceReference;
  16. class PluginContextPrivate;
  17. class CTK_CORE_EXPORT PluginContext
  18. {
  19. Q_DECLARE_PRIVATE(PluginContext)
  20. public:
  21. typedef QHash<QString, QVariant> ServiceProperties;
  22. ~PluginContext();
  23. ServiceRegistration registerService(const QStringList& clazzes, QObject* service, const ServiceProperties& properties = ServiceProperties());
  24. QList<ServiceReference> getServiceReferences(const QString& clazz, const QString& filter = QString());
  25. ServiceReference getServiceReference(const QString& clazz);
  26. QObject* getService(const ServiceReference& reference);
  27. protected:
  28. PluginContext();
  29. PluginContextPrivate * const d_ptr;
  30. };
  31. }
  32. #endif /* CTKPLUGINCONTEXT_H_ */