/usr/share/ada/adainclude/gtkada/glib-gnodes.adb is in libgtkada16.1.0-dev 17.0.2017-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | ------------------------------------------------------------------------------
-- GtkAda - Ada95 binding for Gtk+/Gnome --
-- --
-- Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet --
-- Copyright (C) 1998-2017, AdaCore --
-- --
-- This library is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
-- Software Foundation; either version 3, or (at your option) any later --
-- version. This library is distributed in the hope that it will be useful, --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- --
-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- --
-- --
-- --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
------------------------------------------------------------------------------
with Unchecked_Conversion;
package body Glib.Gnodes is
---------------
-- Destroy --
---------------
procedure Destroy (Node : in out Gnode) is
procedure Internal (Node : Gnode);
pragma Import (C, Internal, "g_node_destroy");
begin
Internal (Node);
Node := null;
end Destroy;
-------------------
-- Is_Ancestor --
-------------------
function Is_Ancestor (Node : Gnode;
Descendant : Gnode) return Boolean is
function Internal (Node : Gnode;
Descendant : Gnode) return Gboolean;
pragma Import (C, Internal, "g_node_is_ancestor");
begin
return Internal (Node, Descendant) /= 0;
end Is_Ancestor;
---------------
-- Is_Leaf --
---------------
function Is_Leaf (Node : Gnode) return Boolean is
function Internal (Node : Gnode) return Gboolean;
pragma Import (C, Internal, "ada_gnode_is_leaf");
begin
return Internal (Node) /= 0;
end Is_Leaf;
---------------
-- Is_Root --
---------------
function Is_Root (Node : Gnode) return Boolean is
function Internal (Node : Gnode) return Gboolean;
pragma Import (C, Internal, "ada_gnode_is_root");
begin
return Internal (Node) /= 0;
end Is_Root;
---------------
-- N_Nodes --
---------------
function N_Nodes (Root : Gnode;
Flags : Glib_Traverse_Flags) return Guint is
function Internal
(Root : Gnode; Flags : Glib_Traverse_Flags) return Guint;
pragma Import (C, Internal, "g_node_n_nodes");
begin
return Internal (Root, Flags);
end N_Nodes;
----------------
-- Gnode_Data --
----------------
package body Gnode_Data is
function Convert is new Unchecked_Conversion (Element_Access, Gnode);
----------------
-- Glib_New --
----------------
procedure Glib_New (Node : out Gnode;
Data : Element_Access) is
begin
Node := Convert (Data);
end Glib_New;
end Gnode_Data;
end Glib.Gnodes;
|