a oe@s&dZddlZddlZGdddZdS)z&Utilities for working with ConnectionsNc@s<eZdZdZdddZddZdd Zdd d Zd d ZdS)SimpleConnectionz"A simple, single connection objectNrcCs,d|_d|_||_|dur(||||dSN)cpcookiedebugConnect)self coInstance eventInstance eventCLSIDrr 8C:\Program Files\Certbot\pkgs\win32com\client\connect.py__init__ s zSimpleConnection.__init__cCs&z |Wntjy Yn0dSr) Disconnect pythoncomerrorrr r r __del__s zSimpleConnection.__del__cCs.d}|jrddlm}|j}tjjj||dS)Nr) dispatcher) useDispatcher)rZwin32com.serverrZDefaultDebugDispatcherwin32comZserverutilwrap)robjrrr r r _wraps  zSimpleConnection._wrapcCsdz |j}Wnty |}Yn0|tj}|dur<|j}||}|||_|j ||_ dSr) Z_oleobj_AttributeErrorZQueryInterfacerZIID_IConnectionPointContainerZCLSIDrZFindConnectionPointrZAdviser)rr r r ZoleobjZcpcZcomEventInstancer r r rs      zSimpleConnection.ConnectcCs.|jdur*|jr$|j|jd|_d|_dSr)rrZUnadviserr r r r+s  zSimpleConnection.Disconnect)NNNr)N) __name__ __module__ __qualname____doc__rrrrrr r r r rs   r)rrZwin32com.server.utilrrr r r r s