summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/ataxia_entry.erl')
-rw-r--r--src/ataxia_entry.erl23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/ataxia_entry.erl b/src/ataxia_entry.erl
index a0a48e2..17460d9 100644
--- a/src/ataxia_entry.erl
+++ b/src/ataxia_entry.erl
@@ -10,7 +10,7 @@
id :: any(),
read_perm :: ataxia_security:permission(),
write_perm :: ataxia_security:permission(),
- lock :: ataxia_security:lock(),
+ lock :: ataxia_lock:type(),
val :: any()
}
).
@@ -31,12 +31,18 @@
get_read_permission/1,
get_write_permission/1,
get_value/1,
+ get_lock/1,
set_read_permission/2,
set_write_permission/2,
set_value/2,
+ set_lock/2,
get_id_field/0,
+ get_read_permission_field/0,
+ get_write_permission_field/0,
+ get_lock_field/0,
+
get_record_info/0,
get_record_name/0
]
@@ -78,6 +84,9 @@ get_write_permission (#entry { write_perm = Result }) -> Result.
-spec get_value (type()) -> any().
get_value (#entry { val = Result }) -> Result.
+-spec get_lock (type()) -> any().
+get_lock (#entry { lock = Result }) -> Result.
+
-spec set_read_permission (ataxia_security:permission(), type()) -> type().
set_read_permission (Perm, Item) -> Item#entry{ read_perm = Perm }.
@@ -87,9 +96,21 @@ set_write_permission (Perm, Item) -> Item#entry{ write_perm = Perm }.
-spec set_value (any(), type()) -> type().
set_value (Value, Item) -> Item#entry{ val = Value }.
+-spec set_lock (ataxia_lock:type(), type()) -> type().
+set_lock (Lock, Item) -> Item#entry{ lock = Lock }.
+
-spec get_id_field () -> non_neg_integer().
get_id_field () -> #entry.id.
+-spec get_read_permission_field () -> non_neg_integer().
+get_read_permission_field () -> #entry.read_perm.
+
+-spec get_write_permission_field () -> non_neg_integer().
+get_write_permission_field () -> #entry.write_perm.
+
+-spec get_lock_field () -> non_neg_integer().
+get_lock_field () -> #entry.lock.
+
get_record_info () -> record_info(fields, entry).
get_record_name () -> entry.