DllTracer.serializeArgValue(self, function, arg)
- def declareWrapperInterfaceVariables(self, interface):
- DllTracer.declareWrapperInterfaceVariables(self, interface)
+ def enumWrapperInterfaceVariables(self, interface):
+ variables = DllTracer.enumWrapperInterfaceVariables(self, interface)
if interface.getMethodByName('Lock') is not None or \
interface.getMethodByName('LockRect') is not None or \
interface.getMethodByName('LockBox') is not None:
- print ' size_t _LockedSize;'
- print ' VOID *m_pbData;'
+ variables += [
+ ('size_t', '_LockedSize', '0'),
+ ('VOID *', 'm_pbData', '0'),
+ ]
+ return variables
def implementWrapperInterfaceMethodBody(self, interface, base, method):
if method.name in ('Unlock', 'UnlockRect', 'UnlockBox'):
for method in interface.iterMethods():
print " " + method.prototype() + ";"
print
- self.declareWrapperInterfaceVariables(interface)
+ #print "private:"
+ for type, name, value in self.enumWrapperInterfaceVariables(interface):
+ print ' %s %s;' % (type, name)
print "};"
print
- def declareWrapperInterfaceVariables(self, interface):
- #print "private:"
- print " DWORD m_dwMagic;"
- print " %s * m_pInstance;" % (interface.name,)
+ def enumWrapperInterfaceVariables(self, interface):
+ return [
+ ("DWORD", "m_dwMagic", "0xd8365d6c"),
+ ("%s *" % interface.name, "m_pInstance", "pInstance"),
+ ]
def implementWrapperInterface(self, interface):
self.interface = interface
print '%s::%s(%s * pInstance) {' % (getWrapperInterfaceName(interface), getWrapperInterfaceName(interface), interface.name)
- print ' m_dwMagic = 0xd8365d6c;'
- print ' m_pInstance = pInstance;'
+ for type, name, value in self.enumWrapperInterfaceVariables(interface):
+ print ' %s = %s;' % (name, value)
print '}'
print
print '%s::~%s() {' % (getWrapperInterfaceName(interface), getWrapperInterfaceName(interface))