CIMIndicationListener¶
- class lmiwbem.lmiwbem_core.CIMIndicationListener¶
CIMIndicationListener(listen_address, port, certfile=None, keyfile=None, trust_store=None)
Parameters: - listen_address (unicode) – Bind address
- port (int) – Listening port
- certfile (unicode) – Path to X509 certificate
- keyfile (unicode) – Path to X509 private key; may be None, if cert_file also contains private key
- trust_store (unicode) – Path to trust store
- __repr__()¶
Returns: Pretty string of the object Return type: unicode
- add_handler(name, handler, *args, **kwargs)¶
Adds callback for specific indication.
Parameters: - name (str) – Indication name
- handler – Callable for indication
- *args – Positional arguments passed to handler
- **kwargs – Keyword arguments passed to handler
Example
Simple indication handler:
def indication_handler(ind, *args, **kwargs): ''' Indication handler. Args: ind (CIMInstance): Exported indication *args: Positional arguments passed from CIMIndicationListener.add_handler() **kwargs: Keyword arguments passed from CIMIndicationListener.add_handler() ''' # Do something with the indication pass
- handlers¶
Returns: List of indication names which the listener accepts.
- is_alive¶
Returns: True, if the listener is running; False otherwise.
- listen_address¶
- port¶
- remove_handler(name)¶
Removes a specified handler from indication listener.
Parameters: name (str) – Indication name Raises: KeyError – When such indication is not registered
- start(retries=1)¶
Starts indication listener.
Parameters: retries (int) – Number of bind retries Raises: ConnectionError – When the listener can’t bind to specified port. Example
Let’s assume, ports 12345, 12346 are in use and 12347 is unused; but we can bind to ports in range <12345-12355>:
listener = CIMIndicationListener('localhost', 12345) listener.start(10) listener.port == 12347 # True
- stop()¶
Stops indication listener.
- uses_ssl¶
Returns: True, if the listener uses secure connection; False otherwise.