/
Zero_Fly
/
parall
Обзор
Документация
Войти
/
Zero_Fly
/
parall
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/parallel-executor/DeviceEvent.h
42 строки
1 KB
akulyanin
fix all notes
10 янв 2025, 17:02
10 янв 2025, 17:02
314d86f
Код
Авторство
О чём код?
#include"Event.h" #include"device.h" #include<memory> using namespace std; class DeviceEvent: public Event{ public: DeviceEvent(shared_ptr<Device> device):device(device){} protected: shared_ptr<Device> device; }; class StartWork: public DeviceEvent{ public: StartWork(shared_ptr<Device> device):DeviceEvent(device){} string toString() const override{ return "The " + device->getName() + " started working."; } }; class DataEvent: public DeviceEvent{ public: DataEvent(shared_ptr<Device> device):DeviceEvent(device){ response = device->getDataAsString(); } string toString() const override{ if(response == nullptr) return device->getName() + ": " + ERROR_MSG; else return *response; } private: shared_ptr<string> response = nullptr; }; class WorkDoneEvent: public DeviceEvent{ public: WorkDoneEvent(shared_ptr<Device> device):DeviceEvent(device){} string toString() const override{ if (device->getLifeTime() == 0){ return device->getName() + ": " + ERROR_MSG;} else { return "The " + device->getName() + " has finished working.";} } };