diff --git a/dbus/org.nemo.ssu.xml b/dbus/org.nemo.ssu.xml
index f23f828..0b4835c 100644
--- a/dbus/org.nemo.ssu.xml
+++ b/dbus/org.nemo.ssu.xml
@@ -93,6 +93,11 @@
+
+
+
+
+
diff --git a/ssud/ssud.cpp b/ssud/ssud.cpp
index 2af9181..a53c029 100644
--- a/ssud/ssud.cpp
+++ b/ssud/ssud.cpp
@@ -231,3 +231,16 @@ void Ssud::updateRepos()
repoManager.update();
autoclose.start();
}
+
+QVariantList Ssud::listRepos(bool rnd)
+{
+ QVariantList reposList;
+ SsuRepoManager repoManager;
+
+ for (const QString &repo : repoManager.repos(rnd)) {
+ const QString repoUrl = ssu.repoUrl(repo, rnd);
+ reposList << QVariantMap({{ "url", repoUrl }, { "name", repo }});
+ }
+ autoclose.start();
+ return reposList;
+}
diff --git a/ssud/ssud.h b/ssud/ssud.h
index 21cda7e..0ade58f 100644
--- a/ssud/ssud.h
+++ b/ssud/ssud.h
@@ -45,6 +45,7 @@ public slots:
void modifyRepo(int action, const QString &repo);
void addRepo(const QString &repo, const QString &url);
void updateRepos();
+ QVariantList listRepos(bool rnd);
bool error();
QString lastError();