Hi KDE developers,

It might needs to use static KServiceTypeTrader::weightedOffers(const QString &serviceType) to get KServiceOfferList offers, for example, https://github.com/isoft-linux/plasma-workspace/blob/Chinese-word-segmentation/runners/services/servicerunner.cpp#L93


KService::List services;
const KServiceOfferList offers = KServiceTypeTrader::weightedOffers("Application");

KServiceOfferList::const_iterator itOff = offers.begin();
for (; itOff != offers.end(); ++itOff) {
services.append((*itOff).service());
}


but kservice's weightedOffers is private access, so is it able to make it public without bad effect?


diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f4d09d5..74a8c50 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -124,6 +124,7 @@ ecm_generate_headers(KService_HEADERS
   KServiceTypeProfile
   KServiceTypeTrader
   KPluginInfo
+  KServiceOffer

   RELATIVE services REQUIRED_HEADERS KService_HEADERS
 )
diff --git a/src/services/kservicetypetrader.h b/src/services/kservicetypetrader.h
index 56994d8..1642ef4 100644
--- a/src/services/kservicetypetrader.h
+++ b/src/services/kservicetypetrader.h
@@ -203,6 +203,8 @@ public:
     static void applyConstraints(KService::List &lst,
                                  const QString &constraint);

+    static KServiceOfferList weightedOffers(const QString &serviceType);
+
 private:
     /**
      * @internal
@@ -213,8 +215,6 @@ private:
     KServiceTypeTrader(const KServiceTypeTrader &other);
     KServiceTypeTrader &operator=(const KServiceTypeTrader &rhs);

-    static KServiceOfferList weightedOffers(const QString &serviceType);
-
     KServiceTypeTraderPrivate *const d;

     friend class KServiceTypeTraderSingleton;

--
Regards,
Leslie Zhai



_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to