Skip to content
Snippets Groups Projects
Commit 1cf223b6 authored by florian's avatar florian
Browse files

DRAFT: Move Transaction module to separate file

parent c01a8864
No related branches found
No related tags found
1 merge request!7ENH: Implement queries and entity retrieval
...@@ -216,6 +216,6 @@ include("Connection.jl") ...@@ -216,6 +216,6 @@ include("Connection.jl")
module Entity end module Entity end
module Transaction end include("Transaction.jl")
end # CaosDB end # CaosDB
# ** header v3.0
# This file is a part of the CaosDB Project.
#
# Copyright (C) 2021 Indiscale GmbH <info@indiscale.com>
# Copyright (C) 2021 Florian Spreckelsen <f.spreckelsen@indiscale.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public
# License along with this program. If not, see
# <https://www.gnu.org/licenses/>.
#
# ** end header
#
module Transaction
using CaosDB
"""
Struct containing a pointer to the wrapped cpp transaction
object. Meant for internal use; call
`CaosDB.Transaction.create_transaction` to create a transaction
object.
"""
mutable struct _Transaction
wrapped_transaction::Ptr{Cvoid}
function _Transaction(managed_by_julia::Bool = false)
trans = new()
if managed_by_julia
function f(t)
ccall(
(:caosdb_transaction_delete_transaction, CaosDB.library_name),
Cint,
(Ref{_Transaction},),
Ref{_Transaction}(t),
)
end
finalizer(f, trans)
end
return trans
end
end
end # Transaction
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment