class_docstr: Allows for interaction with a Samba server.
  
  The hook should be used as a context manager in order to correctly
  set up a session and disconnect open connections upon exit.
  
  :param samba_conn_id: The connection id reference.
  :param share:
      An optional share name. If this is unset then the "schema" field of
      the connection is used in its place.
code: def __enter__(self):
      # This immediately connects to the host (which can be
      # perceived as a benefit), but also help work around an issue:
      #
      # https://github.com/jborean93/smbprotocol/issues/109.
      smbclient.register_session(self._host, **self._conn_kwargs)
      return self
  
imports: from __future__ import annotations
  import posixpath
  from functools import wraps
  from shutil import copyfileobj
  from typing import TYPE_CHECKING, Any
  import smbclient
  from airflow.hooks.base import BaseHook
label_desc: Use image node_id 2 for calling the SambaHook obj's underlying member method code with example usage: obj.__enter__() and returns: self