lib/accy/src/kernel/library/catalog/artifact/request.zig
daab053ee43316e1809a84551d573ddd1e5bf3d2
1 const std = @import("std");
2
3 const kernel = @import("../../../root.zig");
4 const query_mod = @import("../root.zig");
5 const registry = query_mod;
6
7 const ArtifactRequest = query_mod.ArtifactRequest;
8
9 pub fn createKernelCallArtifact(
10 allocator: std.mem.Allocator,
11 handle: kernel.BackendHandle,
12 request: ArtifactRequest,
13 ) !kernel.OwnedKernelCallArtifact {
14 inline for (registry.entries) |EntryType| {
15 if (EntryType.version == request.version and std.mem.eql(u8, EntryType.target, request.target)) {
16 return try EntryType.createKernelCallArtifact(allocator, handle, request.options);
17 }
18 }
19 return error.UnknownKernelLibraryEntry;
20 }