[0.3.x] added : targetSystem class

git-svn-id: https://pykd.svn.codeplex.com/svn@90181 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\kernelnet_cp 2015-03-30 07:37:57 +00:00 committed by Mikhail I. Izmestev
parent 169571c4dc
commit fd4e98030e
2 changed files with 65 additions and 1 deletions

View File

@ -508,7 +508,25 @@ BOOST_PYTHON_MODULE( pykd )
NumVariantAdaptor::registerNumConvertion(); NumVariantAdaptor::registerNumConvertion();
python::class_<kdlib::TargetProcess, kdlib::TargetProcessPtr, boost::noncopyable>("targetProcess", "Class representing process in the target system", python::no_init )
python::class_<kdlib::TargetSystem, kdlib::TargetSystemPtr, boost::noncopyable>("targetSystem", "Class representing target system", python::no_init)
.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")
.add_property("desc", TargetSystemAdapter::getDescription,
"Retunr target system description")
.def("getNumberProcesses", TargetSystemAdapter::getNumberProcesses,
"Return processed number of the target system")
.def("process", TargetSystemAdapter::getProcessByIndex,
"Return process by index")
.def("currentProcess", TargetSystemAdapter::getCurrentProcess,
"Return current process")
;
python::class_<kdlib::TargetProcess, kdlib::TargetProcessPtr, boost::noncopyable>("targetProcess", "Class representing process in the target system", python::no_init )
.def("getNumber", TargetProcessAdapter::getNumberProcesses, .def("getNumber", TargetProcessAdapter::getNumberProcesses,
"Return number of processes" ).staticmethod("getNumber") "Return number of processes" ).staticmethod("getNumber")
.def("getCurrent", TargetProcessAdapter::getCurrent, .def("getCurrent", TargetProcessAdapter::getCurrent,

View File

@ -7,6 +7,52 @@
namespace pykd { namespace pykd {
struct TargetSystemAdapter {
static unsigned long getNumberSystems()
{
AutoRestorePyState pystate;
return kdlib::TargetSystem::getNumber();
}
static kdlib::TargetSystemPtr getCurrent()
{
AutoRestorePyState pystate;
return kdlib::TargetSystem::getCurrent();
}
static kdlib::TargetSystemPtr getSystem(unsigned long index)
{
AutoRestorePyState pystate;
return kdlib::TargetSystem::getByIndex(index);
}
static std::wstring getDescription(kdlib::TargetSystem& system)
{
AutoRestorePyState pystate;
return system.getDescription();
}
static unsigned long getNumberProcesses(kdlib::TargetSystem& system)
{
AutoRestorePyState pystate;
return system.getNumberProcesses();
}
static kdlib::TargetProcessPtr getProcessByIndex(kdlib::TargetSystem& system, unsigned long index)
{
AutoRestorePyState pystate;
return system.getProcessByIndex(index);
}
static kdlib::TargetProcessPtr getCurrentProcess(kdlib::TargetSystem& system)
{
AutoRestorePyState pystate;
return system.getCurrentProcess();
}
};
struct TargetProcessAdapter { struct TargetProcessAdapter {
static kdlib::TargetProcessPtr getCurrent() static kdlib::TargetProcessPtr getCurrent()