!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
module cubeadm_history
  use cubetools_structure
  use cubeadm_messaging
  !
  public :: cubeadm_history_command,cubeadm_history_register
  private
  !
  type :: history_comm_t
     type(option_t), pointer :: history    
  end type history_comm_t
  type(history_comm_t) :: comm
  !
  ! *** JP: Can't we use a generic interface mecanism to alias the definition?
  !
contains
  subroutine cubeadm_history_register(error)  
    !---------------------------------------------------------------------
    !
    !---------------------------------------------------------------------
    logical, intent(inout) :: error
    !
    character(len=*), parameter :: comm_abstract = &
         'Display and interact with the processing history'
    character(len=*), parameter :: comm_help = &
         ! VVV No help on nroff
         strg_id
    character(len=*), parameter :: rname='HISTORY>REGISTER'
    !
    call cubeadm_message(admseve%trace,rname,'Welcome')
    !
    call cubetools_register_command(&
         'HISTORY','',&
         comm_abstract,&
         comm_help,&
         cubeadm_history_command,&
         comm%history,error)
    if (error) return
  end subroutine cubeadm_history_register
  !
  subroutine cubeadm_history_command(line,error)
    use cubedag_history
    !---------------------------------------------------------------------
    ! Support for command
    !  ADM\HISTORY
    !---------------------------------------------------------------------
    character(len=*), intent(in)    :: line
    logical,          intent(inout) :: error
    !
    call cubedag_history_list(error)
    if (error)  return
  end subroutine cubeadm_history_command
end module cubeadm_history
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
