assetholdingController.py (1334B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\assetholding\client\assetholdingController.py 2 import logging 3 from assetholding.client.messengers.assetholdingMessenger import AssetHoldingMessenger 4 import assetholding.client.messengers.assetholdingMessengerSignal as messenger_signals 5 from assetholding.client import assetholdingSignals 6 logger = logging.getLogger('asset_holding') 7 8 class AssetHoldingController(object): 9 _instance = None 10 11 def __init__(self): 12 self._messenger = AssetHoldingMessenger.get_instance(sm.GetService('publicGatewaySvc')) 13 self._connect_to_messenger_signals() 14 15 @classmethod 16 def get_instance(cls): 17 if not cls._instance: 18 cls._instance = AssetHoldingController() 19 return cls._instance 20 21 def __del__(self): 22 self._disconnect_from_messenger_signals() 23 24 def _connect_to_messenger_signals(self): 25 messenger_signals.on_entitlement_redeemed_internal.connect(self._on_entitlement_redeemed) 26 27 def _disconnect_from_messenger_signals(self): 28 messenger_signals.on_entitlement_redeemed_internal.disconnect(self._on_entitlement_redeemed) 29 30 @staticmethod 31 def _on_entitlement_redeemed(external_id, change_quantity): 32 assetholdingSignals.on_entitlement_redeemed(external_id, change_quantity)