42 lines
801 B
Julia
42 lines
801 B
Julia
module Olm # include("olm.jl")
|
|
using Random
|
|
using JSON
|
|
|
|
const libolm = "/gnu/store/ks2szjc82r1wqaxdq4vsy6sq9plwd4fs-libolm-3.1.4/lib/libolm.so"
|
|
const error = ccall((:olm_error, libolm), Csize_t, ())
|
|
|
|
struct OlmAccount
|
|
ptr::Ptr{Cvoid}
|
|
memory::Vector{UInt8}
|
|
end
|
|
|
|
struct OlmSession
|
|
ptr::Ptr{Cvoid}
|
|
end
|
|
|
|
struct OlmUtility
|
|
ptr::Ptr{Cvoid}
|
|
end
|
|
|
|
include("memory.jl")
|
|
include("wrapper.jl")
|
|
|
|
export OlmAccount
|
|
|
|
# # Save/Load account!
|
|
# a = OlmAccount()
|
|
# Olm.generate_one_time_keys(a, 10)
|
|
# # deleted after use
|
|
# enc_key = "pass" |> collect
|
|
# dec_key = deepcopy(enc_key)
|
|
|
|
# enc_key = dec_key = Char[]
|
|
# p = pickle!(a, enc_key)
|
|
# write("account.bin", p)
|
|
# d = read("account.bin", String) |> collect .|> UInt8
|
|
# @assert d == p
|
|
# n = OlmAccount(d, dec_key)
|
|
# o = OlmAccount(p, dec_key)
|
|
|
|
end # Olm
|