http://www.adaconcept.com/programs/ontozorendszeres_szimulacio/szimulacio-ontozorendszer-elemek-vizforras.adb

package body Szimulacio.Ontozorendszer.Elemek.Vizforras is


   function Vizforras return Frissitheto_Absztrakt_Ontozorendszer_Elem_Osztaly_Mutato_Tipus is
   begin
      return Frissitheto_Absztrakt_Ontozorendszer_Elem_Tipus(A_Vizforras)'Access;
   end Vizforras;


   procedure Inicializal(Azonosito : Terv.Valodi_Reszletpont_Azonosito_Tipus;
                         Csovezetek_Elem : Modell.Csovezetek_Modell_Elem_Mutato_Tipus) is
   begin
      Inicializal(A_Vizforras, Azonosito, Csovezetek_Elem);
   end Inicializal;


   function Vizet_Ad return Boolean is
   begin
      return  Vizet_Ad(A_Vizforras);
   end Vizet_Ad;


   procedure Bekapcsol is
   begin
      Bekapcsol(A_Vizforras);
   end Bekapcsol;


   procedure Kikapcsol is
   begin
      Kikapcsol(A_Vizforras);
   end Kikapcsol;


   procedure Inicializal(Objektum : in out Vizforras_Tipus;
                         Azonosito : Terv.Valodi_Reszletpont_Azonosito_Tipus;
                         Csovezetek_Elem : Modell.Csovezetek_Modell_Elem_Mutato_Tipus) is
   begin
      -- bizonyos esetekben jobb igy erteket adni, de hatranyai is lehetnek
      -- ha valamikor odafigyeles nelkul bovitik uj adattal a Vizforras_Tipus -t elmaradhatnak inicializalasok
      Objektum.Azonosito := Azonosito;
      Objektum.Vizforrastol_Mert_Tavolsag := 0;
      Objektum.Ad_Vizet := True;
      Objektum.Csovezetek_Elem := Csovezetek_Elem;
   end Inicializal;


   procedure Frissit (Objektum : in out Vizforras_Tipus) is
   begin

      if Objektum.Ad_Vizet then
         Objektum.Csovezetek_Elem.all := Modell.Van_Benne_Viz;
      else
         Objektum.Csovezetek_Elem.all := Modell.Ures;
      end if;

   end Frissit;


   function Vizet_Ad(Objektum : Vizforras_Tipus) return Boolean is
   begin
      return Objektum.Ad_Vizet;
   end Vizet_Ad;


   procedure Bekapcsol(Objektum : in out Vizforras_Tipus) is
   begin
      Objektum.Ad_Vizet := True;
   end Bekapcsol;


   procedure Kikapcsol(Objektum : in out Vizforras_Tipus) is
   begin
      Objektum.Ad_Vizet := False;
   end Kikapcsol;


end Szimulacio.Ontozorendszer.Elemek.Vizforras;