# -*- coding: binary -*-

module Rex
module Post

###
#
# This class provides generalized methods for interacting with a thread
# running in a process on a remote machine via a post-exploitation client.
#
###
class Thread

  #
  # Suspend the remote thread.
  #
  def suspend
    raise NotImplementedError
  end

  #
  # Resume execution of the remote thread.
  #
  def resume
    raise NotImplementedError
  end

  #
  # Terminate the remote thread.
  #
  def terminate
    raise NotImplementedError
  end

  #
  # Query architecture-specific register state.
  #
  def query_regs
    raise NotImplementedError
  end

  #
  # Set architecture-specific register state.
  #
  def set_regs
    raise NotImplementedError
  end

  #
  # Close resources associated with the thread.
  #
  def close
    raise NotImplementedError
  end
end

end; end
