Example #1
0
 def WriteCallbackClassBody(self, generator):
     stream = generator.file
     print >> stream, "\t# Event Handlers"
     print >> stream, "\t# If you create handlers, they should have the following prototypes:"
     for name, entry in self.propMapGet.items() + self.propMapPut.items() + self.mapFuncs.items():
         fdesc = entry.desc
         methName = MakeEventMethodName(entry.names[0])
         print >> stream, '#\tdef ' + methName + '(self' + build.BuildCallList(fdesc, entry.names, "defaultNamedOptArg", "defaultNamedNotOptArg","defaultUnnamedArg", "pythoncom.Missing", is_comment = True) + '):'
         if entry.doc and entry.doc[1]:
             print >> stream, '#\t\t' + build._safeQuotedString(entry.doc[1])
     print >> stream
     self.bWritten = 1
Example #2
0
 def WriteCallbackClassBody(self, generator):
     stream = generator.file
     print >> stream, "\t# Event Handlers"
     print >> stream, "\t# If you create handlers, they should have the following prototypes:"
     for name, entry in self.propMapGet.items() + self.propMapPut.items() + self.mapFuncs.items():
         fdesc = entry.desc
         methName = MakeEventMethodName(entry.names[0])
         print >> stream, '#\tdef ' + methName + '(self' + build.BuildCallList(fdesc, entry.names, "defaultNamedOptArg", "defaultNamedNotOptArg","defaultUnnamedArg", "pythoncom.Missing", is_comment = True) + '):'
         if entry.doc and entry.doc[1]:
             print >> stream, '#\t\t' + build._safeQuotedString(entry.doc[1])
     print >> stream
     self.bWritten = 1
Example #3
0
 def WriteClassHeader(self, generator):
     generator.checkWriteDispatchBaseClass()
     doc = self.doc
     stream = generator.file
     print >> stream, 'class ' + self.python_name + '(DispatchBaseClass):'
     if doc[1]: print >> stream, '\t' + build._safeQuotedString(doc[1])
     try:
         progId = pythoncom.ProgIDFromCLSID(self.clsid)
         print >> stream, "\t# This class is creatable by the name '%s'" % (progId)
     except pythoncom.com_error:
         pass
     print >> stream, "\tCLSID = " + repr(self.clsid)
     if self.coclass_clsid is None:
         print >> stream, "\tcoclass_clsid = None"
     else:
         print >> stream, "\tcoclass_clsid = " + repr(self.coclass_clsid)
     print >> stream
     self.bWritten = 1
Example #4
0
 def WriteClassHeader(self, generator):
     generator.checkWriteDispatchBaseClass()
     doc = self.doc
     stream = generator.file
     print >> stream, 'class ' + self.python_name + '(DispatchBaseClass):'
     if doc[1]: print >> stream, '\t' + build._safeQuotedString(doc[1])
     try:
         progId = pythoncom.ProgIDFromCLSID(self.clsid)
         print >> stream, "\t# This class is creatable by the name '%s'" % (progId)
     except pythoncom.com_error:
         pass
     print >> stream, "\tCLSID = " + repr(self.clsid)
     if self.coclass_clsid is None:
         print >> stream, "\tcoclass_clsid = None"
     else:
         print >> stream, "\tcoclass_clsid = " + repr(self.coclass_clsid)
     print >> stream
     self.bWritten = 1
