summaryrefslogtreecommitdiff
path: root/lib/CWayland/CWayland.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CWayland/CWayland.cc')
-rw-r--r--lib/CWayland/CWayland.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/CWayland/CWayland.cc b/lib/CWayland/CWayland.cc
index db2983d..940584a 100644
--- a/lib/CWayland/CWayland.cc
+++ b/lib/CWayland/CWayland.cc
@@ -1292,3 +1292,18 @@ lean_obj_res waylean_proxy_get_type(b_lean_obj_arg proxy_obj)
auto name = wl_proxy_get_interface(proxy)->name;
return lean_io_result_mk_ok(lean_mk_string(name));
}
+
+// Proxy.isEqual : (x y : @& Proxy) → Bool
+lean_obj_res waylean_proxy_is_equal(b_lean_obj_arg x, b_lean_obj_arg y)
+{
+ auto x_proxy = static_cast<wl_proxy*>(lean_get_external_data(x));
+ auto y_proxy = static_cast<wl_proxy*>(lean_get_external_data(y));
+ return lean_box(x_proxy == y_proxy ? 1 : 0);
+}
+
+// Proxy.hash : (x : @& Proxy) → UInt64
+lean_obj_res waylean_proxy_hash(b_lean_obj_arg x)
+{
+ auto proxy = static_cast<wl_proxy*>(lean_get_external_data(x));
+ return lean_box_uint64(wl_proxy_get_id(proxy));
+} \ No newline at end of file