diff options
| author | Valery Febvre <vfebvre at easter-eggs.com> | 2004-08-05 16:13:38 +0000 |
|---|---|---|
| committer | Valery Febvre <vfebvre at easter-eggs.com> | 2004-08-05 16:13:38 +0000 |
| commit | e20c361830e3f39af5bee7e3cc3d0a2ccc365991 (patch) | |
| tree | 7b9bb46112fba860094d424ac026ec6f4b3e2981 | |
| parent | 4bd67a7eb862df211d121ac4a634c0a98583a287 (diff) | |
lasso_profile_get_identity() & lasso_profile_get_session() return now
NULL if the identity/session is empty.
lasso_profile_is_identity_dirty() & lasso_profile_is_identity_dirty() return now
FALSE if the identity/session is NULL.
| -rw-r--r-- | lasso/id-ff/profile.c | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/lasso/id-ff/profile.c b/lasso/id-ff/profile.c index 0239fa7f..2710ce32 100644 --- a/lasso/id-ff/profile.c +++ b/lasso/id-ff/profile.c @@ -118,6 +118,7 @@ lasso_profile_dump(LassoProfile *ctx, else { LASSO_NODE_GET_CLASS(node)->set_name(node, "LassoProfile"); } + LASSO_NODE_GET_CLASS(node)->set_ns(node, lassoLassoHRef, NULL); if (ctx->request != NULL) { request = lasso_node_copy(ctx->request); @@ -131,7 +132,8 @@ lasso_profile_dump(LassoProfile *ctx, } if (ctx->nameIdentifier != NULL) { - LASSO_NODE_GET_CLASS(node)->new_child(node, "NameIdentifier", ctx->nameIdentifier, FALSE); + LASSO_NODE_GET_CLASS(node)->new_child(node, "NameIdentifier", + ctx->nameIdentifier, FALSE); } if (ctx->remote_providerID != NULL) { @@ -146,7 +148,8 @@ lasso_profile_dump(LassoProfile *ctx, LASSO_NODE_GET_CLASS(node)->new_child(node, "MsgBody", ctx->msg_body, FALSE); } if (ctx->msg_relayState != NULL) { - LASSO_NODE_GET_CLASS(node)->new_child(node, "MsgRelayState", ctx->msg_relayState, FALSE); + LASSO_NODE_GET_CLASS(node)->new_child(node, "MsgRelayState", + ctx->msg_relayState, FALSE); } g_sprintf(request_type, "%d", ctx->request_type); @@ -168,25 +171,53 @@ lasso_profile_dump(LassoProfile *ctx, LassoIdentity* lasso_profile_get_identity(LassoProfile *ctx) { - return (lasso_identity_copy(ctx->identity)); + g_return_val_if_fail(LASSO_IS_PROFILE(ctx), NULL); + + if (ctx->identity != NULL) { + /* return identity copy only if identity isn't empty */ + if (ctx->identity->providerIDs->len > 0) { + return (lasso_identity_copy(ctx->identity)); + } + } + + return (NULL); } LassoSession* lasso_profile_get_session(LassoProfile *ctx) { - return (lasso_session_copy(ctx->session)); + g_return_val_if_fail(LASSO_IS_PROFILE(ctx), NULL); + + if (ctx->session != NULL) { + /* return session copy only if session isn't empty */ + if (ctx->session->providerIDs->len > 0) { + return (lasso_session_copy(ctx->session)); + } + } + + return (NULL); } gboolean lasso_profile_is_identity_dirty(LassoProfile *ctx) { - return (ctx->identity->is_dirty); + if (ctx->identity != NULL) { + return (ctx->identity->is_dirty); + } + else { + return (FALSE); + } } gboolean lasso_profile_is_session_dirty(LassoProfile *ctx) { - return (ctx->session->is_dirty); + if (ctx->session != NULL) { + return (ctx->session->is_dirty); + } + else { + return (FALSE); + } } gint |
