summaryrefslogtreecommitdiff
path: root/src/wayland-client.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/wayland-client.ads')
-rw-r--r--src/wayland-client.ads33
1 files changed, 13 insertions, 20 deletions
diff --git a/src/wayland-client.ads b/src/wayland-client.ads
index 2d6fff0..d206227 100644
--- a/src/wayland-client.ads
+++ b/src/wayland-client.ads
@@ -1,5 +1,10 @@
+private with
+
+ System.Address_To_Access_Conversions;
+
+
package Wayland.Client is
@@ -24,8 +29,9 @@ package Wayland.Client is
type Dispatcher_Function is access procedure
- (Obj : in Wayland_Object;
- Op : in Opcode);
+ (Obj : in out Proxy;
+ Op : in Opcode;
+ Args : in Argument_Array);
@@ -57,20 +63,6 @@ package Wayland.Client is
Version : in Version_Number)
return Proxy;
- procedure Add_Listener
- (This : in out Proxy;
- Op : in Opcode;
- Func : in Listener_Function);
-
- function Get_Listener
- (This : in Proxy;
- Op : in Opcode)
- return Listener_Function;
-
- procedure Remove_Listener
- (This : in out Proxy;
- Op : in Opcode);
-
procedure Set_Dispatcher
(This : in out Proxy;
Func : in Dispatcher_Function);
@@ -104,9 +96,6 @@ package Wayland.Client is
(FD : in File_Descriptor)
return Display;
- procedure Disconnect
- (This : in out Display);
-
function Get_FD
(This : in Display)
return File_Descriptor;
@@ -180,11 +169,15 @@ package Wayland.Client is
private
- type Proxy is new Wayland_Object with null record;
+ type Proxy is new Wayland_Object with record
+ Current_Dispatcher : Dispatcher_Function;
+ end record;
procedure Finalize
(This : in out Proxy);
+ package Proxy_Convert is new System.Address_To_Access_Conversions (Proxy'Class);
+