]> git.cworth.org Git - apitrace/blobdiff - wrappers/dlltrace.py
specs: Allow an API to spread across multiple modules.
[apitrace] / wrappers / dlltrace.py
index 4f86686a47b97aa80a0b15a4dd028ab1e48748d5..cea7dc7464c4717efe44828a917f65a6a4c2d3d9 100644 (file)
@@ -28,6 +28,7 @@
 
 from trace import Tracer
 from dispatch import Dispatcher
+from specs.stdapi import API
 
 
 class DllTracer(Tracer):
@@ -37,7 +38,7 @@ class DllTracer(Tracer):
     
     def header(self, api):
         print '''
-static HINSTANCE g_hDll = NULL;
+static HMODULE g_hDll = NULL;
 
 static PROC
 _getPublicProcAddress(LPCSTR lpProcName)
@@ -62,8 +63,13 @@ _getPublicProcAddress(LPCSTR lpProcName)
 
 ''' % self.dllname
 
-        dispatcher = Dispatcher()
-        dispatcher.dispatch_api(api)
+        for module in api.modules:
+            dispatcher = Dispatcher()
+            dispatcher.dispatchModule(module)
 
         Tracer.header(self, api)
 
+    def traceModule(self, module):
+        api = API()
+        api.addModule(module)
+        self.traceApi(api)