summaryrefslogtreecommitdiffstats
path: root/java/src/c
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/c')
-rw-r--r--java/src/c/com_entrouvert_lasso_LassoAuthnRequest.c2
-rw-r--r--java/src/c/com_entrouvert_lasso_LassoAuthnResponse.c2
-rw-r--r--java/src/c/com_entrouvert_lasso_LassoIdentity.c61
-rw-r--r--java/src/c/com_entrouvert_lasso_LassoLogin.c57
-rw-r--r--java/src/c/com_entrouvert_lasso_LassoLogout.c15
-rw-r--r--java/src/c/com_entrouvert_lasso_LassoProfile.c190
-rw-r--r--java/src/c/com_entrouvert_lasso_LassoRequest.c2
-rw-r--r--java/src/c/com_entrouvert_lasso_LassoResponse.c2
-rw-r--r--java/src/c/com_entrouvert_lasso_LassoServer.c4
-rw-r--r--java/src/c/com_entrouvert_lasso_LassoSession.c (renamed from java/src/c/com_entrouvert_lasso_LassoUser.c)34
-rw-r--r--java/src/c/helper.c93
-rw-r--r--java/src/c/helper.h46
12 files changed, 298 insertions, 210 deletions
diff --git a/java/src/c/com_entrouvert_lasso_LassoAuthnRequest.c b/java/src/c/com_entrouvert_lasso_LassoAuthnRequest.c
index 31239ef3..4a1016bd 100644
--- a/java/src/c/com_entrouvert_lasso_LassoAuthnRequest.c
+++ b/java/src/c/com_entrouvert_lasso_LassoAuthnRequest.c
@@ -37,7 +37,7 @@ JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoAuthnRequest_init
(*env)->ReleaseStringUTFChars(env, _providerID, providerID);
- storeCObject(env, this, request);
+ setCObject(env, this, request);
}
/* From LassoLibAuthnRequest */
diff --git a/java/src/c/com_entrouvert_lasso_LassoAuthnResponse.c b/java/src/c/com_entrouvert_lasso_LassoAuthnResponse.c
index a2915d1b..e324fb2d 100644
--- a/java/src/c/com_entrouvert_lasso_LassoAuthnResponse.c
+++ b/java/src/c/com_entrouvert_lasso_LassoAuthnResponse.c
@@ -39,7 +39,7 @@ JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoAuthnResponse_init
(*env)->ReleaseStringUTFChars(env, _providerID, providerID);
- storeCObject(env, this, response);
+ setCObject(env, this, response);
}
JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoAuthnResponse_getStatus
diff --git a/java/src/c/com_entrouvert_lasso_LassoIdentity.c b/java/src/c/com_entrouvert_lasso_LassoIdentity.c
new file mode 100644
index 00000000..b689d083
--- /dev/null
+++ b/java/src/c/com_entrouvert_lasso_LassoIdentity.c
@@ -0,0 +1,61 @@
+/*
+ * JLasso -- Java bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.entrouvert.org
+ *
+ * Authors: Benjamin Poussin <poussin@codelutin.com>
+ * Emmanuel Raviart <eraviart@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <helper.h>
+#include <com_entrouvert_lasso_LassoIdentity.h>
+#include <lasso/lasso.h>
+
+JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoIdentity_init
+(JNIEnv * env, jobject this){
+ LassoIdentity *identity;
+
+ identity = lasso_identity_new();
+
+ setCObject(env, this, identity);
+}
+
+JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoIdentity_initFromDump
+(JNIEnv * env, jobject this, jstring _dump){
+ LassoIdentity *identity;
+ char *dump;
+
+ dump = (char*)(*env)->GetStringUTFChars(env, _dump, NULL);
+ identity = lasso_identity_new_from_dump(dump);
+
+ (*env)->ReleaseStringUTFChars(env, _dump, dump);
+
+ setCObject(env, this, identity);
+}
+
+JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoIdentity_dump
+(JNIEnv * env, jobject this){
+ LassoIdentity *identity;
+ char* result;
+
+ identity = (LassoIdentity*)getCObject(env, this);
+ result = lasso_identity_dump(identity);
+
+ return (*env)->NewStringUTF(env, result);
+}
+
diff --git a/java/src/c/com_entrouvert_lasso_LassoLogin.c b/java/src/c/com_entrouvert_lasso_LassoLogin.c
index e720de79..dd9d3aeb 100644
--- a/java/src/c/com_entrouvert_lasso_LassoLogin.c
+++ b/java/src/c/com_entrouvert_lasso_LassoLogin.c
@@ -27,41 +27,37 @@
#include <com_entrouvert_lasso_LassoLogin.h>
JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoLogin_init
-(JNIEnv * env, jobject this, jobject _server){
+(JNIEnv * env, jobject this, jobject _server) {
LassoLogin *login;
LassoServer* server;
server = (LassoServer*)getCObject(env, _server);
login = LASSO_LOGIN(lasso_login_new(server));
- storeCObject(env, this, login);
+ setCObject(env, this, login);
}
JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoLogin_initFromDump
-(JNIEnv * env, jobject this, jobject _server,
- jobject _user,
- jstring _dump){
+(JNIEnv * env, jobject this, jobject _server, jobject _identity, jstring _dump) {
LassoLogin *login;
LassoServer* server;
char *dump;
- LassoUser* user = NULL;
+ LassoIdentity* identity = NULL;
server = (LassoServer*)getCObject(env, _server);
- if(_user != NULL){
- user = (LassoUser*)getCObject(env, _user);
+ if(_identity != NULL){
+ identity = (LassoIdentity*)getCObject(env, _identity);
}
dump = (char*)(*env)->GetStringUTFChars(env, _dump, NULL);
- login = LASSO_LOGIN(lasso_login_new_from_dump(server, user, dump));
+ login = LASSO_LOGIN(lasso_login_new_from_dump(server, identity, dump));
(*env)->ReleaseStringUTFChars(env, _dump, dump);
- storeCObject(env, this, login);
+ setCObject(env, this, login);
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_buildArtifactMsg
-(JNIEnv * env, jobject this, jboolean _authenticationResult,
- jstring _authenticationMethod,
- jstring _reauthenticateOnOrAfter,
- jint _method){
+(JNIEnv * env, jobject this, jboolean _authenticationResult, jstring _authenticationMethod,
+ jstring _reauthenticateOnOrAfter, jint _method) {
int result;
LassoLogin* login;
char *authenticationMethod;
@@ -129,20 +125,13 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_buildRequestMsg
return result;
}
-JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_createUser
-(JNIEnv * env, jobject this, jstring _userDump){
+JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_acceptSso
+(JNIEnv * env, jobject this){
LassoLogin* login;
int result;
- char *userDump = NULL;
-
- if (_userDump)
- userDump = (char*)(*env)->GetStringUTFChars(env, _userDump, NULL);
login = getCObject(env, this);
- result = lasso_login_create_user(login, userDump);
-
- if (_userDump)
- (*env)->ReleaseStringUTFChars(env, _userDump, userDump);
+ result = lasso_login_accept_sso(login);
return result;
}
@@ -175,8 +164,7 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_initAuthnRequest
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_initFromAuthnRequestMsg
-(JNIEnv * env, jobject this, jstring _authnRequestMsg,
- jint _authnRequestMethod){
+(JNIEnv * env, jobject this, jstring _authnRequestMsg, jint _authnRequestMethod) {
int result;
LassoLogin* login;
char *authnRequestMsg;
@@ -194,8 +182,7 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_initFromAuthnRequest
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_initRequest
-(JNIEnv * env, jobject this, jstring _responseMsg,
- jint _responseMethod){
+(JNIEnv * env, jobject this, jstring _responseMsg, jint _responseMethod) {
int result;
LassoLogin* login;
char *responseMsg;
@@ -213,7 +200,7 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_initRequest
}
JNIEXPORT jboolean JNICALL Java_com_entrouvert_lasso_LassoLogin_mustAuthenticate
-(JNIEnv * env, jobject this){
+(JNIEnv * env, jobject this) {
int result;
LassoLogin* login;
@@ -224,7 +211,7 @@ JNIEXPORT jboolean JNICALL Java_com_entrouvert_lasso_LassoLogin_mustAuthenticate
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_processAuthnResponseMsg
-(JNIEnv * env, jobject this, jstring _authnResponseMsg){
+(JNIEnv * env, jobject this, jstring _authnResponseMsg) {
int result;
LassoLogin* login;
char *authnResponseMsg;
@@ -241,7 +228,7 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_processAuthnResponse
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_processRequestMsg
-(JNIEnv * env, jobject this, jstring _requestMsg){
+(JNIEnv * env, jobject this, jstring _requestMsg) {
int result;
LassoLogin* login;
char *requestMsg;
@@ -258,7 +245,7 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_processRequestMsg
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_processResponseMsg
-(JNIEnv * env, jobject this, jstring _responseMsg){
+(JNIEnv * env, jobject this, jstring _responseMsg) {
int result;
LassoLogin* login;
char *responseMsg;
@@ -275,7 +262,7 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_processResponseMsg
}
JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoLogin_getAssertionArtifact
-(JNIEnv * env, jobject this){
+(JNIEnv * env, jobject this) {
LassoLogin * login;
char *result;
@@ -287,7 +274,7 @@ JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoLogin_getAssertionArtif
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_getProtocolProfile
-(JNIEnv * env, jobject this){
+(JNIEnv * env, jobject this) {
LassoLogin * login;
int result;
@@ -299,7 +286,7 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_getProtocolProfile
}
JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoLogin_getResponseDump
-(JNIEnv * env, jobject this){
+(JNIEnv * env, jobject this) {
LassoLogin * login;
char *result;
diff --git a/java/src/c/com_entrouvert_lasso_LassoLogout.c b/java/src/c/com_entrouvert_lasso_LassoLogout.c
index 7d4326ce..fef9c212 100644
--- a/java/src/c/com_entrouvert_lasso_LassoLogout.c
+++ b/java/src/c/com_entrouvert_lasso_LassoLogout.c
@@ -35,7 +35,7 @@ JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoLogout_init
server = (LassoServer*)getCObject(env, _server);
logout = lasso_logout_new(server, _providerType);
- storeCObject(env, this, logout);
+ setCObject(env, this, logout);
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_buildRequestMsg
@@ -60,19 +60,6 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_buildResponseMsg
return result;
}
-JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoLogout_getNameIdentifier
-(JNIEnv * env, jobject this){
- LassoLogout * logout;
- char *result;
-
- logout = getCObject(env, this);
-
- result = LASSO_PROFILE_CONTEXT(logout)->nameIdentifier;
- if (result == NULL)
- return NULL;
- return (*env)->NewStringUTF(env, result);
-}
-
JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoLogout_getNextProviderId
(JNIEnv * env, jobject this){
char* result;
diff --git a/java/src/c/com_entrouvert_lasso_LassoProfile.c b/java/src/c/com_entrouvert_lasso_LassoProfile.c
index 8f1cb94c..970b17cb 100644
--- a/java/src/c/com_entrouvert_lasso_LassoProfile.c
+++ b/java/src/c/com_entrouvert_lasso_LassoProfile.c
@@ -26,8 +26,90 @@
#include <lasso/lasso.h>
#include <com_entrouvert_lasso_LassoProfile.h>
+JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoProfile_getCIdentity
+(JNIEnv *env, jobject this) {
+ LassoProfile * profile;
+ char * fieldName = "identity";
+ char * fieldType = "Lcom/entrouvert/lasso/LassoIdentity;";
+ char * javaObjectClassName = "com/entrouvert/lasso/LassoIdentity";
+ LassoIdentity *identity;
+
+ profile = getCObject(env, this);
+ identity = lasso_profile_get_identity(profile);
+ checkAndSetField(env, this, fieldName, fieldType, javaObjectClassName, identity);
+}
+
+JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoProfile_getCRequest
+(JNIEnv *env, jobject this) {
+ LassoProfile * profile;
+ char * fieldName = "request";
+ char * fieldType = "Lcom/entrouvert/lasso/LassoNode;";
+ char * javaObjectClassName = "com/entrouvert/lasso/LassoNode";
+ LassoNode *request;
+
+ profile = getCObject(env, this);
+ request = profile->request;
+
+ if (profile->request_type == lassoMessageTypeAuthnRequest) {
+ javaObjectClassName = "com/entrouvert/lasso/LassoAuthnRequest";
+ } else if (profile->request_type == lassoMessageTypeRequest) {
+ javaObjectClassName = "com/entrouvert/lasso/LassoRequest";
+ } else {
+ /* FIXME: Throw error */
+ }
+ checkAndSetField(env, this, fieldName, fieldType, javaObjectClassName, request);
+}
+
+JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoProfile_getCResponse
+(JNIEnv *env, jobject this) {
+ LassoProfile * profile;
+ char * fieldName = "response";
+ char * fieldType = "Lcom/entrouvert/lasso/LassoNode;";
+ char * javaObjectClassName = "com/entrouvert/lasso/LassoNode";
+ LassoNode *response;
+
+ profile = getCObject(env, this);
+ response = profile->response;
+
+ if (profile->response_type == lassoMessageTypeAuthnResponse) {
+ javaObjectClassName = "com/entrouvert/lasso/LassoAuthnResponse";
+ } else if (profile->response_type == lassoMessageTypeResponse) {
+ javaObjectClassName = "com/entrouvert/lasso/LassoResponse";
+ } else {
+ /* FIXME: Throw error */
+ }
+ checkAndSetField(env, this, fieldName, fieldType, javaObjectClassName, response);
+}
+
+JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoProfile_getCServer
+(JNIEnv *env, jobject this) {
+ LassoProfile * profile;
+ char * fieldName = "server";
+ char * fieldType = "Lcom/entrouvert/lasso/LassoServer;";
+ char * javaObjectClassName = "com/entrouvert/lasso/LassoServer";
+ LassoServer *server;
+
+ profile = getCObject(env, this);
+ server = profile->server;
+ checkAndSetField(env, this, fieldName, fieldType, javaObjectClassName, server);
+}
+
+JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoProfile_getCSession
+(JNIEnv *env, jobject this) {
+ LassoProfile * profile;
+ char * fieldName = "session";
+ char * fieldType = "Lcom/entrouvert/lasso/LassoSession;";
+ char * javaObjectClassName = "com/entrouvert/lasso/LassoSession";
+ LassoSession *session;
+
+ profile = getCObject(env, this);
+ session = lasso_profile_get_session(profile);
+
+ checkAndSetField(env, this, fieldName, fieldType, javaObjectClassName, session);
+}
+
JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoProfile_getMsgBody
-(JNIEnv * env, jobject this){
+(JNIEnv *env, jobject this) {
LassoProfile * profile;
char * result;
@@ -39,7 +121,7 @@ JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoProfile_getMsgBody
}
JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoProfile_getMsgRelayState
-(JNIEnv * env, jobject this){
+(JNIEnv *env, jobject this) {
LassoProfile * profile;
char * result;
@@ -51,7 +133,7 @@ JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoProfile_getMsgRelayStat
}
JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoProfile_getMsgUrl
-(JNIEnv * env, jobject this){
+(JNIEnv *env, jobject this) {
LassoProfile * profile;
char * result;
@@ -63,7 +145,7 @@ JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoProfile_getMsgUrl
}
JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoProfile_getNameIdentifier
-(JNIEnv * env, jobject this){
+(JNIEnv *env, jobject this) {
LassoProfile * profile;
char *result;
@@ -76,7 +158,7 @@ JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoProfile_getNameIdentifi
}
JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoProfile_getProviderID
-(JNIEnv * env, jobject this){
+(JNIEnv *env, jobject this) {
LassoProfile * profile;
char * result;
@@ -88,7 +170,7 @@ JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoProfile_getProviderID
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoProfile_getRequestType
-(JNIEnv * env, jobject this){
+(JNIEnv *env, jobject this) {
LassoProfile * profile;
char * result;
@@ -98,7 +180,7 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoProfile_getRequestType
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoProfile_getResponseType
-(JNIEnv * env, jobject this){
+(JNIEnv *env, jobject this) {
LassoProfile * profile;
char * result;
@@ -107,86 +189,56 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoProfile_getResponseType
return profile->response_type;
}
-JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoProfile_initRequestField
-(JNIEnv * env, jobject this){
- LassoProfile * profile;
- char * fieldName = "request";
- char * fieldType = "Lcom/entrouvert/lasso/LassoNode;";
- char * javaObjectClassName = "com/entrouvert/lasso/LassoNode";
- LassoNode *cObject;
-
- profile = getCObject(env, this);
- cObject = profile->request;
-
- if (profile->request_type == lassoMessageTypeAuthnRequest) {
- javaObjectClassName = "com/entrouvert/lasso/LassoAuthnRequest";
- } else if(profile->request_type == lassoMessageTypeRequest) {
- javaObjectClassName = "com/entrouvert/lasso/LassoRequest";
- } else {
- /* FIXME: Throw error */
- }
- checkAndSetField(env, this, fieldName, fieldType, javaObjectClassName, cObject);
-}
-
-JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoProfile_initResponseField
-(JNIEnv * env, jobject this){
- LassoProfile * profile;
- char * fieldName = "response";
- char * fieldType = "Lcom/entrouvert/lasso/LassoNode;";
- char * javaObjectClassName = "com/entrouvert/lasso/LassoNode";
- LassoNode *cObject;
+JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoProfile_setCIdentity
+(JNIEnv *env, jobject this) {
+ char *fieldName = "identity";
+ char *fieldType = "Lcom/entrouvert/lasso/LassoIdentity;";
+ jobject _identity;
+ LassoIdentity *identity;
+ LassoProfile *profile;
profile = getCObject(env, this);
- cObject = profile->response;
-
- if(profile->response_type == lassoMessageTypeAuthnResponse){
- javaObjectClassName = "com/entrouvert/lasso/LassoAuthnResponse";
- }else if(profile->response_type == lassoMessageTypeResponse){
- javaObjectClassName = "com/entrouvert/lasso/LassoResponse";
- }else{
- /* FIXME: Throw error */
- }
-
- checkAndSetField(env, this, fieldName, fieldType, javaObjectClassName, cObject);
+ _identity = getJavaObjectField(env, this, fieldName, fieldType);
+ identity = getCObject(env, _identity);
+ return lasso_profile_set_identity(profile, identity);
}
-JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoProfile_initServerField
-(JNIEnv * env, jobject this){
- LassoProfile * profile;
- char * fieldName = "server";
- char * fieldType = "Lcom/entrouvert/lasso/LassoServer;";
- char * javaObjectClassName = "com/entrouvert/lasso/LassoServer";
- LassoServer *cObject;
+JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoProfile_setCSession
+(JNIEnv *env, jobject this) {
+ char *fieldName = "session";
+ char *fieldType = "Lcom/entrouvert/lasso/LassoSession;";
+ jobject _session;
+ LassoSession *session;
+ LassoProfile *profile;
profile = getCObject(env, this);
- cObject = profile->server;
-
- checkAndSetField(env, this, fieldName, fieldType, javaObjectClassName, cObject);
+ _session = getJavaObjectField(env, this, fieldName, fieldType);
+ session = getCObject(env, _session);
+ return lasso_profile_set_session(profile, session);
}
-JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoProfile_initUserField
-(JNIEnv * env, jobject this){
- LassoProfile * profile;
- char * fieldName = "user";
- char * fieldType = "Lcom/entrouvert/lasso/LassoUser;";
- char * javaObjectClassName = "com/entrouvert/lasso/LassoUser";
- LassoUser *cObject;
+JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoProfile_setIdentityFromDump
+(JNIEnv *env, jobject this, jstring _dump) {
+ int result;
+ LassoProfile *profile;
+ char *dump;
profile = getCObject(env, this);
- cObject = profile->user;
-
- checkAndSetField(env, this, fieldName, fieldType, javaObjectClassName, cObject);
+ dump = (char*)(*env)->GetStringUTFChars(env, _dump, NULL);
+ result = lasso_profile_set_identity_from_dump(profile, dump);
+ (*env)->ReleaseStringUTFChars(env, _dump, dump);
+ return result;
}
-JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoProfile_setUserFromDump
-(JNIEnv * env, jobject this, jstring _dump) {
+JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoProfile_setSessionFromDump
+(JNIEnv *env, jobject this, jstring _dump) {
int result;
LassoProfile *profile;
char *dump;
profile = getCObject(env, this);
dump = (char*)(*env)->GetStringUTFChars(env, _dump, NULL);
- result = lasso_profile_set_user_from_dump(profile, dump);
+ result = lasso_profile_set_session_from_dump(profile, dump);
(*env)->ReleaseStringUTFChars(env, _dump, dump);
return result;
}
diff --git a/java/src/c/com_entrouvert_lasso_LassoRequest.c b/java/src/c/com_entrouvert_lasso_LassoRequest.c
index 7c905cf0..d625a9c2 100644
--- a/java/src/c/com_entrouvert_lasso_LassoRequest.c
+++ b/java/src/c/com_entrouvert_lasso_LassoRequest.c
@@ -37,6 +37,6 @@ JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoRequest_init
(*env)->ReleaseStringUTFChars(env, _assertionArtifact, assertionArtifact);
- storeCObject(env, this, request);
+ setCObject(env, this, request);
}
diff --git a/java/src/c/com_entrouvert_lasso_LassoResponse.c b/java/src/c/com_entrouvert_lasso_LassoResponse.c
index 1cb0b69c..b2d0ea23 100644
--- a/java/src/c/com_entrouvert_lasso_LassoResponse.c
+++ b/java/src/c/com_entrouvert_lasso_LassoResponse.c
@@ -32,5 +32,5 @@ JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoResponse_init
response = lasso_response_new();
- storeCObject(env, this, response);
+ setCObject(env, this, response);
}
diff --git a/java/src/c/com_entrouvert_lasso_LassoServer.c b/java/src/c/com_entrouvert_lasso_LassoServer.c
index 57f911ca..45cd8615 100644
--- a/java/src/c/com_entrouvert_lasso_LassoServer.c
+++ b/java/src/c/com_entrouvert_lasso_LassoServer.c
@@ -52,7 +52,7 @@ JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoServer_init
(*env)->ReleaseStringUTFChars(env, _privateKey, privateKey);
(*env)->ReleaseStringUTFChars(env, _certificate, certificate);
- storeCObject(env, this, server);
+ setCObject(env, this, server);
}
JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoServer_initFromDump
@@ -65,7 +65,7 @@ JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoServer_initFromDump
(*env)->ReleaseStringUTFChars(env, _dump, dump);
- storeCObject(env, this, server);
+ setCObject(env, this, server);
}
JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoServer_addProvider
diff --git a/java/src/c/com_entrouvert_lasso_LassoUser.c b/java/src/c/com_entrouvert_lasso_LassoSession.c
index 8881b41e..cfd78d11 100644
--- a/java/src/c/com_entrouvert_lasso_LassoUser.c
+++ b/java/src/c/com_entrouvert_lasso_LassoSession.c
@@ -23,53 +23,53 @@
*/
#include <helper.h>
-#include <com_entrouvert_lasso_LassoUser.h>
+#include <com_entrouvert_lasso_LassoSession.h>
#include <lasso/lasso.h>
-JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoUser_init
+JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoSession_init
(JNIEnv * env, jobject this){
- LassoUser *user;
+ LassoSession *session;
- user = lasso_user_new();
+ session = lasso_session_new();
- storeCObject(env, this, user);
+ setCObject(env, this, session);
}
-JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoUser_initFromDump
+JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoSession_initFromDump
(JNIEnv * env, jobject this, jstring _dump){
- LassoUser *user;
+ LassoSession *session;
char *dump;
dump = (char*)(*env)->GetStringUTFChars(env, _dump, NULL);
- user = lasso_user_new_from_dump(dump);
+ session = lasso_session_new_from_dump(dump);
(*env)->ReleaseStringUTFChars(env, _dump, dump);
- storeCObject(env, this, user);
+ setCObject(env, this, session);
}
-JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoUser_dump
+JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoSession_dump
(JNIEnv * env, jobject this){
- LassoUser *user;
+ LassoSession *session;
char* result;
- user = (LassoUser*)getCObject(env, this);
- result = lasso_user_dump(user);
+ session = (LassoSession*)getCObject(env, this);
+ result = lasso_session_dump(session);
return (*env)->NewStringUTF(env, result);
}
-JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoUser_getAuthenticationMethod
+JNIEXPORT jstring JNICALL Java_com_entrouvert_lasso_LassoSession_getAuthenticationMethod
(JNIEnv * env, jobject this, jstring _remoteProviderId){
char *remoteProviderId = NULL;
char *result;
- LassoUser* user;
+ LassoSession* session;
if (_remoteProviderId)
remoteProviderId = (char*)(*env)->GetStringUTFChars(env, _remoteProviderId, NULL);
- user = getCObject(env, this);
- result = lasso_user_get_authentication_method(user, remoteProviderId);
+ session = getCObject(env, this);
+ result = lasso_session_get_authentication_method(session, remoteProviderId);
if (_remoteProviderId)
(*env)->ReleaseStringUTFChars(env, _remoteProviderId, remoteProviderId);
diff --git a/java/src/c/helper.c b/java/src/c/helper.c
index b2e147d1..17e555c1 100644
--- a/java/src/c/helper.c
+++ b/java/src/c/helper.c
@@ -24,41 +24,33 @@
#include <helper.h>
-void * getObjectRef(JNIEnv * env, jobject this, const char * name){
- jclass clazz;
- jfieldID fid;
- jlong result;
-
- clazz = (*env)->GetObjectClass(env, this);
- fid = (*env)->GetFieldID(env, clazz, name, "J");
-
- result = (*env)->GetLongField(env, this, fid);
- return (void*)(long)result;
-}
-
-void setObjectRef(JNIEnv * env, jobject this, const char * name, void * objectRef){
- jclass clazz;
- jfieldID fid;
- jlong ref;
-
- clazz = (*env)->GetObjectClass(env, this);
- fid = (*env)->GetFieldID(env, clazz, name, "J");
+void checkAndSetField(JNIEnv *env, jobject this, char *fieldName,
+ char *fieldType, char *javaObjectClassName, void *cObject) {
+ jobject javaObject;
- ref = (jlong)(long)objectRef;
- (*env)->SetLongField(env, this, fid, ref);
-}
+ /* check if changes are made */
+ javaObject = getJavaObjectField(env, this, fieldName, fieldType);
+ if(isSameObject(env, javaObject, cObject)){
+ /* no change made, do nothing */
+ return;
+ }
+ javaObject = instantiate(env, javaObjectClassName);
+ if(javaObject == NULL){
+ return; /* exception thrown */
+ }
-void storeCObject(JNIEnv * env, jobject this, void * cobject){
- setObjectRef(env, this, "c_lasso_object", cobject);
+ /* associate C object with JavaObject */
+ setCObject(env, javaObject, cObject);
+ setJavaObjectField(env, this, fieldName, fieldType, javaObject);
}
-void* getCObject(JNIEnv * env, jobject this){
+void * getCObject(JNIEnv * env, jobject this) {
return getObjectRef(env, this, "c_lasso_object");
}
-
-jobject getJavaObjectField(JNIEnv * env, jobject this, const char * fieldName, const char * fieldType){
+jobject getJavaObjectField(JNIEnv * env, jobject this, const char * fieldName,
+ const char * fieldType) {
jclass clazz;
jfieldID fid;
jobject result;
@@ -70,17 +62,19 @@ jobject getJavaObjectField(JNIEnv * env, jobject this, const char * fieldName, c
return result;
}
-void setJavaObjectField(JNIEnv * env, jobject this, const char * fieldName, const char * fieldType, jobject value){
+void * getObjectRef(JNIEnv * env, jobject this, const char * name) {
jclass clazz;
jfieldID fid;
+ jlong result;
clazz = (*env)->GetObjectClass(env, this);
- fid = (*env)->GetFieldID(env, clazz, fieldName, fieldType);
+ fid = (*env)->GetFieldID(env, clazz, name, "J");
- (*env)->SetObjectField(env, this, fid, value);
+ result = (*env)->GetLongField(env, this, fid);
+ return (void*)(long)result;
}
-jobject instanciate(JNIEnv * env, const char * className){
+jobject instantiate(JNIEnv * env, const char * className){
jclass clazz;
jmethodID constructor;
jobject result;
@@ -104,23 +98,28 @@ int isSameObject(JNIEnv * env, jobject javaObject, void* cObject){
return javaObject != NULL && cObject == getCObject(env, javaObject);
}
-void checkAndSetField(JNIEnv * env, jobject this, char * fieldName,
-char * fieldType, char * javaObjectClassName, void * cObject){
- jobject javaObject;
+void setCObject(JNIEnv * env, jobject this, void * cobject) {
+ setObjectRef(env, this, "c_lasso_object", cobject);
+}
- /* check if change are made */
- javaObject = getJavaObjectField(env, this, fieldName, fieldType);
- if(isSameObject(env, javaObject, cObject)){
- /* no change made, do nothing */
- return;
- }
+void setJavaObjectField(JNIEnv * env, jobject this, const char * fieldName, const char * fieldType, jobject value){
+ jclass clazz;
+ jfieldID fid;
- javaObject = instanciate(env, javaObjectClassName);
- if(javaObject == NULL){
- return; /* exception thrown */
- }
+ clazz = (*env)->GetObjectClass(env, this);
+ fid = (*env)->GetFieldID(env, clazz, fieldName, fieldType);
- /* associate C object with JavaObject */
- storeCObject(env, javaObject, cObject);
- setJavaObjectField(env, this, fieldName, fieldType, javaObject);
+ (*env)->SetObjectField(env, this, fid, value);
+}
+
+void setObjectRef(JNIEnv * env, jobject this, const char * name, void * objectRef) {
+ jclass clazz;
+ jfieldID fid;
+ jlong ref;
+
+ clazz = (*env)->GetObjectClass(env, this);
+ fid = (*env)->GetFieldID(env, clazz, name, "J");
+
+ ref = (jlong)(long)objectRef;
+ (*env)->SetLongField(env, this, fid, ref);
}
diff --git a/java/src/c/helper.h b/java/src/c/helper.h
index 4f84387e..346574a1 100644
--- a/java/src/c/helper.h
+++ b/java/src/c/helper.h
@@ -28,54 +28,56 @@
#include <jni.h>
/**
-* Store C object in Java object
+* If field in Java object don't represent C object, then create new Java
+* object representation for this C object and set java field.
*/
-void storeCObject(JNIEnv * env, jobject this, void * cobject);
+void checkAndSetField(JNIEnv * env, jobject this, char * fieldName,
+ char * fieldType, char * javaObjectClassName, void * cObject);
/**
* Get C object from Java object
*/
-void* getCObject(JNIEnv * env, jobject this);
+void *getCObject(JNIEnv * env, jobject this);
/**
-* Get pointer object stored in java field
-* @param name name of field used to store pointer
-* @return object pointer
+* Get value of attribute, attribute must be Java object
*/
-void * getObjectRef(JNIEnv * env, jobject this, const char * name);
+jobject getJavaObjectField(JNIEnv * env, jobject this, const char * fieldName,
+ const char * fieldType);
/**
-* Store object pointer in java field
+* Get pointer object stored in java field
* @param name name of field used to store pointer
-* @param objectRef pointer to store
+* @return object pointer
*/
-void setObjectRef(JNIEnv * env, jobject this, const char * name, void * objectRef);
+void *getObjectRef(JNIEnv * env, jobject this, const char * name);
/**
-* Get value of attribute, attribute must be Java object
+* Instantiate a new object. Default constructor used
*/
-jobject getJavaObjectField(JNIEnv * env, jobject this, const char * fieldName, const char * fieldType);
+jobject instantiate(JNIEnv * env, const char * className);
/**
-* Store new value for Java object attribute, attribute must be Java object
+* Check if Java object store the C object passed in parameter
*/
-void setJavaObjectField(JNIEnv * env, jobject this, const char * name, const char * fieldType, jobject value);
+int isSameObject(JNIEnv * env, jobject javaObject, void* cObject);
/**
-* Instanciate a new object. Default constructor used
+* Store C object in Java object
*/
-jobject instanciate(JNIEnv * env, const char * className);
+void setCObject(JNIEnv * env, jobject this, void * cobject);
/**
-* Check if Java object store the C object passed in parameter
+* Store new value for Java object attribute, attribute must be Java object
*/
-int isSameObject(JNIEnv * env, jobject javaObject, void* cObject);
+void setJavaObjectField(JNIEnv * env, jobject this, const char * name, const char * fieldType,
+ jobject value);
/**
-* If field in Java object don't represent C object, then create new Java
-* object representation for this C object and set java field.
+* Store object pointer in java field
+* @param name name of field used to store pointer
+* @param objectRef pointer to store
*/
-void checkAndSetField(JNIEnv * env, jobject this, char * fieldName,
-char * fieldType, char * javaObjectClassName, void * cObject);
+void setObjectRef(JNIEnv * env, jobject this, const char * name, void * objectRef);
#endif