- tg 里有多个版本,
- 因此设计了版本管理的map,
- 每次可以选择一个版本进行实例创建
- 这样,每个客户端就可以定制开发了。
- tg使用了c++20
创建是要传递一个描述者,里面是上下文信息
- G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\Instance.cpp

- 可以看到竟然是一堆std function为主的回调
- 用来内部event的传递
Meta类用来管理多个版本实例的创建
-
G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\Instance.h

-
这个是在Instance.h 里
tgcalls库采用版本管理,通过Meta类管理多个版本的Instance实例创建。Descriptor用于传递上下文信息,Meta::Create和Meta::construct用于创建实例。在不同版本的InstanceImpl中注册,如InstanceV2_4_0_0Impl,Call模块依赖于instance模块,如在calls_call.cpp中的createAndStartController。创建过程中涉及C++20和Qt代码,且使用raw指针的原因未明确。
订阅专栏 解锁全文
2481

被折叠的 条评论
为什么被折叠?



