一个sdk接口完成说所有功能设计

接口设计

当sdk接口众多时,为了接口的统一管理,用回调函数是一个比较好的办法。这样基本可以返回任何想要的数据。下面是伪代码接口设计

enum DATATYEP{
DATA_ONE,  
DATA_TWO,
}; //数据类型

enum  ERROYTYPE{
NOERROE = 0,
ERRORTYPE_ONE,
}; //错误码

struct DATA_ONE_ST
{
   int a;
   int b;
};

struct DATA_TWO_ST
{
   char s[20];
   double dbleng;
};


/*
@description         数据查询回调函数
@parameter data      返回数据    根据DATATYEP 类型转化为相应的数据
@parameter length    返回数据的长度
@parameter DATATYEP  返回的数据类型
@parameter ERROYTYPE 错误码
@parameter receiver  透传指针
*/
typedef void (*callback)(void*data, int length, DATATYEP type, ERROYTYPE error, void*receiver );

/*
@description         注册回调函数
@parameter cb        回调函数
@parameter type      请求数据类型
@parameter receiver  透传指针
*/
void request_data(callback cb, DATATYEP type, void*receiver );

使用意见:

用户定一个回调函数,然后使用request_data()注册一次回调函数。后台就可以根据需要返回对应的数据。用户也可以随时使用该注册函数向后台索取想要的数据

sdk使用者:
比如用户想要DATA_ONE 这种数据:只需要这样写即可:

//定义回调函数
void callback_fun(void*data, int length, DATATYEP type, ERROYTYPE error, void*receiver )
{
    //dosomthing
}
request_data(callback_fun, DATA_ONE, null);

在自定义的callback_fun回调函数中,获取请求的数据。

新增数据类型

在DATATYEP 枚举中添加一个新的枚举值,然后建一个对应的结构体。sdk就可以在request_data函数中进行具体的实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值