From db13db86834a98128a96ba77061dd63f39a5260f Mon Sep 17 00:00:00 2001
From: "SND\\ussrhero_cp"
 <SND\ussrhero_cp@9b283d60-5439-405e-af05-b73fd8c4d996>
Date: Mon, 18 May 2015 21:51:52 +0000
Subject: [PATCH] [0.3.x] added : targetProcess.getModule method

git-svn-id: https://pykd.svn.codeplex.com/svn@90645 9b283d60-5439-405e-af05-b73fd8c4d996
---
 pykd/pymod.cpp   |  8 ++++++--
 pykd/pyprocess.h | 12 ++++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/pykd/pymod.cpp b/pykd/pymod.cpp
index f26870e..746af7a 100644
--- a/pykd/pymod.cpp
+++ b/pykd/pymod.cpp
@@ -562,14 +562,18 @@ BOOST_PYTHON_MODULE( pykd )
             "Return number of threads for this process" )
         .def("getThread", TargetProcessAdapter::getThreadByIndex,
             "Return thread by its index" )
-         .def("getThreadById", TargetProcessAdapter::getThreadById,
+        .def("getThreadById", TargetProcessAdapter::getThreadById,
             "Return thread by its index")
         .def("currentThread", TargetProcessAdapter::getCurrentThread,
             "Return current thread" )
         .def("getNumberBreakpoints", TargetProcessAdapter::getNumberBreakpoints,
             "Return number of breakpoints for this process" )
-        .def("breakpoint", TargetProcessAdapter::getBreakpointByIndex, python::return_value_policy<python::manage_new_object>(),
+        .def("getBreakpoint", TargetProcessAdapter::getBreakpointByIndex, python::return_value_policy<python::manage_new_object>(),
             "Return a breakpoint by it's index" )
+        .def("getNumberModules", TargetProcessAdapter::getNumberModules,
+            "Return number of modules for this process" )
+        .def("getModule", TargetProcessAdapter::getModuleByIndex,
+            "Return a module object by it's index" )
          ;
 
     python::class_<kdlib::TargetThread, kdlib::TargetThreadPtr, boost::noncopyable>("targetThread", "Class representing process in the target system", python::no_init )
diff --git a/pykd/pyprocess.h b/pykd/pyprocess.h
index 783d47f..aad4a57 100644
--- a/pykd/pyprocess.h
+++ b/pykd/pyprocess.h
@@ -192,6 +192,18 @@ struct TargetProcessAdapter {
         AutoRestorePyState  pystate;
         return process.isCurrent();
     }
+
+    static unsigned long getNumberModules(kdlib::TargetProcess& process)
+    {
+        AutoRestorePyState  pystate;
+        return process.getNumberModules();
+    }
+
+    static kdlib::ModulePtr getModuleByIndex(kdlib::TargetProcess& process, unsigned long index)
+    {
+        AutoRestorePyState  pystate;
+        return process.getModuleByIndex(index);
+    }
 };