File : oci-thick-variable.ads


with OCI.Thick.Statement_Pkg;
generic
  type Variable_Type is private;
   Type_Id : in ub2;
package OCI.Thick.Variable is
use OCI.Thick.Statement_Pkg;

      type Variable is 
      new Base_Variable with private;
      
      procedure Bind(Stmt : Statement; Value : in out Variable; Name : String);
      procedure Bind(Stmt : Statement; Value : in out Variable; Position : Positive);
      procedure Define(Stmt : Statement; Value : in out Variable; Position : Positive);
      procedure Set_Value(Var : in out Variable; Value : Variable_Type);
      function Get_Value(Var : Variable'Class) return Variable_Type;
      function Value(Var : Variable'Class) return Variable_Type renames Get_Value;
      function Get_Value_Internal(Var : Variable'Class) return Variable_Type;

private

      type Variable is 
      new Base_Variable with record
         Value : Variable_Type;
      end record;

end OCI.Thick.Variable