eis/eqpalg/.do_not_use/utility-no-use/instance_lock.h

40 lines
893 B
C++

#pragma once
/**
* @file eqpalg/utility/instance_lock.h
* @brief 算法实例锁
* @author Cat (null.null.null@qq.com)
* @version 0.1
* @date 2021-09-17
*
* Copyright: Baosight Co. Ltd.
* DO NOT COPY/USE WITHOUT PERMISSION
*
*/
#include <string>
#include <optional>
namespace utility {
/**
* @brief 为文件上锁,防止多个文件读写错误
* @param ruleId 算法id
* @return true 上锁成功
* @return false 上锁失败
*/
bool lock_file(std::string ruleId);
/**
* @brief 解锁上锁的算法id
* @param ruleId 算法id
* @return true 解锁成功
* @return false 解锁失败
*/
bool unlock_file(std::string ruleId);
/**
* @brief 算法是否上锁
* @param ruleId 算法id
* @return true
* @return false
*/
bool is_file_locked(std::string ruleId);
} // namespace utility