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

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

	/**
	*@brief 上游追踪
	*@param uri 数据库连接地址
	*@param sn 追踪节点本点号
	*@param result 追踪结果
	*/
	bool DLLEXPORT upstreamTracking(char* uri, char* sn, char* result);

	/**
	*@brief 下游追踪
	*@param uri 数据库连接地址
	*@param sn 追踪节点本点号
	*@param result 追踪结果
	*/
	bool DLLEXPORT downstreamTracking(char* uri, char* sn, char* result);

	/**
	*@brief 供水范围追踪
	*@param uri 数据库连接地址
	*@param sn 追踪节点本点号
	*@param result 追踪结果
	*/
	bool DLLEXPORT waterSupplyScopeAnalysis(char* uri, char* sn, char* result);

	/**
	*@brief 获取当前日期和时段的结果值
	*@param uri：数据库连接地址
	*@param type:  节点或者管段
	*@param condition：时段
	*@param result 获取的结果值
	*@return 1: 成功，其他值失败
	*/
	bool DLLEXPORT getRptByCondition(char* uri, char* type, char* condition, char* result);

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

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

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

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

#if defined(__cplusplus)
}
#endif

#endif // ! CIVHYDRFUNCINTER_H



