# Module `Gnumed.pycommon.gmBorg`

A base class turning child classes into a Singleton.

## Classes

`class cBorg (*args, **kargs)`
  Expand source code

      class cBorg:
              """A generic Borg mixin for new-style classes.

              - mixin this class with your class' ancestors to borg it

              - there may be many _instances_ of this - PER CHILD CLASS - but they all share _state_
              """
              _instances:dict = {}

              def __new__(cls, *args, **kargs):
                      # look up subclass instance cache
                      if cBorg._instances.get(cls) is None:
                              #cBorg._instances[cls] = object.__new__(cls, *args, **kargs)
                              cBorg._instances[cls] = object.__new__(cls)
                      return cBorg._instances[cls]

  A generic Borg mixin for new-style classes.

  - mixin this class with your class' ancestors to borg it

  - there may be many instances of this - PER CHILD CLASS - but they all share state

  ### Subclasses

  - gmOOoConnector
  - gmCurrentPatient
  - gmCurrentPraxisBranch
  - gmCurrentProvider
  - gmBackendListener
  - gmCfgData
  - gmConnectionPool
  - gmPaths