# `Starter`

digraph inheritance0703eecbcd { bgcolor=transparent; rankdir=UD; ratio=compress; size="8.0, 12.0"; "Starter" [URL="#taurus.core.tango.starter.Starter",color=dodgerblue1,fillcolor=white,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded,target="_top",tooltip="Abstract class for managing (starting, stopping, registering and"]; }

class Starter(ds_name)

  Abstract class for managing (starting, stopping, registering and removing) a Tango Device Server.

  Derived classes should provide the methods for starting and stopping a device.

  Import from `taurus.core.tango.starter` as:

      from taurus.core.tango.starter import Starter

  addNewDevice(device, klass=None)

    Register a device of this server in the DB (register the server if not present) e.g. to create Starter in an init script:

        addNewDevice('sys/tg_test/foobar', klass='TangoTest')

    Parameters:

      klass – class name. If None passed, it defaults to the server name (without instance name)

  cleanDb(force=False)

    removes devices which have been added by `addNewDevice()` and then removes the server if it was registered by this starter (or, if force is True, it removes the server in any case)

    Parameters:

      force (bool) – force removing of the Server even if it was not registered within this starter

  hardKill()
  isRunning()
  start()
  startDs(synch=True, wait_seconds=10)
  stopDs(synch=True, hard_kill=False, wait_seconds=10)
  terminate()