1. package Entities.Items.Keen4 is 
  2.  
  3.     pragma Elaborate_Body; 
  4.  
  5. private 
  6.  
  7.     type Blue_Gem is new Item with null record; 
  8.  
  9.     procedure Construct( this : access Blue_Gem ); 
  10.  
  11.     procedure Give_Item( this : access Blue_Gem ); 
  12.  
  13.     function Object_Input( stream : access Root_Stream_Type'Class ) return Blue_Gem; 
  14.     for Blue_Gem'Input use Object_Input; 
  15.  
  16.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Blue_Gem ); 
  17.     for Blue_Gem'Read use Object_Read; 
  18.  
  19.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Blue_Gem ); 
  20.     for Blue_Gem'Write use Object_Write; 
  21.  
  22.     ---------------------------------------------------------------------------- 
  23.  
  24.     type Candybar is new Item with null record; 
  25.  
  26.     procedure Construct( this : access Candybar ); 
  27.  
  28.     procedure Give_Item( this : access Candybar ); 
  29.  
  30.     function Object_Input( stream : access Root_Stream_Type'Class ) return Candybar; 
  31.     for Candybar'Input use Object_Input; 
  32.  
  33.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Candybar ); 
  34.     for Candybar'Read use Object_Read; 
  35.  
  36.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Candybar ); 
  37.     for Candybar'Write use Object_Write; 
  38.  
  39.     ---------------------------------------------------------------------------- 
  40.  
  41.     type Donut is new Item with null record; 
  42.  
  43.     procedure Construct( this : access Donut ); 
  44.  
  45.     procedure Give_Item( this : access Donut ); 
  46.  
  47.     function Object_Input( stream : access Root_Stream_Type'Class ) return Donut; 
  48.     for Donut'Input use Object_Input; 
  49.  
  50.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Donut ); 
  51.     for Donut'Read use Object_Read; 
  52.  
  53.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Donut ); 
  54.     for Donut'Write use Object_Write; 
  55.  
  56.     ---------------------------------------------------------------------------- 
  57.  
  58.     type Drop is new Item with null record; 
  59.  
  60.     procedure Construct( this : access Drop ); 
  61.  
  62.     procedure Give_Item( this : access Drop ); 
  63.  
  64.     function Object_Input( stream : access Root_Stream_Type'Class ) return Drop; 
  65.     for Drop'Input use Object_Input; 
  66.  
  67.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Drop ); 
  68.     for Drop'Read use Object_Read; 
  69.  
  70.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Drop ); 
  71.     for Drop'Write use Object_Write; 
  72.  
  73.     ---------------------------------------------------------------------------- 
  74.  
  75.     type Flask is new Item with null record; 
  76.  
  77.     procedure Construct( this : access Flask ); 
  78.  
  79.     procedure Give_Item( this : access Flask ); 
  80.  
  81.     function Object_Input( stream : access Root_Stream_Type'Class ) return Flask; 
  82.     for Flask'Input use Object_Input; 
  83.  
  84.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Flask ); 
  85.     for Flask'Read use Object_Read; 
  86.  
  87.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Flask ); 
  88.     for Flask'Write use Object_Write; 
  89.  
  90.     ---------------------------------------------------------------------------- 
  91.  
  92.     type Green_Gem is new Item with null record; 
  93.  
  94.     procedure Construct( this : access Green_Gem ); 
  95.  
  96.     procedure Give_Item( this : access Green_Gem ); 
  97.  
  98.     function Object_Input( stream : access Root_Stream_Type'Class ) return Green_Gem; 
  99.     for Green_Gem'Input use Object_Input; 
  100.  
  101.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Green_Gem ); 
  102.     for Green_Gem'Read use Object_Read; 
  103.  
  104.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Green_Gem ); 
  105.     for Green_Gem'Write use Object_Write; 
  106.  
  107.     ---------------------------------------------------------------------------- 
  108.  
  109.     type Gum is new Item with null record; 
  110.  
  111.     procedure Construct( this : access Gum ); 
  112.  
  113.     procedure Give_Item( this : access Gum ); 
  114.  
  115.     function Object_Input( stream : access Root_Stream_Type'Class ) return Gum; 
  116.     for Gum'Input use Object_Input; 
  117.  
  118.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Gum ); 
  119.     for Gum'Read use Object_Read; 
  120.  
  121.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Gum ); 
  122.     for Gum'Write use Object_Write; 
  123.  
  124.     ---------------------------------------------------------------------------- 
  125.  
  126.     type Icecream is new Item with null record; 
  127.  
  128.     procedure Construct( this : access Icecream ); 
  129.  
  130.     procedure Give_Item( this : access Icecream ); 
  131.  
  132.     function Object_Input( stream : access Root_Stream_Type'Class ) return Icecream; 
  133.     for Icecream'Input use Object_Input; 
  134.  
  135.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Icecream ); 
  136.     for Icecream'Read use Object_Read; 
  137.  
  138.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Icecream ); 
  139.     for Icecream'Write use Object_Write; 
  140.  
  141.     ---------------------------------------------------------------------------- 
  142.  
  143.     type Jawbreaker is new Item with null record; 
  144.  
  145.     procedure Construct( this : access Jawbreaker ); 
  146.  
  147.     procedure Give_Item( this : access Jawbreaker ); 
  148.  
  149.     function Object_Input( stream : access Root_Stream_Type'Class ) return Jawbreaker; 
  150.     for Jawbreaker'Input use Object_Input; 
  151.  
  152.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Jawbreaker ); 
  153.     for Jawbreaker'Read use Object_Read; 
  154.  
  155.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Jawbreaker ); 
  156.     for Jawbreaker'Write use Object_Write; 
  157.  
  158.     ---------------------------------------------------------------------------- 
  159.  
  160.     type Red_Gem is new Item with null record; 
  161.  
  162.     procedure Construct( this : access Red_Gem ); 
  163.  
  164.     procedure Give_Item( this : access Red_Gem ); 
  165.  
  166.     function Object_Input( stream : access Root_Stream_Type'Class ) return Red_Gem; 
  167.     for Red_Gem'Input use Object_Input; 
  168.  
  169.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Red_Gem ); 
  170.     for Red_Gem'Read use Object_Read; 
  171.  
  172.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Red_Gem ); 
  173.     for Red_Gem'Write use Object_Write; 
  174.  
  175.     ---------------------------------------------------------------------------- 
  176.  
  177.     type Soda is new Item with null record; 
  178.  
  179.     procedure Construct( this : access Soda ); 
  180.  
  181.     procedure Give_Item( this : access Soda ); 
  182.  
  183.     function Object_Input( stream : access Root_Stream_Type'Class ) return Soda; 
  184.     for Soda'Input use Object_Input; 
  185.  
  186.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Soda ); 
  187.     for Soda'Read use Object_Read; 
  188.  
  189.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Soda ); 
  190.     for Soda'Write use Object_Write; 
  191.  
  192.     ---------------------------------------------------------------------------- 
  193.  
  194.     type Stunner is new Item with null record; 
  195.  
  196.     procedure Construct( this : access Stunner ); 
  197.  
  198.     procedure Give_Item( this : access Stunner ); 
  199.  
  200.     function Object_Input( stream : access Root_Stream_Type'Class ) return Stunner; 
  201.     for Stunner'Input use Object_Input; 
  202.  
  203.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Stunner ); 
  204.     for Stunner'Read use Object_Read; 
  205.  
  206.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Stunner ); 
  207.     for Stunner'Write use Object_Write; 
  208.  
  209.     ---------------------------------------------------------------------------- 
  210.  
  211.     type Yellow_Gem is new Item with null record; 
  212.  
  213.     procedure Construct( this : access Yellow_Gem ); 
  214.  
  215.     procedure Give_Item( this : access Yellow_Gem ); 
  216.  
  217.     function Object_Input( stream : access Root_Stream_Type'Class ) return Yellow_Gem; 
  218.     for Yellow_Gem'Input use Object_Input; 
  219.  
  220.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Yellow_Gem ); 
  221.     for Yellow_Gem'Read use Object_Read; 
  222.  
  223.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Yellow_Gem ); 
  224.     for Yellow_Gem'Write use Object_Write; 
  225.  
  226. end Entities.Items.Keen4;