| 246 | virtual std::string family() const = 0; |
| 247 | virtual VoiceTaskKind task_kind() const = 0; |
| 248 | virtual RunMode run_mode() const = 0; |
| 249 | virtual void prepare(const SessionPreparationRequest & request) = 0; |
| 250 | }; |
| 251 | |
| 252 | class IOfflineVoiceTaskSession : public virtual IVoiceTaskSession { |
| 253 | public: |
| 254 | ~IOfflineVoiceTaskSession() override = default; |
| 255 | |
| 256 | virtual TaskResult run(const TaskRequest & request) = 0; |
| 257 | }; |
| 258 | |
| 259 | class IBatchedOfflineVoiceTaskSession : public virtual IVoiceTaskSession { |
| 260 | public: |
| 261 | using ResultCallback = std::function<void(size_t, TaskResult)>; |
| 262 | |
| 263 | ~IBatchedOfflineVoiceTaskSession() override = default; |
| 264 | |
| 265 | virtual std::vector<TaskResult> run_batch(const std::vector<TaskRequest> & requests) = 0; |
| 266 | |
| 267 | virtual void run_batch( |
| 268 | const std::vector<TaskRequest> & requests, |
| 269 | const ResultCallback & on_result) { |
| 270 | auto results = run_batch(requests); |
| 271 | for (size_t index = 0; index < results.size(); ++index) { |
| 272 | on_result(index, std::move(results[index])); |
no outgoing calls
no test coverage detected