__init__.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:My-Web-Server-Framework-With-Python2.7 作者: syjsu 项目源码 文件源码
def createListener(self, oImplClass, dArgs):
        if True:
            raise Exception('no active listeners on Windows as PyGatewayBase::QueryInterface() '
                            'returns new gateway objects all the time, thus breaking EventQueue '
                            'assumptions about the listener interface pointer being constants between calls ')
        # Did this code ever really work?
        d = {}
        d['BaseClass'] = oImplClass
        d['dArgs'] = dArgs
        d['tlb_guid'] = PlatformMSCOM.VBOX_TLB_GUID
        d['tlb_major'] = PlatformMSCOM.VBOX_TLB_MAJOR
        d['tlb_minor'] = PlatformMSCOM.VBOX_TLB_MINOR
        str_ = ""
        str_ += "import win32com.server.util\n"
        str_ += "import pythoncom\n"

        str_ += "class ListenerImpl(BaseClass):\n"
        str_ += "   _com_interfaces_ = ['IEventListener']\n"
        str_ += "   _typelib_guid_ = tlb_guid\n"
        str_ += "   _typelib_version_ = tlb_major, tlb_minor\n"
        str_ += "   _reg_clsctx_ = pythoncom.CLSCTX_INPROC_SERVER\n"
        # Maybe we'd better implement Dynamic invoke policy, to be more flexible here
        str_ += "   _reg_policy_spec_ = 'win32com.server.policy.EventHandlerPolicy'\n"

        # capitalized version of listener method
        str_ += "   HandleEvent=BaseClass.handleEvent\n"
        str_ += "   def __init__(self): BaseClass.__init__(self, dArgs)\n"
        str_ += "result = win32com.server.util.wrap(ListenerImpl())\n"
        exec(str_, d, d)
        return d['result']
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号