From 777a1ddf9c9d25e877ba57e819046a9dc99bbf39 Mon Sep 17 00:00:00 2001 From: Karel Slany Date: Wed, 29 Mar 2017 13:43:10 +0200 Subject: [PATCH] Added RECEIVER and GUARDIAN user types. --- doc/libisds.xml | 10 ++++++++++ doc/user | 5 +++++ src/isds.c | 10 ++++++++++ src/isds.h | 10 +++++++--- test/offline/isds-sendertype.c | 8 ++++++-- test/offline/isds-usertype.c | 8 ++++++-- 6 files changed, 44 insertions(+), 7 deletions(-) diff --git a/doc/libisds.xml b/doc/libisds.xml index 8af5480..83ca34c 100644 --- a/doc/libisds.xml +++ b/doc/libisds.xml @@ -1456,6 +1456,16 @@ err = isds_cleanup(); USERTYPE_LIQUIDATOR Company liquidator. + + + USERTYPE_RECEIVER + Company receiver. + + + + USERTYPE_GUARDIAN + Legal guardian. + diff --git a/doc/user b/doc/user index eb083f7..576664c 100644 --- a/doc/user +++ b/doc/user @@ -23,6 +23,11 @@ OFFICIAL OFFICIAL_CERT LIQUIDATOR Liquidator of a commercial organisation. Effectively equivalent to PRIMARY_USER. +RECEIVER Receiver of a commercial organisation. Effectively + equivalent to PRIMARY_USER. +GUARDIAN A person who has the authority to care for the personal + and property interest of another person. Effectively + equivalent to PRIMARY_USER. User authorizations diff --git a/src/isds.c b/src/isds.c index 4dcbb02..a6e33a2 100644 --- a/src/isds.c +++ b/src/isds.c @@ -2073,6 +2073,10 @@ static isds_error string2isds_UserType(xmlChar *string, isds_UserType *type) { *type = USERTYPE_OFFICIAL_CERT; else if (!xmlStrcmp(string, BAD_CAST "LIQUIDATOR")) *type = USERTYPE_LIQUIDATOR; + else if (!xmlStrcmp(string, BAD_CAST "RECEIVER")) + *type = USERTYPE_RECEIVER; + else if (!xmlStrcmp(string, BAD_CAST "GUARDIAN")) + *type = USERTYPE_GUARDIAN; else return IE_ENUM; return IE_SUCCESS; @@ -2089,6 +2093,8 @@ static const xmlChar *isds_UserType2string(const isds_UserType type) { case USERTYPE_OFFICIAL: return(BAD_CAST "OFFICIAL"); break; case USERTYPE_OFFICIAL_CERT: return(BAD_CAST "OFFICIAL_CERT"); break; case USERTYPE_LIQUIDATOR: return(BAD_CAST "LIQUIDATOR"); break; + case USERTYPE_RECEIVER: return(BAD_CAST "RECEIVER"); break; + case USERTYPE_GUARDIAN: return(BAD_CAST "GUARDIAN"); break; default: return NULL; break; } } @@ -2113,6 +2119,10 @@ static isds_error string2isds_sender_type(const xmlChar *string, *type = SENDERTYPE_OFFICIAL_CERT; else if (!xmlStrcmp(string, BAD_CAST "LIQUIDATOR")) *type = SENDERTYPE_LIQUIDATOR; + else if (!xmlStrcmp(string, BAD_CAST "RECEIVER")) + *type = SENDERTYPE_RECEIVER; + else if (!xmlStrcmp(string, BAD_CAST "GUARDIAN")) + *type = SENDERTYPE_GUARDIAN; else return IE_ENUM; return IE_SUCCESS; diff --git a/src/isds.h b/src/isds.h index 14d6b46..116c084 100644 --- a/src/isds.h +++ b/src/isds.h @@ -342,7 +342,9 @@ typedef enum { USERTYPE_ADMINISTRATOR, /* User to manage ENTRUSTED_USERs */ USERTYPE_OFFICIAL, /* ??? */ USERTYPE_OFFICIAL_CERT, /* ??? */ - USERTYPE_LIQUIDATOR /* Company liquidator */ + USERTYPE_LIQUIDATOR, /* Company liquidator */ + USERTYPE_RECEIVER, /* Company receiver */ + USERTYPE_GUARDIAN /* Legal guardian */ } isds_UserType; /* Data about user. @@ -777,8 +779,10 @@ typedef enum { SENDERTYPE_OFFICIAL, /* ISDS; sender of system message */ SENDERTYPE_VIRTUAL, /* An application (e.g. document information system) */ - SENDERTYPE_OFFICIAL_CERT, /* ???; Non-normative */ - SENDERTYPE_LIQUIDATOR /* Liquidator of the company; Non-normative */ + SENDERTYPE_OFFICIAL_CERT, /* ???; Non-normative */ + SENDERTYPE_LIQUIDATOR, /* Liquidator of the company; Non-normative */ + SENDERTYPE_RECEIVER, /* Receiver of the company */ + SENDERTYPE_GUARDIAN /* Legal guardian */ } isds_sender_type; /* Digital delivery of credentials */ diff --git a/test/offline/isds-sendertype.c b/test/offline/isds-sendertype.c index b57150a..066a768 100644 --- a/test/offline/isds-sendertype.c +++ b/test/offline/isds-sendertype.c @@ -31,7 +31,9 @@ int main(void) { SENDERTYPE_OFFICIAL, SENDERTYPE_VIRTUAL, SENDERTYPE_OFFICIAL_CERT, - SENDERTYPE_LIQUIDATOR + SENDERTYPE_LIQUIDATOR, + SENDERTYPE_RECEIVER, + SENDERTYPE_GUARDIAN }; const xmlChar *names[] = { @@ -41,7 +43,9 @@ int main(void) { BAD_CAST "OFFICIAL", BAD_CAST "VIRTUAL", BAD_CAST "OFFICIAL_CERT", - BAD_CAST "LIQUIDATOR" + BAD_CAST "LIQUIDATOR", + BAD_CAST "RECEIVER", + BAD_CAST "GUARDIAN" }; diff --git a/test/offline/isds-usertype.c b/test/offline/isds-usertype.c index e5bd315..1723a53 100644 --- a/test/offline/isds-usertype.c +++ b/test/offline/isds-usertype.c @@ -55,7 +55,9 @@ int main(void) { USERTYPE_ADMINISTRATOR, USERTYPE_OFFICIAL, USERTYPE_OFFICIAL_CERT, - USERTYPE_LIQUIDATOR + USERTYPE_LIQUIDATOR, + USERTYPE_RECEIVER, + USERTYPE_GUARDIAN }; const xmlChar *names[] = { @@ -64,7 +66,9 @@ int main(void) { BAD_CAST "ADMINISTRATOR", BAD_CAST "OFFICIAL", BAD_CAST "OFFICIAL_CERT", - BAD_CAST "LIQUIDATOR" + BAD_CAST "LIQUIDATOR", + BAD_CAST "RECEIVER", + BAD_CAST "GUARDIAN" }; -- 2.11.4.GIT