c++ - 向实际呼叫者发送通知。
问题描述
我有一个 API currentFuelPrice()并且这个 api 是单例支持的。在我的代码中,我制作了单例。假设添加了两个调用者 A1 和 A2 作为观察者。现在当 A1 调用CurrentFuelPrice() 时。收到oncurrentFuelPrice()。由于它是单例的,它将向调用者 A1 和 A2 发送 NotifyFuelCurrentPrice。我怎样才能通知实际的来电者,即。仅限A1。
下面是我的代码。
//single ton
FuelService* FuelService::Create() {
return (!m_instanceSingleton) ?
m_instanceSingleton = new FuelService() :
m_instanceSingleton;
}
//Register to service
FuelService::FuelService()
: FuelProxy(),
Listener(Listener_path)
{
registerListener((IOnFuel*)this);
fuel_obj = FuelProxy::getInstance();
}
FuelService::~FuelService() {}
// adding observer
void FuelService::AddObserver(
FuelProxy::FuelNotification* observer) {
observer.push_back(observer);
}
// calling the API
void FuelService::CurrentFuelPrice(const uint32_t& sessionId) {
fuel_obj->currentFuelPrice(sessionId);
}
// Getting response send back to caller
void FuelService::oncurrentFuelPrice(const uint32_t& sessionId,const uint32_t&price) {
std::vector<FuelNotification*>::iterator it = observer.begin();
for (; it != observer.end(); ++it)
(*it)->NotifyFuelCurrentPrice(price);
}
解决方案
推荐阅读
- highcharts - 使用 Boost 模块时出现 Highcharts 颜色问题
- php - 我的 php 脚本有循环并因未知原因占用所有可用的物理内存
- react-native - @react-native-firebase/admob 在 IOS 中不起作用
- java - Jenkins 在多个设备上进行 Android 测试
- azure - 具有应用服务的 Azure 应用程序网关 - 使用应用服务的 https 侦听器
- rust - 我可以通过在两个异步接收器上调用 select 来错过一个值吗?
- html - 单击元素后,div内的标题会移到外面
- react-native - 如何使用谷歌登录从 AWS cognito 获取访问令牌
- python - 将查询集作为参数传递给 Django 中的 __in?
- cron - Ansible cronjob - 为文件名添加时间戳