From 55bc2f4649ba9273fd18d3b3c66f182118b192bd Mon Sep 17 00:00:00 2001
From: "SND\\ussrhero_cp"
 <SND\ussrhero_cp@9b283d60-5439-405e-af05-b73fd8c4d996>
Date: Mon, 30 Mar 2015 21:23:11 +0000
Subject: [PATCH] [0.3.x] added : targetProcess.isCurrent method

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

diff --git a/pykd/pymod.cpp b/pykd/pymod.cpp
index 1711931..22c4165 100644
--- a/pykd/pymod.cpp
+++ b/pykd/pymod.cpp
@@ -518,12 +518,14 @@ BOOST_PYTHON_MODULE( pykd )
             "Return target system by index").staticmethod("getSystem")
         .add_property("desc", TargetSystemAdapter::getDescription,
             "Retunr target system description")
-        .add_property("isDumpAnalyzing", TargetSystemAdapter::isDumpAnalyzing,
+        .def("isDumpAnalyzing", TargetSystemAdapter::isDumpAnalyzing,
             "Check if it is a dump analyzing ( not living debuggee )")
-        .add_property("isKernelDebugging", TargetSystemAdapter::isKernelDebugging,
+        .def("isKernelDebugging", TargetSystemAdapter::isKernelDebugging,
             "Check if kernel dubugging is running")
-        .add_property("is64bitSystem", TargetSystemAdapter::is64bitSystem,
+        .def("is64bitSystem", TargetSystemAdapter::is64bitSystem,
             "Check if 64 bit system running" )
+        .def("isCurrent", TargetSystemAdapter::isCurrent,
+            "Check if the target is current")
         .def("getNumberProcesses", TargetSystemAdapter::getNumberProcesses,
             "Return processed number of the target system")
         .def("process", TargetSystemAdapter::getProcessByIndex,
@@ -545,6 +547,8 @@ BOOST_PYTHON_MODULE( pykd )
             "Return PEB address" )
         .add_property("exeName", TargetProcessAdapter::getExeName,
             "Return the process executbakle file name")
+        .def("isCurrent", TargetSystemAdapter::isCurrent,
+            "Check if the target is current")
         .def("getNumberThreads", TargetProcessAdapter::getNumberThreads,
             "Return number of threads for this process" )
         .def("thread", TargetProcessAdapter::getThreadByIndex,
diff --git a/pykd/pyprocess.h b/pykd/pyprocess.h
index 8e1666a..5d1d5e5 100644
--- a/pykd/pyprocess.h
+++ b/pykd/pyprocess.h
@@ -68,6 +68,12 @@ struct TargetSystemAdapter {
         AutoRestorePyState  pystate;
         return system.getCurrentProcess(); 
     }
+
+    static bool isCurrent(kdlib::TargetSystem& system)
+    {
+        AutoRestorePyState  pystate;
+        return system.isCurrent();
+    }
 };
 
 
@@ -144,6 +150,12 @@ struct TargetProcessAdapter {
 
         return new Breakpoint(bp);
     }
+
+    static bool isCurrent(kdlib::TargetProcess& process)
+    {
+        AutoRestorePyState  pystate;
+        return process.isCurrent();
+    }
 };