ó
¢¿[Mc           @   s5   d  Z  d d l Z d d l Z d d d „  ƒ  YZ d S(   s&   Utilities for working with ConnectionsiÿÿÿÿNt   SimpleConnectionc           B   sJ   e  Z d  Z d d d d d „ Z d „  Z d „  Z d d „ Z d „  Z RS(   s"   A simple, single connection objecti    c         C   sA   d  |  _ d  |  _ | |  _ | d  k	 r= |  j | | | ƒ n  d  S(   N(   t   Nonet   cpt   cookiet   debugt   Connect(   t   selft
   coInstancet   eventInstancet
   eventCLSIDR   (    (    s:   K:\RCS\Python\Lib\site-packages\win32com\client\connect.pyt   __init__   s
    			c         C   s)   y |  j  ƒ  Wn t j k
 r$ n Xd  S(   N(   t
   Disconnectt	   pythoncomt   error(   R   (    (    s:   K:\RCS\Python\Lib\site-packages\win32com\client\connect.pyt   __del__   s    c         C   sD   d  } |  j r+ d d l m } | j } n  t j j j | d | ƒS(   Niÿÿÿÿ(   t
   dispatchert   useDispatcher(	   R   R   t   win32com.serverR   t   DefaultDebugDispatchert   win32comt   servert   utilt   wrap(   R   t   objR   R   (    (    s:   K:\RCS\Python\Lib\site-packages\win32com\client\connect.pyt   _wrap   s
    	c         C   s‹   y | j  } Wn t k
 r& | } n X| j t j ƒ } | d  k rQ | j } n  |  j | ƒ } | j | ƒ |  _	 |  j	 j
 | ƒ |  _ d  S(   N(   t   _oleobj_t   AttributeErrort   QueryInterfaceR   t   IID_IConnectionPointContainerR   t   CLSIDR   t   FindConnectionPointR   t   AdviseR   (   R   R   R   R	   t   oleobjt   cpct   comEventInstance(    (    s:   K:\RCS\Python\Lib\site-packages\win32com\client\connect.pyR      s    
 c         C   sG   |  j  d  k	 rC |  j r7 |  j  j |  j ƒ d  |  _ n  d  |  _  n  d  S(   N(   R   R   R   t   Unadvise(   R   (    (    s:   K:\RCS\Python\Lib\site-packages\win32com\client\connect.pyR   &   s
    	N(	   t   __name__t
   __module__t   __doc__R   R
   R   R   R   R   (    (    (    s:   K:\RCS\Python\Lib\site-packages\win32com\client\connect.pyR       s   		(    (   R&   t   win32com.server.utilR   R   R    (    (    (    s:   K:\RCS\Python\Lib\site-packages\win32com\client\connect.pyt   <module>   s   