#ifndef  CIVHYDRFUNCINTER_H
#define CIVHYDRFUNCINTER_H
#define DLLEXPORT __declspec(dllexport)

#if defined(__cplusplus)
extern "C" {
#endif

	/**
	*@brief 水力计算服务
	*@uri：数据库连接地址
	*@return 1:成功，其他值失败
	*/
	bool DLLEXPORT hdyrSimulation(char* uri);

	/**
	*@brief 水质计算
	*@uri：数据库连接地址
	*@return 1:成功，其他值失败
	*/
	bool  DLLEXPORT qualitySimulation(char* uri);
	/**
	*@brief 水质追踪分析，扩散分析
	*@uri：数据库连接地址
	*@sN：追踪节点
	*@hours：追踪小时
	*@result：输出结果：json字符串
	*@return 1:成功，其他值失败
	*/
	bool   DLLEXPORT trackingSimulation(char* uri, char* sN,  int hours, char* result);

	/**
	*@brief 模拟计算
	*@uri: 管网数据库连接
	*@netName: 管网名
	*@flag: 标记
	*/
	bool DLLEXPORT simulation(char* uri, char* netName, char* flag);
	
	/**
	*@brief 水力模拟计算
	*@uri: 管网数据库连接
	*@netName: 管网名
	*/
	bool DLLEXPORT hdySimulation(char* uri, char* netName);

	/**
	*@brief 水力模拟计算
	*@uri: 管网数据库连接
	*@netName: 管网名
	*@type: 水质模拟类型选择，水龄，追踪，化学成分
	*/
	//bool DLLEXPORT qualitySimulation(char* uri, char* netName, char* type);

	/**
	*@brief 水质追踪模拟计算
	*@uri: 管网数据库连接
	*@netName: 管网名
	*@nodeSn: 追踪节点编号
	*@time: 追踪时段
	*/
	bool DLLEXPORT qualityTrackingSimulation(char* uri,  char* netName,  char* nodeSn, char* time);

	/**
	 *@brief 获取管网计算特定时段的结果
	 *@uri: 管网数据库连接uri
	 *@date: 日期
	 *@interval: 时段，整数
	 */
	bool DLLEXPORT getDataByInterval(char* uri, char* date, char* interval);

#if defined(__cplusplus)
}
#endif

#endif // ! CIVHYDRFUNCINTER_H



