pragma Ada_05;
with RTIDDS.Obj;
with System;
with Ada.Finalization;
private with Ada.Unchecked_Deallocation;
package RTIDDS.Obj_Impl is
pragma Preelaborate;
type Ref is new Ada.Finalization.Limited_Controlled and RTIDDS.Obj.Ref with private;
type Ref_Access is access all Ref'Class;
function GetInterface (Self : not null access constant Ref)
return System.Address;
procedure SetInterface (Self : not null access Ref;
To : System.Address);
function Interface_Is_Null (Self : not null access constant Ref)
return Boolean;
procedure Free (Self : in out Ref_Access);
private
type Ref is new Ada.Finalization.Limited_Controlled and RTIDDS.Obj.Ref with record
native_Object : System.Address;
end record;
procedure Free_Ref is new Ada.Unchecked_Deallocation (Ref'Class, Ref_Access);
procedure Free (Self : in out Ref_Access) renames Free_Ref;
end RTIDDS.Obj_Impl;