您当前的位置: 首页 >  c++

令狐掌门

暂无认证

  • 0浏览

    0关注

    513博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++ handler回调机制模拟与代码实现

令狐掌门 发布时间:2022-02-25 15:47:59 ,浏览量:0

C++在使用第三方SDK开发时, 经常会看到callback、handler的用法,实现sdk的某个接口类,获取相关操作的通知,可以同步,也可以异步,下面将将介绍这种方式的实现。

一、 用vs2019创建dll项目

例如下面是一个音视频会议的sdk, 包含创建引擎、加入房间,离开房间,销毁引擎等接口

接口层:

  • EngineInterface :纯虚类,具体实现在EngineImpl
  • EngineEventHandlerInterface :虚基类,该类需要用户来派生实现,用于接收EngineImpl的相关通知,在创建sdk实例时,需要传入用该类进行初始化。EngineEventHandlerInterface 无需在sdk里实现,声明即可。

实现层:

  • EngineImpl,该类派生于EngineInterface,实现具体功能,同时给接口EngineEventHandlerInterface发送信息,如果用户实现了EngineEventHandlerInterface将会收到sdk相关功能的执行结果。
  • createEngine(), 创建sdk示例

具体代码

EngineInterface.h

#pragma once

#include "sdkbase.h"
#include "EngineEventHandlerInterface.h"

class MEETINGSDK_API EngineInterface {
 public:
  EngineInterfac
关注
打赏
1652240117
查看更多评论
立即登录/注册

微信扫码登录

0.0393s