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 | 52 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 35 insertions(+), 17 deletions(-) diff --git a/include/licensecc/licensecc.h b/include/licensecc/licensecc.h index 950fe0f..5632788 100644 --- a/include/licensecc/licensecc.h +++ b/include/licensecc/licensecc.h @@ -13,45 +13,63 @@ #include "datatypes.h" -/* +/** * Method used to convert the LicenseInfo into a human readable - * representation. //not yet implemented + * representation. */ -void print_error(char out_buffer[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 } -- Gitblit v1.9.1