summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lasso/xml/saml_name_identifier.c14
-rw-r--r--lasso/xml/saml_name_identifier.h3
2 files changed, 17 insertions, 0 deletions
diff --git a/lasso/xml/saml_name_identifier.c b/lasso/xml/saml_name_identifier.c
index 1d0d1a14..a93c8f7c 100644
--- a/lasso/xml/saml_name_identifier.c
+++ b/lasso/xml/saml_name_identifier.c
@@ -98,6 +98,20 @@ lasso_saml_name_identifier_get_type()
return this_type;
}
+gboolean
+lasso_saml_name_identifier_equals(LassoSamlNameIdentifier *a,
+ LassoSamlNameIdentifier *b) {
+ if (a == NULL || b == NULL)
+ return FALSE;
+
+ if (! LASSO_IS_SAML_NAME_IDENTIFIER(a) && ! LASSO_IS_SAML_NAME_IDENTIFIER(b)) {
+ return FALSE;
+ }
+ return lasso_strisequal(a->NameQualifier, b->NameQualifier)
+ && lasso_strisequal(a->Format, b->Format)
+ && lasso_strisequal(a->content, b->content);
+}
+
/**
* lasso_saml_name_identifier_new:
*
diff --git a/lasso/xml/saml_name_identifier.h b/lasso/xml/saml_name_identifier.h
index 4902727c..ede9dbab 100644
--- a/lasso/xml/saml_name_identifier.h
+++ b/lasso/xml/saml_name_identifier.h
@@ -83,6 +83,9 @@ LASSO_EXPORT LassoSamlNameIdentifier* lasso_saml_name_identifier_new(void);
LASSO_EXPORT LassoSamlNameIdentifier* lasso_saml_name_identifier_new_from_xmlNode(
xmlNode *xmlnode);
+LASSO_EXPORT gboolean lasso_saml_name_identifier_equals(LassoSamlNameIdentifier *a,
+ LassoSamlNameIdentifier *b);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */