From 8d405b265285c368df2e9cf1c14acee7532e0ee7 Mon Sep 17 00:00:00 2001
From: nancy.liao <huihui.liao@greentest.com.cn>
Date: 摹曛, 29 5月 2025 18:14:38 +0800
Subject: [PATCH] Merge branch 'develop' of http://139.9.88.116:3000/r/module/open-license-manager into develop

---
 include/licensecc/licensecc.h |   58 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 41 insertions(+), 17 deletions(-)

diff --git a/include/licensecc/licensecc.h b/include/licensecc/licensecc.h
index 9397613..5632788 100644
--- a/include/licensecc/licensecc.h
+++ b/include/licensecc/licensecc.h
@@ -1,3 +1,6 @@
+/** \addtogroup api
+ * @{
+ */
 #ifndef LICENSEPP_H_
 #define LICENSEPP_H_
 
@@ -10,48 +13,69 @@
 
 #include "datatypes.h"
 
-/*
+/**
  * Method used to convert the LicenseInfo into a human readable
- * representation. //not yet implemented
+ * representation.
  */
-void print_error(char out_buffer[API_ERROR_BUFFER_SIZE], LicenseInfo* licenseInfo);
+void print_error(char out_buffer[LCC_API_ERROR_BUFFER_SIZE], LicenseInfo* licenseInfo);
 
 /**
- * This method calculates the pc identifier. The string need to be shown to the user and given back to the software
- * editor when issuing a license.
- *  pc_id_method = STRATEGY_DEFAULT usually works.
+ * \brief Calculates the hardware identifier associated with a specific pc.
+ * \details
+ * The caller, when it doesn't find a valid license (see `acquire_license` below) should show to the user the calculated identifier.
+ * The user should report the pc_identifier to the software editor that will in turn use it to issue a license.
+ *
+ * pc_id_method = ::STRATEGY_DEFAULT is usually the best choice.
+ *
+ * First call this method with `identifier_out` = nullptr and `buf_size` = 0 , it will return the requested buffer size
+ * in `buf_size` parameter.
+ *
+ * Then allocate the necessary memory, and call the method again.
+ *
+ * @return true if successful, false if failure (because it is not possible to identify or buffer too small).
+ * @param hw_id_method[in] specifies a preferred identification method. Usually #STRATEGY_DEFAULT works well. See the
+ * wiki for more informations.
+ * @param identifier_out[out] buffer where the identification string will be placed.
+ * @param buf_size[in-out] size of the buffer where the identification string will be placed.
+ * @param execution_environment_info[out] if not null will contain the informations about the execution environment.
  */
-bool identify_pc(IDENTIFICATION_STRATEGY pc_id_method, char* identifier_out, size_t* bufSize);
+bool identify_pc(LCC_API_HW_IDENTIFICATION_STRATEGY hw_id_method, char* identifier_out, size_t* buf_size,
+				 ExecutionEnvironmentInfo* execution_environment_info);
 
 /**
  * This method is used to request the use of one license for a product.
  * In case of local license it's used to check if the product is licensed.
  *
- * @return LICENSE_OK(0) if successful. Other values if there are errors.
- * @param productName[in]
- * 			a vendor defined string containing the name of the product we want to request.
- * @param licenseLocation[in] otpional, can be NULL.
+ * @return LCC_EVENT_TYPE::LICENSE_OK(0) if successful. Other values if there are errors.
+ *
+ * @param callerInformation[in] optional, can be NULL.
+ * 			contains informations on the software that is requesting the license verification. Let the software
+ * 			specify its version or request verification for features that need to be enabled separately.  
+ * @param licenseLocation[in] optional, can be NULL.
  * 					licenseLocation, either the name of the file
  * 								or the name of the environment variable should be !='\0'
- * @param license[out] optional, can be NULL, if set it will return extra informations about the license.
+ * @param license_out[out] optional, can be NULL, if set it will return extra informations about the license.
  */
 
-EVENT_TYPE acquire_license(const CallerInformations* callerInformation, const LicenseLocation* licenseLocation,
+LCC_EVENT_TYPE acquire_license(const CallerInformations* callerInformation, const LicenseLocation* licenseLocation,
 						   LicenseInfo* license_out);
 
 /**
- * Do nothing for now, useful for network licenses.
+ * Not implemented yet, useful (later) for network licenses.
  * Should be called from time to time to confirm we're still using the
  * license.
  */
-EVENT_TYPE confirm_license(char* featureName, LicenseLocation* licenseLocation);
+LCC_EVENT_TYPE confirm_license(char* featureName, LicenseLocation* licenseLocation);
 /**
- * Do nothing for now, useful for network licenses.
+ * Not implemented yet, useful (later) for network licenses.
  */
-EVENT_TYPE release_license(char* featureName, LicenseLocation licenseLocation);
+LCC_EVENT_TYPE release_license(char* featureName, LicenseLocation licenseLocation);
 
 #ifdef __cplusplus
 }
 #endif
 
 #endif
+/**
+ * @}
+ */

--
Gitblit v1.9.1