Source code for lmi.shell.LMISubscription

# Copyright (C) 2012-2014 Peter Hatina <phatina@redhat.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.


[docs]class LMISubscription(object): """ Class holding information about a indication subscription. :param LMIShellClient client: client object used for CIMOM communication :param tuple cim_filter: contains filter object and bool indicator, if the filter object was created temporarily :param tuple cim_handler: contains handler object and bool indicator, if the handler object was created temporarily :param cim_subscription: subscription object :param bool permanent: indicates, if the indication should be deleted on the LMIShell's quit """ def __init__(self, client, cim_filter, cim_handler, cim_subscription, permanent): self._client = client self._cim_filter_tpl = cim_filter self._cim_handler_tpl = cim_handler self._cim_subscription = cim_subscription self._permanent = permanent
[docs] def delete(self): """ Cleans up the indication subscription. First it deletes subscription object. If :py:attr:`.LMISubscription._cim_filter_tpl` contains a flag, that the filter object was created temporarily, it will be deleted by this call. If :py:attr:`.LMISubscription._cim_handler_tlp` contains an flag, that the handler object was created temporarily, it will be deleted as well. This is called from :py:class:`.LMIConnection` object, which holds an internal list of all subscribed indications by the LMIShell (if not created by hand). """ self._client.delete_instance(self._cim_subscription.path) if self._cim_filter_tpl[1]: self._client.delete_instance(self._cim_filter_tpl[0].path) if self._cim_handler_tpl[1]: self._client.delete_instance(self._cim_handler_tpl[0].path)
@property def permanent(self): return self._permanent