From 5651d1612b3d67a0cd02c3483cf58cf0eeb097b1 Mon Sep 17 00:00:00 2001
From: Emmanuel Lepage Vallee <elv1313@gmail.com>
Date: Wed, 12 Apr 2017 01:39:03 -0400
Subject: [PATCH] namedirectory: Add missing Qt macros and introspection
 support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Allows accounts to be created using bindings other than C++ and
also allow the "GammaRay" introspection debugger to work.

Change-Id: I8fe0235e99896699da05bc9f9b0e168dc33fe2af
Reviewed-by: Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
---
 src/namedirectory.h | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/namedirectory.h b/src/namedirectory.h
index 8a43d07a..91d6674c 100644
--- a/src/namedirectory.h
+++ b/src/namedirectory.h
@@ -26,7 +26,6 @@ class Account;
 class LIB_EXPORT NameDirectory : public QObject
 {
     Q_OBJECT
-
 public:
 
     //Register name status
@@ -52,9 +51,9 @@ public:
     static NameDirectory& instance();
 
     //Lookup
-    bool    lookupName        (const Account* account, const QString& nameServiceURL, const QString& name    ) const;
-    bool    lookupAddress     (const Account* account, const QString& nameServiceURL, const QString& address ) const;
-    bool    registerName      (const Account* account, const QString& password,       const QString& name    ) const;
+    Q_INVOKABLE bool lookupName    (const Account* account, const QString& nameServiceURL, const QString& name    ) const;
+    Q_INVOKABLE bool lookupAddress (const Account* account, const QString& nameServiceURL, const QString& address ) const;
+    Q_INVOKABLE bool registerName  (const Account* account, const QString& password,       const QString& name    ) const;
 
 private:
     //Constructors & Destructors
@@ -63,6 +62,7 @@ private:
 
     NameDirectoryPrivate* d_ptr;
     Q_DECLARE_PRIVATE(NameDirectory)
+    Q_DISABLE_COPY(NameDirectory)
 
 Q_SIGNALS:
     ///RegisterName has ended
@@ -71,3 +71,7 @@ Q_SIGNALS:
     ///Name or address lookup has completed
     void registeredNameFound(Account* account, NameDirectory::LookupStatus status, const QString& address, const QString& name);
 };
+
+Q_DECLARE_METATYPE(NameDirectory*)
+Q_DECLARE_METATYPE(NameDirectory::RegisterNameStatus)
+Q_DECLARE_METATYPE(NameDirectory::LookupStatus)
-- 
GitLab