You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@milagro.apache.org by sa...@apache.org on 2016/09/16 10:25:04 UTC

[03/10] incubator-milagro-mfa-sdk-android git commit: Integrate MaaS support

Integrate MaaS support

Integrate list users per backend and list backends


Project: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/commit/f914e067
Tree: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/tree/f914e067
Diff: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/diff/f914e067

Branch: refs/heads/master
Commit: f914e067f27aea0166416981d29e520973b69973
Parents: 8dc0481
Author: Vassil Angelov <va...@miracl.com>
Authored: Fri Apr 1 17:24:02 2016 +0300
Committer: Vladislav Mitov <vl...@gmail.com>
Committed: Mon May 9 10:27:21 2016 +0300

----------------------------------------------------------------------
 mpin-sdk-core                                   |  2 +-
 .../main/java/com/miracl/mpinsdk/MPinSDK.java   | 30 ++++++-
 mpinsdk/src/main/jni/JNIMPinSDK.cpp             | 90 +++++++++++++++++---
 3 files changed, 106 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/f914e067/mpin-sdk-core
----------------------------------------------------------------------
diff --git a/mpin-sdk-core b/mpin-sdk-core
index 441caba..58448b9 160000
--- a/mpin-sdk-core
+++ b/mpin-sdk-core
@@ -1 +1 @@
-Subproject commit 441cabaa96a916db82ae9c5a092336117b703196
+Subproject commit 58448b9b6a1a05e8f5f662bd6c34a0192dca43c8

http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/f914e067/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java
----------------------------------------------------------------------
diff --git a/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java b/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java
index 15e8eb3..3077eb5 100644
--- a/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java
+++ b/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java
@@ -117,6 +117,10 @@ public class MPinSDK implements Closeable {
         return nStartAuthentication(mPtr, user);
     }
 
+    public Status StartAuthentication(User user, String accessCode) {
+        return nStartAuthenticationAccessCode(mPtr, user, accessCode);
+    }
+
     public Status CheckAccessNumber(String accessNumber) {
         return nCheckAccessNumber(mPtr, accessNumber);
     }
@@ -137,12 +141,24 @@ public class MPinSDK implements Closeable {
         return nFinishAuthenticationAN(mPtr, user, pin, accessNumber);
     }
 
+    public String GetPrerollUserId(String accessCode) {
+        return nGetPrerollUserId(mPtr, accessCode);
+    }
+
     public void DeleteUser(User user) {
         nDeleteUser(mPtr, user);
     }
 
