/****************************************************************************/
/* Copyright (c) 2007,许继集团有限公司                                      */
/* All rights reserved.                                                     */
/*                                                                          */
/*  模块描述：                                                              */
/** 删除数据集服务模块对外接口声明及数据结构定义
 *  @file  ac_delds.h                                                       
    @author yh  huiy@xjgc.com												
/*                                                                          */
/* 日期         作者    注释                                                */
/* 2007/07/13   YH     创建文件                                             */
/****************************************************************************/

#ifndef IEC61850_DELDS_INCLUDED
#define IEC61850_DELDS_INCLUDED

#include "ac_reqm.h"
#include "ac_srvm.h"
#include "ai_objid.h"
#include "ai_sem.h"
#include "ai_obj.h"
#include "ai_log.h"

#ifdef __cplusplus
extern "C" {
#endif

/**  删除数据集服务请求所需信息结构定义*/
typedef struct
{
	ST_INT ds_id;                   /**< 数据集ID*/ 
	U_AC_REQ_DONE u_delds_done;     /**<  用户回调函数指针*/
} AC_DELDS_REQ_INFO;

/**
 * 服务返回后给应用层回调处理
 * @param  reqCtrl   服务请求结构指针
 * @param  ret    服务结果
 * @return ST_VOID
 */
ST_VOID ac_delDs_req_done(AC_DELDS_REQ_CTRL *reqCtrl, ST_RET ret);

/**
 * 组请求所需的全部信息并发送请求
 * @param  acReqCtrl	请求结构指针
 * @return SD_FAILURE   失败
 * @return SD_SUCCESS   成功
 */
ST_RET  ac_send_delDs_req(AC_REQ_CTRL *acReqCtrl);

/**
 * 删除数据集服务请求构造、并加入待发送请求队列
 * @param  srv_id		服务ID
 * @param  ac_reqInfo	   请求信息
 * @param  time_out		   请求超时时间
 * @param  ac_reqCtrl_out  请求结构（输出）
 * @return SD_FAILURE   失败
 * @return SD_SUCCESS   成功
 */
ST_RET  ac_delete_dataset(ST_INT srv_id, AC_DELDS_REQ_INFO* ac_reqInfo, ST_INT time_out, AC_REQ_CTRL **ac_reqCtrl_out);

/**
 * 释放AC_DELDS_REQ_CTRL结构成员所占资源
 * @param  reqCtrl   请求结构指针
 * @return ST_VOID
 */
ST_VOID ac_cleanup_delDsReqCtrl(AC_DELDS_REQ_CTRL *reqCtrl);

#ifdef __cplusplus
}
#endif


#endif /** ACSI_READ_INCLUDE */









