From 9a6a26b1ed2540414698721d00b08788fbd150a1 Mon Sep 17 00:00:00 2001
From: "SND\\kernelnet_cp"
 <SND\kernelnet_cp@9b283d60-5439-405e-af05-b73fd8c4d996>
Date: Mon, 17 Feb 2014 11:16:17 +0000
Subject: [PATCH] [0.3.x] added : routines for symbol path managment

git-svn-id: https://pykd.svn.codeplex.com/svn@87295 9b283d60-5439-405e-af05-b73fd8c4d996
---
 pykd/pymod.cpp     | 13 +++++++------
 pykd/pysymengine.h | 20 ++++++++++++++++++++
 2 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/pykd/pymod.cpp b/pykd/pymod.cpp
index 16caae7..a09ef96 100644
--- a/pykd/pymod.cpp
+++ b/pykd/pymod.cpp
@@ -390,12 +390,13 @@ BOOST_PYTHON_MODULE( pykd )
     python::def("getLastException", pykd::getLastException,
         "Get last exception  information");
 
-
-
-   // // symbol path
-   // python::def( "getSymbolPath", &getSymbolPath, "Returns current symbol path");
-   // python::def( "setSymbolPath", &setSymbolPath, "Set current symbol path");
-   // python::def( "appendSymbolPath", &appendSymbolPath, "Append current symbol path");
+    // symbol path
+    python::def("getSymbolPath", pykd::getSymbolPath,
+        "Returns current symbol path");
+    python::def("setSymbolPath", pykd::setSymbolPath, 
+        "Set current symbol path");
+    python::def("appendSymbolPath", pykd::appendSymbolPath, 
+        "Append current symbol path");
 
     python::class_<kdlib::NumBehavior, boost::noncopyable>( "numVariant", "numVariant", python::no_init )
         .def("__init__", python::make_constructor(&NumVariantAdaptor::getVariant) )
diff --git a/pykd/pysymengine.h b/pykd/pysymengine.h
index 647e309..064f2de 100644
--- a/pykd/pysymengine.h
+++ b/pykd/pysymengine.h
@@ -13,5 +13,25 @@ void setSymSrvDir(const std::wstring &symSrvDirectory)
 	kdlib::setSymSrvDir(symSrvDirectory);
 }
 
+inline
+std::wstring getSymbolPath() 
+{
+	AutoRestorePyState  pystate;
+	return kdlib::getSymbolPath();
+}
+
+inline
+void setSymbolPath(const std::wstring &symPath)
+{
+	AutoRestorePyState  pystate;
+	kdlib::setSymbolPath(symPath);
+}
+
+inline
+void appendSymbolPath(const std::wstring &symPath)
+{
+	AutoRestorePyState  pystate;
+	kdlib::appendSymbolPath(symPath);
+}
 
 } // namespace pykd