| 181 | } |
| 182 | |
| 183 | void lv2_config_service_listener::notify_all() { |
| 184 | std::vector<shared_ptr<lv2_config_service>> services; |
| 185 | |
| 186 | // Grab all events |
| 187 | idm::select<lv2_config_service>([&](u32 /*id*/, lv2_config_service &service) { |
| 188 | if (check_service(service)) { |
| 189 | services.push_back(service.get_shared_ptr()); |
| 190 | } |
| 191 | }); |
| 192 | |
| 193 | // Sort services by timestamp |
| 194 | sort(services.begin(), services.end(), |
| 195 | [](const shared_ptr<lv2_config_service> &s1, |
| 196 | const shared_ptr<lv2_config_service> &s2) { |
| 197 | return s1->timestamp < s2->timestamp; |
| 198 | }); |
| 199 | |
| 200 | // Notify listener (now with services in sorted order) |
| 201 | for (auto &service : services) { |
| 202 | this->notify(service); |
| 203 | } |
| 204 | } |
| 205 | |
| 206 | // LV2 Config Service |
| 207 | void lv2_config_service::unregister() { |
no test coverage detected