From 17ec2f1bf68ba3179ee85dbc202dd4cca38953bf Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Sun, 15 Apr 2018 20:24:45 +0200
Subject: [PATCH] Implement creation and deletion of identities

---
 .../identity/IdentityCreateFragment.kt        |  2 +-
 .../identity/IdentityEditFragment.kt          |  2 +-
 .../quassel/syncables/RpcHandler.kt           | 28 +++++++++++--------
 .../syncables/interfaces/IRpcHandler.kt       | 10 +++----
 4 files changed, 24 insertions(+), 18 deletions(-)

diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityCreateFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityCreateFragment.kt
index b80b28970..e2d5432b4 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityCreateFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityCreateFragment.kt
@@ -8,7 +8,7 @@ class IdentityCreateFragment : IdentityBaseFragment() {
   override fun onSave() = viewModel.session.value?.orNull()?.let { session ->
     Identity(session.proxy).let { data ->
       applyChanges(data)
-      session.rpcHandler?.requestCreateIdentity(data.toVariantMap(), mapOf())
+      session.rpcHandler?.createIdentity(data.toVariantMap(), mapOf())
       true
     }
   } ?: false
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityEditFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityEditFragment.kt
index e8a5bdcc2..a59c3aa84 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityEditFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityEditFragment.kt
@@ -13,7 +13,7 @@ class IdentityEditFragment : IdentityBaseFragment(), SettingsFragment.Deletable
   override fun onDelete() {
     identity?.let { (it, _) ->
       it?.let {
-        viewModel.session.value?.orNull()?.rpcHandler?.requestRemoveIdentity(it.id())
+        viewModel.session.value?.orNull()?.rpcHandler?.removeIdentity(it.id())
       }
     }
   }
diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/RpcHandler.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/RpcHandler.kt
index 0d9c3e25f..af3653acd 100644
--- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/RpcHandler.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/RpcHandler.kt
@@ -41,38 +41,44 @@ class RpcHandler(
     backlogStorage.storeMessages(session, message)
   }
 
-  override fun requestCreateIdentity(identity: QVariantMap, additional: QVariantMap) =
+  override fun createIdentity(identity: QVariantMap, additional: QVariantMap) =
     RPC(
-      "2requestCreateIdentity(Identity,QVariantMap)",
+      "2createIdentity(Identity,QVariantMap)",
       ARG(identity, QType.Identity),
       ARG(additional, Type.QVariantMap)
     )
 
-  override fun requestRemoveIdentity(identityId: IdentityId) =
+  override fun removeIdentity(identityId: IdentityId) =
     RPC(
-      "2requestRemoveIdentity(IdentityId)",
+      "2removeIdentity(IdentityId)",
       ARG(identityId, QType.IdentityId)
     )
 
-  override fun requestCreateNetwork(networkInfo: INetwork.NetworkInfo, channels: List<String>) =
+  override fun createNetwork(networkInfo: INetwork.NetworkInfo, channels: List<String>) =
     RPC(
-      "2requestCreateNetwork(NetworkInfo,QStringList)",
+      "2createNetwork(NetworkInfo,QStringList)",
       ARG(networkInfo, QType.NetworkInfo),
       ARG(channels, Type.QStringList)
     )
 
-  override fun requestRemoveNetwork(networkId: NetworkId) =
+  override fun removeNetwork(networkId: NetworkId) =
     RPC(
-      "2requestRemoveNetwork(NetworkId)",
+      "2removeNetwork(NetworkId)",
       ARG(networkId, QType.NetworkId)
     )
 
-  override fun requestPasswordChange(peerPtr: Long, user: String, old: String, new: String) {
-  }
+  override fun changePassword(peerPtr: Long, user: String, old: String, new: String) =
+    RPC(
+      "2changePassword(PeerPtr,QString,QString,QString)",
+      ARG(peerPtr, QType.PeerPtr),
+      ARG(user, Type.QString),
+      ARG(old, Type.QString),
+      ARG(new, Type.QString)
+    )
 
   override fun requestKickClient(id: Int) =
     RPC(
-      "2requestKickClient(Int)",
+      "2kickClient(Int)",
       ARG(id, Type.Int)
     )
 
diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IRpcHandler.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IRpcHandler.kt
index 4d2949eef..e33a48a00 100644
--- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IRpcHandler.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IRpcHandler.kt
@@ -44,11 +44,11 @@ interface IRpcHandler {
   @Slot("2disconnectFromCore()")
   fun disconnectFromCore()
 
-  fun requestCreateIdentity(identity: QVariantMap, additional: QVariantMap)
-  fun requestRemoveIdentity(identityId: IdentityId)
-  fun requestCreateNetwork(networkInfo: INetwork.NetworkInfo, channels: List<String>)
-  fun requestRemoveNetwork(networkId: NetworkId)
-  fun requestPasswordChange(peerPtr: Long, user: String, old: String, new: String)
+  fun createIdentity(identity: QVariantMap, additional: QVariantMap)
+  fun removeIdentity(identityId: IdentityId)
+  fun createNetwork(networkInfo: INetwork.NetworkInfo, channels: List<String>)
+  fun removeNetwork(networkId: NetworkId)
+  fun changePassword(peerPtr: Long, user: String, old: String, new: String)
   fun requestKickClient(id: Int)
   fun sendInput(bufferInfo: BufferInfo, message: String)
 }
-- 
GitLab