From fc255caa0c1db4bc6b5d7de7001cba0eb247ef38 Mon Sep 17 00:00:00 2001
From: "SND\\kernelnet_cp"
 <SND\kernelnet_cp@9b283d60-5439-405e-af05-b73fd8c4d996>
Date: Fri, 2 Oct 2015 07:01:49 +0000
Subject: [PATCH] [0.3.x] added : ctor for targetSystem, targetProcess and
 tragetThread classes

git-svn-id: https://pykd.svn.codeplex.com/svn@90828 9b283d60-5439-405e-af05-b73fd8c4d996
---
 pykd/pykdver.h      |  2 +-
 pykd/pymod.cpp      | 12 ++++++------
 snippets/findtag.py |  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/pykd/pykdver.h b/pykd/pykdver.h
index 9904fe5..9e01c90 100644
--- a/pykd/pykdver.h
+++ b/pykd/pykdver.h
@@ -2,7 +2,7 @@
 #define PYKD_VERSION_MAJOR      0
 #define PYKD_VERSION_MINOR      3
 #define PYKD_VERSION_SUBVERSION 0
-#define PYKD_VERSION_BUILDNO    30
+#define PYKD_VERSION_BUILDNO    31
 
 #define __VER_STR2__(x) #x
 #define __VER_STR1__(x) __VER_STR2__(x)
diff --git a/pykd/pymod.cpp b/pykd/pymod.cpp
index 8e430ae..1ee9cb0 100644
--- a/pykd/pymod.cpp
+++ b/pykd/pymod.cpp
@@ -524,12 +524,12 @@ BOOST_PYTHON_MODULE( pykd )
 
 
     python::class_<kdlib::TargetSystem, kdlib::TargetSystemPtr, boost::noncopyable>("targetSystem", "Class representing target system", python::no_init)
+        .def("__init__", python::make_constructor(&kdlib::TargetSystem::getCurrent))
+        .def("__init__", python::make_constructor(&kdlib::TargetSystem::getByIndex))
         .def("getNumber", TargetSystemAdapter::getNumberSystems,
             "Retunr number of systems").staticmethod("getNumber")
         .def("getCurrent", TargetSystemAdapter::getCurrent,
             "Return current target system").staticmethod("getCurrent")
-        .def("getSystem", TargetSystemAdapter::getSystem,
-            "Return target system by index").staticmethod("getSystem")
         .def("getSystemById", TargetSystemAdapter::getSystemById,
             "Return target system by id").staticmethod("getSystemById")
         .add_property("desc", TargetSystemAdapter::getDescription,
@@ -555,12 +555,12 @@ BOOST_PYTHON_MODULE( pykd )
         ;
 
     python::class_<kdlib::TargetProcess, kdlib::TargetProcessPtr, boost::noncopyable>("targetProcess", "Class representing process in the target system", python::no_init )
+        .def("__init__", python::make_constructor(&kdlib::TargetProcess::getByIndex))
+        .def("__init__", python::make_constructor(&kdlib::TargetProcess::getCurrent))
         .def("getNumber", TargetProcessAdapter::getNumberProcesses,
             "Return number of processes" ).staticmethod("getNumber")
         .def("getCurrent", TargetProcessAdapter::getCurrent,
             "Return a current process" ).staticmethod("getCurrent")
-        .def("getProcess", TargetProcessAdapter::getProcess,
-            "Return process by index").staticmethod("getProcess")
         .def("getProcessById", TargetProcessAdapter::getProcessById,
             "Return process by id").staticmethod("getProcessById")
         .add_property("systemID", TargetProcessAdapter::getSystemId,
@@ -592,12 +592,12 @@ BOOST_PYTHON_MODULE( pykd )
          ;
 
     python::class_<kdlib::TargetThread, kdlib::TargetThreadPtr, boost::noncopyable>("targetThread", "Class representing process in the target system", python::no_init )
+        .def("__init__", python::make_constructor(&kdlib::TargetThread::getByIndex))
+        .def("__init__", python::make_constructor(&kdlib::TargetThread::getCurrent))
         .def("getNumber", TargetThreadAdapter::getNumberThreads,
             "Return number of threads").staticmethod("getNumber")
         .def("getCurrent", TargetThreadAdapter::getCurrent,
             "Return a current thread").staticmethod("getCurrent")
-        .def("getThread", TargetThreadAdapter::getThread,
-            "Return thread by index").staticmethod("getThread")
         .def("getThreadById", TargetThreadAdapter::getThreadById,
             "Return process by id").staticmethod("getThreadById")
         .add_property("id", TargetThreadAdapter::getId,
diff --git a/snippets/findtag.py b/snippets/findtag.py
index d3fa9de..6575e6f 100644
--- a/snippets/findtag.py
+++ b/snippets/findtag.py
@@ -36,7 +36,7 @@ def main():
         print "Tag must have 4 symbols length"
         return
 
-    tag = argv[1]
+    tag = str(argv[1])
 
     modLst = getModuleList()
     for m in modLst: