blob: c72a6c43d5b689cf92896d1bd6e791a5443f4b5b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
export DataTemplate, loaddatatemplate
mutable struct InternalDataTemplate end
mutable struct DataTemplate
internalptr::Ptr{InternalDataTemplate}
end
function loaddatatemplate(filename::AbstractString)
out = ccall((:data_template_new_from_file, :libcrystfel),
Ptr{InternalDataTemplate}, (Cstring,), filename)
if out == C_NULL
throw(OutOfMemoryError())
end
dt = DataTemplate(out)
finalizer(dt) do x
ccall((:data_template_free, :libcrystfel),
Cvoid, (Ptr{InternalDataTemplate},), x.internalptr)
end
return dt
end
|