From b939d1a0b6b375ea5bae54d83a1cb89eb888c75a Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周六, 21 3月 2020 20:57:47 +0800 Subject: [PATCH] update docs --- src/templates/licensecc_properties.h.in | 108 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 80 insertions(+), 28 deletions(-) diff --git a/src/templates/licensecc_properties.h.in b/src/templates/licensecc_properties.h.in index b8026f9..55c22a2 100644 --- a/src/templates/licensecc_properties.h.in +++ b/src/templates/licensecc_properties.h.in @@ -1,6 +1,22 @@ +/** + * \file + * This file contains all the properties that are customizable on on a per-project basis eg: + * 1) api parameter sizes + * 2) + * + * It is safe to place the values that your project need to customize here, since each project get its own copy of this + * file. + */ + +/** + * \addtogroup api + * @{ + */ + #ifndef BUILD_PROPERTIES_H_ #define BUILD_PROPERTIES_H_ + /** * This file contains all the properties that are customizable on on a per-project basis eg: * 1) api parameter sizes @@ -22,35 +38,8 @@ #define LCC_LICENSE_FILE_EXTENSION ".lic" #define LCC_LICENSE_LOCATION_ENV_VAR "LICENSE_LOCATION" #define LCC_LICENSE_DATA_ENV_VAR "LICENSE_DATA" -/** - * Environment variable that if defined will change the identification strategy used to generate the hardware identifier. - * If a client has an unstable pc-identifier use this variable to generate one. - * Valid values are integers defined in `LCC_IDENTIFICATION_STRATEGY` enum. - */ -#define LCC_IDENTIFICATION_STRATEGY_ENV_VAR "IDENTIFICATION_STRATEGY" -/** - * Enum to select a specific pc identification_strategy. DEFAULT Should be used in most cases. - */ -typedef enum { - STRATEGY_DEFAULT = -1, - STRATEGY_ETHERNET = 0, - STRATEGY_IP_ADDRESS = 1, - STRATEGY_DISK_NUM = 2, - STRATEGY_DISK_LABEL = 3, - STRATEGY_MEMORY_CPU_SIZE = 4, - STRATEGY_HOST_NAME = 5, - STRATEGY_NONE = -2 -} LCC_API_IDENTIFICATION_STRATEGY; - -//strategies used for each virtual environment. -#define LCC_BARE_TO_METAL_STRATEGIES { STRATEGY_ETHERNET, STRATEGY_DISK_LABEL, STRATEGY_NONE } -#define LCC_VM_STRATEGIES { STRATEGY_ETHERNET, STRATEGY_NONE } -#define LCC_LXC_STRATEGIES { STRATEGY_ETHERNET, STRATEGY_NONE } -#define LCC_DOCKER_STRATEGIES { STRATEGY_NONE } -#define LCC_CLOUD_STRATEGIES { STRATEGY_NONE } - -//Api structure limits +// Api structure limits /** * Maximum size of a license file or base64 data */ @@ -71,4 +60,67 @@ */ #define LCC_VERIFY_MAGIC (lic_info.m_magic == @LCC_PROJECT_MAGIC_NUM@) +/** + * + * Environment variable name that if defined will change the identification strategy used to generate the hardware + * identifier. If a client has an unstable pc-identifier use this variable to generate one. Valid values are integers + * defined in `LCC_IDENTIFICATION_STRATEGY` enum. + */ +#define LCC_IDENTIFICATION_STRATEGY_ENV_VAR "IDENTIFICATION_STRATEGY" + +/** + * \enum LCC_API_HW_IDENTIFICATION_STRATEGY + * + * This enum list all the possible pc identification strategy. It is to be used as a parameter of ::identify_pc + * + * ::STRATEGY_DEFAULT Should be used in most cases. + */ +enum LCC_API_HW_IDENTIFICATION_STRATEGY { + /** + * \brief Default strategy. + * + * This strategy try to detect which virtual environment the software is running in. + * - If no virtual environment is detected it will try the strategies defined in ::LCC_BARE_TO_METAL_STRATEGIES + * - If it detects the software is running in a virtual machine it will use ::LCC_VM_STRATEGIES + * - If it detects the software is running in a docker or in an LXC it will use ::LCC_DOCKER_STRATEGIES or + * ::LCC_DOCKER_STRATEGIES + * - If it detects the software is running in a virtual machine in the cloud it will use ::LCC_CLOUD_STRATEGIES + */ + STRATEGY_DEFAULT = -1, + STRATEGY_ETHERNET = 0, + STRATEGY_IP_ADDRESS = 1, + STRATEGY_DISK_NUM = 2, + STRATEGY_DISK_LABEL = 3, + STRATEGY_MEMORY_CPU_SIZE = 4, + STRATEGY_HOST_NAME = 5, + STRATEGY_NONE = -2 +}; + +/** + * @addtogroup strategies + * @{ + */ +/** + * List the strategies used when no virtual envrionment is detected + */ +#define LCC_BARE_TO_METAL_STRATEGIES { STRATEGY_ETHERNET, STRATEGY_DISK_LABEL, STRATEGY_NONE } +/** + * List the strategies used when the software is executing in a virtual machine + */ +#define LCC_VM_STRATEGIES { STRATEGY_ETHERNET, STRATEGY_NONE } +#define LCC_LXC_STRATEGIES { STRATEGY_ETHERNET, STRATEGY_NONE } +#define LCC_DOCKER_STRATEGIES { STRATEGY_NONE } +/** + * List the strategies used when it's detected an execution in the cloud + */ +#define LCC_CLOUD_STRATEGIES { STRATEGY_NONE } + +/** + * @} + */ + + #endif +/** + * @} + */ -- Gitblit v1.9.1