'Makes the object "component" available as pox.core.core.name.
If only one argument is specified, the given argument is registered
using its class name as the name.'

def register(self, name, component=None):

    if (component is None):
        component = name
        name = component.__class__.__name__
        if hasattr(component, '_core_name'):
            name = component._core_name
    if (name in self.components):
        log.warn(("Warning:    Registered    '%s'    multipled    times" % (name,)))
    self.components[name] = component
    self.raiseEventNoErrors(ComponentRegistered, name, component)
    self._try_waiters()
