#include "version.h"
#include "account.h"
#include "accountstate.h"
+#include "account.h"
+#include "capabilities.h"
#include <QDebug>
#include <QUrl>
sendMessage(socket, QLatin1String("VERSION:" MIRALL_VERSION_STRING ":" MIRALL_SOCKET_API_VERSION));
}
+void SocketApi::command_SHARE_STATUS(const QString &localFile, QIODevice *socket)
+{
+ if (!socket) {
+ qDebug() << Q_FUNC_INFO << "No valid socket object.";
+ return;
+ }
+
+ qDebug() << Q_FUNC_INFO << localFile;
+
+ Folder *shareFolder = FolderMan::instance()->folderForPath(localFile);
+
+ if (!shareFolder) {
+ const QString message = QLatin1String("SHARE_STATUS:NOP:")+QDir::toNativeSeparators(localFile);
+ sendMessage(socket, message);
+ } else {
+ const Capabilities capabilities = shareFolder->accountState()->account()->capabilities();
+
+ if (!capabilities.shareAPI()) {
+ const QString message = QLatin1String("SHARE_STATUS:DISABLED:")+QDir::toNativeSeparators(localFile);
+ sendMessage(socket, message);
+ } else {
+ QString available = "USER,GROUP";
+
+ if (capabilities.sharePublicLink()) {
+ available += ",LINK";
+ }
+
+ const QString message = QLatin1String("SHARE_STATUS:") + available + ":" + QDir::toNativeSeparators(localFile);
+ sendMessage(socket, message);
+ }
+ }
+}
+
void SocketApi::command_SHARE_MENU_TITLE(const QString &, QIODevice* socket)
{
sendMessage(socket, QLatin1String("SHARE_MENU_TITLE:") + tr("Share with %1", "parameter is ownCloud").arg(Theme::instance()->appNameGUI()));
Q_INVOKABLE void command_VERSION(const QString& argument, QIODevice* socket);
+ Q_INVOKABLE void command_SHARE_STATUS(const QString& localFile, QIODevice *socket);
Q_INVOKABLE void command_SHARE_MENU_TITLE(const QString& argument, QIODevice* socket);
QString buildRegisterPathMessage(const QString& path);