Update copyright dates
[src/app-framework-binder.git] / include / afb / afb-auth.h
index da4f8be..8136424 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016, 2017, 2018 "IoT.bzh"
+ * Copyright (C) 2015-2020 "IoT.bzh"
  * Author: José Bollo <jose.bollo@iot.bzh>
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
 
 #pragma once
 
-/*
- * Enum for Session/Token/Assurance middleware.
+/** @defgroup AFB_AUTH
+ *  @{ */
+
+
+/**
+ * Enumeration  for authority (Session/Token/Assurance) definitions.
+ *
+ * @see afb_auth
  */
 enum afb_auth_type
 {
-       afb_auth_No = 0,        /** never authorized, no data */
-       afb_auth_Token,         /** authorized if token valid, no data */
-       afb_auth_LOA,           /** authorized if LOA greater than data 'loa' */
-       afb_auth_Permission,    /** authorized if permission 'text' is granted */
-       afb_auth_Or,            /** authorized if 'first' or 'next' is authorized */
-       afb_auth_And,           /** authorized if 'first' and 'next' are authorized */
-       afb_auth_Not,           /** authorized if 'first' is not authorized */
-       afb_auth_Yes            /** always authorized, no data */
+       /** never authorized, no data */
+       afb_auth_No = 0,
+
+       /** authorized if token valid, no data */
+       afb_auth_Token,
+
+       /** authorized if LOA greater than or equal to data 'loa' */
+       afb_auth_LOA,
+
+       /** authorized if permission 'text' is granted */
+       afb_auth_Permission,
+
+       /** authorized if 'first' or 'next' is authorized */
+       afb_auth_Or,
+
+       /** authorized if 'first' and 'next' are authorized */
+       afb_auth_And,
+
+       /** authorized if 'first' is not authorized */
+       afb_auth_Not,
+
+       /** always authorized, no data */
+       afb_auth_Yes
 };
 
+/**
+ * Definition of an authorization entry
+ */
 struct afb_auth
 {
+       /** type of entry @see afb_auth_type */
        enum afb_auth_type type;
+
        union {
+               /** text when @ref type == @ref afb_auth_Permission */
                const char *text;
+
+               /** level of assurancy when @ref type ==  @ref afb_auth_LOA */
                unsigned loa;
+
+               /** first child when @ref type in { @ref afb_auth_Or, @ref afb_auth_And, @ref afb_auth_Not } */
                const struct afb_auth *first;
        };
+
+       /** second child when @ref type in { @ref afb_auth_Or, @ref afb_auth_And } */
        const struct afb_auth *next;
 };
 
+/** @} */
\ No newline at end of file