discovery: Add hierarchical model for chatroom invitation

Change-Id: I19e74745a5998fe075a373357df542fef317ae5f
diff --git a/src/discovery-panel.hpp b/src/discovery-panel.hpp
index 1776d37..f15906b 100644
--- a/src/discovery-panel.hpp
+++ b/src/discovery-panel.hpp
@@ -72,6 +72,17 @@
   void
   startChatroom(const QString& chatroomName, bool secured);
 
+  /**
+   * @brief send request for invitation to a chatroom
+   *
+   * This function will be called if request invitation button is clicked.
+   *
+   * @param chatroomName the chatroom to join
+   * @param identity the person that the user send the request to
+   */
+  void
+  sendInvitationRequest(const QString& chatroomName, const QString& identity);
+
 public slots:
   /**
    * @brief reset the panel when identity is updated
@@ -92,9 +103,10 @@
    * @brief print the chatroom info on the panel
    *
    * @param info chatroom info get from discovery backend
+   * @param isParticipant if the user is a participant of the chatroom
    */
   void
-  onChatroomInfoReady(const ChatroomInfo& info);
+  onChatroomInfoReady(const ChatroomInfo& info, bool isParticipant);
 
 private slots:
   void
@@ -108,6 +120,12 @@
   void
   onJoinClicked();
 
+  void
+  onRequestInvitation();
+
+  void
+  onInvitationRequestResult(const std::string& message);
+
 private:
   Ui::DiscoveryPanel* ui;