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 }