def __init__(self, srcShadowName, srcIsPersistentSubscribe, srcShadowManager):
        """

        The class that denotes a local/client-side device shadow instance.

        Users can perform shadow operations on this instance to retrieve and modify the 
        corresponding shadow JSON document in AWS IoT Cloud. The following shadow operations 
        are available:

        - Get
        
        - Update

        - Delete

        - Listen on delta

        - Cancel listening on delta

        This is returned from :code:`AWSIoTPythonSDK.MQTTLib.AWSIoTMQTTShadowClient.createShadowWithName` function call. 
        No need to call directly from user scripts.

        """
        if srcShadowName is None or srcIsPersistentSubscribe is None or srcShadowManager is None:
            raise TypeError("None type inputs detected.")
        self._shadowName = srcShadowName
        # Tool handler
        self._shadowManagerHandler = srcShadowManager
        self._basicJSONParserHandler = _basicJSONParser()
        self._tokenHandler = _shadowRequestToken()
        # Properties
        self._isPersistentSubscribe = srcIsPersistentSubscribe
        self._lastVersionInSync = -1  # -1 means not initialized
        self._isGetSubscribed = False
        self._isUpdateSubscribed = False
        self._isDeleteSubscribed = False
        self._shadowSubscribeCallbackTable = dict()
        self._shadowSubscribeCallbackTable["get"] = None
        self._shadowSubscribeCallbackTable["delete"] = None
        self._shadowSubscribeCallbackTable["update"] = None
        self._shadowSubscribeCallbackTable["delta"] = None
        self._shadowSubscribeStatusTable = dict()
        self._shadowSubscribeStatusTable["get"] = 0
        self._shadowSubscribeStatusTable["delete"] = 0
        self._shadowSubscribeStatusTable["update"] = 0
        self._tokenPool = dict()
        self._dataStructureLock = Lock()
def __init__ ( self , srcShadowName , srcIsPersistentSubscribe , srcShadowManager ) : if srcShadowName is None or srcIsPersistentSubscribe is None or srcShadowManager is None : raise TypeError ( "None type inputs detected." ) self . _shadowName = srcShadowName self . _shadowManagerHandler = srcShadowManager self . _basicJSONParserHandler = _basicJSONParser ( ) self . _tokenHandler = _shadowRequestToken ( ) self . _isPersistentSubscribe = srcIsPersistentSubscribe self . _lastVersionInSync = - 1 self . _isGetSubscribed = False self . _isUpdateSubscribed = False self . _isDeleteSubscribed = False self . _shadowSubscribeCallbackTable = dict ( ) self . _shadowSubscribeCallbackTable [ "get" ] = None self . _shadowSubscribeCallbackTable [ "delete" ] = None self . _shadowSubscribeCallbackTable [ "update" ] = None self . _shadowSubscribeCallbackTable [ "delta" ] = None self . _shadowSubscribeStatusTable = dict ( ) self . _shadowSubscribeStatusTable [ "get" ] = 0 self . _shadowSubscribeStatusTable [ "delete" ] = 0 self . _shadowSubscribeStatusTable [ "update" ] = 0 self . _tokenPool = dict ( ) self . _dataStructureLock = Lock ( )
The class that denotes a local/client-side device shadow instance.

        Users can perform shadow operations on this instance to retrieve and modify the 
        corresponding shadow JSON document in AWS IoT Cloud. The following shadow operations 
        are available:

        - Get
        
        - Update

        - Delete

        - Listen on delta

        - Cancel listening on delta

        This is returned from :code:`AWSIoTPythonSDK.MQTTLib.AWSIoTMQTTShadowClient.createShadowWithName` function call. 
        No need to call directly from user scripts.