Example #5
0
File: genpy.py Project: hkfr/data
 def WriteEventSinkClassHeader(self, generator):
     generator.checkWriteEventBaseClass()
     doc = self.doc
     stream = generator.file
     print >> stream, "class " + self.python_name + ":"
     if doc[1]:
         print >> stream, "\t" + build._safeQuotedString(doc[1])
     try:
         progId = pythoncom.ProgIDFromCLSID(self.clsid)
         print >> stream, "\t# This class is creatable by the name '%s'" % (progId)
     except pythoncom.com_error:
         pass
     print >> stream, "\tCLSID = CLSID_Sink = " + repr(self.clsid)
     if self.coclass_clsid is None:
         print >> stream, "\tcoclass_clsid = None"
     else:
         print >> stream, "\tcoclass_clsid = " + repr(self.coclass_clsid)
     print >> stream, "\t_public_methods_ = [] # For COM Server support"
     WriteSinkEventMap(self, stream)
     print >> stream
     print >> stream, "\tdef __init__(self, oobj = None):"
     print >> stream, "\t\tif oobj is None:"
     print >> stream, "\t\t\tself._olecp = None"
     print >> stream, "\t\telse:"
     print >> stream, "\t\t\timport win32com.server.util"
     print >> stream, "\t\t\tfrom win32com.server.policy import EventHandlerPolicy"
     print >> stream, "\t\t\tcpc=oobj._oleobj_.QueryInterface(pythoncom.IID_IConnectionPointContainer)"
     print >> stream, "\t\t\tcp=cpc.FindConnectionPoint(self.CLSID_Sink)"
     print >> stream, "\t\t\tcookie=cp.Advise(win32com.server.util.wrap(self, usePolicy=EventHandlerPolicy))"
     print >> stream, "\t\t\tself._olecp,self._olecp_cookie = cp,cookie"
     print >> stream, "\tdef __del__(self):"
     print >> stream, "\t\ttry:"
     print >> stream, "\t\t\tself.close()"
     print >> stream, "\t\texcept pythoncom.com_error:"
     print >> stream, "\t\t\tpass"
     print >> stream, "\tdef close(self):"
     print >> stream, "\t\tif self._olecp is not None:"
     print >> stream, "\t\t\tcp,cookie,self._olecp,self._olecp_cookie = self._olecp,self._olecp_cookie,None,None"
     print >> stream, "\t\t\tcp.Unadvise(cookie)"
     print >> stream, "\tdef _query_interface_(self, iid):"
     print >> stream, "\t\timport win32com.server.util"
     print >> stream, "\t\tif iid==self.CLSID_Sink: return win32com.server.util.wrap(self)"
     print >> stream
     self.bWritten = 1
Example #6
0
 def WriteEventSinkClassHeader(self, generator):
     generator.checkWriteEventBaseClass()
     doc = self.doc
     stream = generator.file
     print >> stream, 'class ' + self.python_name + ':'
     if doc[1]: print >> stream, '\t' + build._safeQuotedString(doc[1])
     try:
         progId = pythoncom.ProgIDFromCLSID(self.clsid)
         print >> stream, "\t# This class is creatable by the name '%s'" % (
             progId)
     except pythoncom.com_error:
         pass
     print >> stream, '\tCLSID = CLSID_Sink = ' + repr(self.clsid)
     if self.coclass_clsid is None:
         print >> stream, "\tcoclass_clsid = None"
     else:
         print >> stream, "\tcoclass_clsid = " + repr(self.coclass_clsid)
     print >> stream, '\t_public_methods_ = [] # For COM Server support'
     WriteSinkEventMap(self, stream)
     print >> stream
     print >> stream, '\tdef __init__(self, oobj = None):'
     print >> stream, "\t\tif oobj is None:"
     print >> stream, "\t\t\tself._olecp = None"
     print >> stream, "\t\telse:"
     print >> stream, '\t\t\timport win32com.server.util'
     print >> stream, '\t\t\tfrom win32com.server.policy import EventHandlerPolicy'
     print >> stream, '\t\t\tcpc=oobj._oleobj_.QueryInterface(pythoncom.IID_IConnectionPointContainer)'
     print >> stream, '\t\t\tcp=cpc.FindConnectionPoint(self.CLSID_Sink)'
     print >> stream, '\t\t\tcookie=cp.Advise(win32com.server.util.wrap(self, usePolicy=EventHandlerPolicy))'
     print >> stream, '\t\t\tself._olecp,self._olecp_cookie = cp,cookie'
     print >> stream, '\tdef __del__(self):'
     print >> stream, '\t\ttry:'
     print >> stream, '\t\t\tself.close()'
     print >> stream, '\t\texcept pythoncom.com_error:'
     print >> stream, '\t\t\tpass'
     print >> stream, '\tdef close(self):'
     print >> stream, '\t\tif self._olecp is not None:'
     print >> stream, '\t\t\tcp,cookie,self._olecp,self._olecp_cookie = self._olecp,self._olecp_cookie,None,None'
     print >> stream, '\t\t\tcp.Unadvise(cookie)'
     print >> stream, '\tdef _query_interface_(self, iid):'
     print >> stream, '\t\timport win32com.server.util'
     print >> stream, '\t\tif iid==self.CLSID_Sink: return win32com.server.util.wrap(self)'
     print >> stream
     self.bWritten = 1