-    public void ListUsers(List<User> users) {
-        nListUsers(mPtr, users);
+    public Status ListUsers(List<User> users) {
+        return nListUsers(mPtr, users);
+    }
+
+    public Status ListUsers(List<User> users, String backend) {
+        return nListUsersForBackend(mPtr, users, backend);
+    }
+
+    public Status ListBackends(List<String> backends) {
+        return nListBackends(mPtr, backends);
     }
 
     public String GetVersion() {
@@ -187,6 +203,8 @@ public class MPinSDK implements Closeable {
 
     private native Status nStartAuthentication(long ptr, User user);
 
+    private native Status nStartAuthenticationAccessCode(long ptr, User user, String accessCode);
+
     private native Status nCheckAccessNumber(long ptr, String accessNumber);
 
     private native Status nFinishAuthentication(long ptr, User user, String pin);
@@ -197,9 +215,15 @@ public class MPinSDK implements Closeable {
 
     private native Status nFinishAuthenticationAN(long ptr, User user, String pin, String accessNumber);
 
+    private native String nGetPrerollUserId(long ptr, String key);
+
     private native void nDeleteUser(long ptr, User user);
 
-    private native void nListUsers(long ptr, List<User> users);
+    private native Status nListUsers(long ptr, List<User> users);
+
+    private native Status nListUsersForBackend(long ptr, List<User> users, String backend);
+
+    private native Status nListBackends(long ptr, List<String> backends);
 
     private native String nGetVersion(long ptr);
 

http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/f914e067/mpinsdk/src/main/jni/JNIMPinSDK.cpp
----------------------------------------------------------------------
diff --git a/mpinsdk/src/main/jni/JNIMPinSDK.cpp b/mpinsdk/src/main/jni/JNIMPinSDK.cpp
index 7537d8d..4f684b3 100644
--- a/mpinsdk/src/main/jni/JNIMPinSDK.cpp
+++ b/mpinsdk/src/main/jni/JNIMPinSDK.cpp
@@ -118,6 +118,12 @@ static jobject nStartAuthentication(JNIEnv* env, jobject jobj, jlong jptr, jobje
 	return MakeJavaStatus(env, sdk->StartAuthentication(JavaToMPinUser(env, juser)));
 }
 
+static jobject nStartAuthenticationAccessCode(JNIEnv* env, jobject jobj, jlong jptr, jobject juser, jstring accessCode)
+{
+    MPinSDK* sdk = (MPinSDK*) jptr;
+    return MakeJavaStatus(env, sdk->StartAuthentication(JavaToMPinUser(env, juser),JavaToStdString(env,accessCode)));
+}
+
 static jobject nCheckAccessNumber(JNIEnv* env, jobject jobj, jlong jptr, jstring jaccessNumber)
 {
 	MPinSDK* sdk = (MPinSDK*) jptr;
@@ -177,29 +183,85 @@ static jobject nFinishAuthenticationAN(JNIEnv* env, jobject jobj, jlong jptr, jo
 	return MakeJavaStatus(env, sdk->FinishAuthenticationAN(JavaToMPinUser(env, juser), JavaToStdString(env, jpin), JavaToStdString(env, jaccessNumber)));
 }
 
+static jstring nGetPrerollUserId(JNIEnv* env, jobject jobj, jlong jptr, jstring jaccessCode)
+{
+    MPinSDK* sdk = (MPinSDK*) jptr;
+    MPinSDK::String result = sdk->GetPrerollUserId(JavaToStdString(env, jaccessCode));
+    return env->NewStringUTF(result.c_str());
+}
+
 static void nDeleteUser(JNIEnv* env, jobject jobj, jlong jptr, jobject juser)
 {
 	MPinSDK* sdk = (MPinSDK*) jptr;
 	sdk->DeleteUser(JavaToMPinUser(env, juser));
 }
 
-static void nListUsers(JNIEnv* env, jobject jobj, jlong jptr, jobject jusersList)
+static jobject nListUsers(JNIEnv* env, jobject jobj, jlong jptr, jobject jusersList)
 {
 	MPinSDK* sdk = (MPinSDK*) jptr;
 	std::vector<MPinSDK::UserPtr> users;
-	sdk->ListUsers(users);
+	MPinSDK::Status status = sdk->ListUsers(users);
 
-	jclass clsList = env->FindClass("java/util/List");
-	jmethodID midAdd = env->GetMethodID(clsList, "add", "(Ljava/lang/Object;)Z");
+    if(status == MPinSDK::Status::OK)
+    {
+        jclass clsList = env->FindClass("java/util/List");
+        jmethodID midAdd = env->GetMethodID(clsList, "add", "(Ljava/lang/Object;)Z");
 
-	jclass clsUser = env->FindClass("com/miracl/mpinsdk/model/User");
-	jmethodID ctorUser = env->GetMethodID(clsUser, "<init>", "(J)V");
+        jclass clsUser = env->FindClass("com/miracl/mpinsdk/model/User");
+        jmethodID ctorUser = env->GetMethodID(clsUser, "<init>", "(J)V");
 
-	for (std::vector<MPinSDK::UserPtr>::iterator i = users.begin(); i != users.end(); ++i) {
-		MPinSDK::UserPtr user = *i;
-		jobject juser = env->NewObject(clsUser, ctorUser, (jlong) new MPinSDK::UserPtr(user));
-		env->CallBooleanMethod(jusersList, midAdd, juser);
-	}
+        for (std::vector<MPinSDK::UserPtr>::iterator i = users.begin(); i != users.end(); ++i) {
+            MPinSDK::UserPtr user = *i;
+            jobject juser = env->NewObject(clsUser, ctorUser, (jlong) new MPinSDK::UserPtr(user));
+            env->CallBooleanMethod(jusersList, midAdd, juser);
+        }
+    }
+
+    return MakeJavaStatus(env,status);
+}
+
+static jobject nListUsersForBackend(JNIEnv* env, jobject jobj, jlong jptr, jobject jusersList, jstring jbackend)
+{
+    MPinSDK* sdk = (MPinSDK*) jptr;
+    std::vector<MPinSDK::UserPtr> users;
+    MPinSDK::Status status = sdk->ListUsers(users,JavaToStdString(env,jbackend));
+
+    if(status == MPinSDK::Status::OK)
+    {
+        jclass clsList = env->FindClass("java/util/List");
+        jmethodID midAdd = env->GetMethodID(clsList, "add", "(Ljava/lang/Object;)Z");
+
+        jclass clsUser = env->FindClass("com/miracl/mpinsdk/model/User");
+        jmethodID ctorUser = env->GetMethodID(clsUser, "<init>", "(J)V");
+
+        for (std::vector<MPinSDK::UserPtr>::iterator i = users.begin(); i != users.end(); ++i) {
+            MPinSDK::UserPtr user = *i;
+            jobject juser = env->NewObject(clsUser, ctorUser, (jlong) new MPinSDK::UserPtr(user));
+            env->CallBooleanMethod(jusersList, midAdd, juser);
+        }
+    }
+
+    return MakeJavaStatus(env,status);
+}
+
+static jobject nListBackends(JNIEnv* env, jobject jobj, jlong jptr,jobject jBackendsList)
+{
+    MPinSDK* sdk = (MPinSDK*) jptr;
+    std::vector<MPinSDK::String> backends;
+    MPinSDK::Status status = sdk->ListBackends(backends);
+
+    if(status == MPinSDK::Status::OK)
+    {
+        jclass clsList = env->FindClass("java/util/List");
+        jmethodID midAdd = env->GetMethodID(clsList, "add", "(Ljava/lang/Object;)Z");
+
+        for (std::vector<MPinSDK::String>::iterator i = backends.begin(); i != backends.end(); ++i) {
+            MPinSDK::String backend = *i;
+            env->CallBooleanMethod(jBackendsList, midAdd, env->NewStringUTF(backend.c_str()));
+        }
+    }
+
+    return MakeJavaStatus(env,status);
 }
 
 static jstring nGetVersion(JNIEnv* env, jobject jobj, jlong jptr)
@@ -243,13 +305,17 @@ static JNINativeMethod g_methodsMPinSDK[] =
 	NATIVE_METHOD(nConfirmRegistration, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
 	NATIVE_METHOD(nFinishRegistration, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
 	NATIVE_METHOD(nStartAuthentication, "(JLcom/miracl/mpinsdk/model/User;)Lcom/miracl/mpinsdk/model/Status;"),
+    NATIVE_METHOD(nStartAuthenticationAccessCode, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
 	NATIVE_METHOD(nCheckAccessNumber, "(JLjava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
 	NATIVE_METHOD(nFinishAuthentication, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
 	NATIVE_METHOD(nFinishAuthenticationResultData, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;Ljava/lang/StringBuilder;)Lcom/miracl/mpinsdk/model/Status;"),
 	NATIVE_METHOD(nFinishAuthenticationOTP, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;Lcom/miracl/mpinsdk/model/OTP;)Lcom/miracl/mpinsdk/model/Status;"),
 	NATIVE_METHOD(nFinishAuthenticationAN, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
 	NATIVE_METHOD(nDeleteUser, "(JLcom/miracl/mpinsdk/model/User;)V"),
-	NATIVE_METHOD(nListUsers, "(JLjava/util/List;)V"),
+    NATIVE_METHOD(nGetPrerollUserId, "(JLjava/lang/String;)Ljava/lang/String;"),
+	NATIVE_METHOD(nListUsers, "(JLjava/util/List;)Lcom/miracl/mpinsdk/model/Status;"),
+    NATIVE_METHOD(nListUsersForBackend, "(JLjava/util/List;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
+    NATIVE_METHOD(nListBackends, "(JLjava/util/List;)Lcom/miracl/mpinsdk/model/Status;"),
 	NATIVE_METHOD(nGetVersion, "(J)Ljava/lang/String;"),
 	NATIVE_METHOD(nCanLogout, "(JLcom/miracl/mpinsdk/model/User;)Z"),
 	NATIVE_METHOD(nLogout, "(JLcom/miracl/mpinsdk/model/User;)Z"),