mirror of
https://github.com/worldforge/cyphesis
synced 2026-08-13 12:26:04 -04:00
Changed protocol for usages.
Make it more general.
This commit is contained in:
parent
901db37efb
commit
64f0de89cd
32 changed files with 537 additions and 243 deletions
|
|
@ -28,6 +28,7 @@
|
|||
|
||||
#include <Atlas/Objects/Operation.h>
|
||||
#include <Atlas/Objects/Anonymous.h>
|
||||
|
||||
CyPy_Task::CyPy_Task(Py::PythonClassInstance* self, Py::Tuple& args, Py::Dict& kwds)
|
||||
: WrapperBase(self, args, kwds)
|
||||
{
|
||||
|
|
@ -66,6 +67,7 @@ void CyPy_Task::init_type()
|
|||
behaviors().supportRichCompare();
|
||||
|
||||
PYCXX_ADD_VARARGS_METHOD(irrelevant, irrelevant, "");
|
||||
PYCXX_ADD_VARARGS_METHOD(get_arg, getArg, "");
|
||||
|
||||
PYCXX_ADD_NOARGS_METHOD(obsolete, obsolete, "");
|
||||
|
||||
|
|
@ -105,20 +107,20 @@ Py::Object CyPy_Task::getattro(const Py::String& name)
|
|||
if (nameStr == "tool") {
|
||||
return CyPy_LocatedEntity::wrap(m_value->m_usageInstance.tool);
|
||||
}
|
||||
if (nameStr == "targets") {
|
||||
Py::List list(m_value->m_usageInstance.targets.size());
|
||||
for (size_t i = 0; i < m_value->m_usageInstance.targets.size(); ++i) {
|
||||
list[i] = CyPy_EntityLocation::wrap(m_value->m_usageInstance.targets[i]);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
if (nameStr == "consumed") {
|
||||
Py::List list(m_value->m_usageInstance.consumed.size());
|
||||
for (size_t i = 0; i < m_value->m_usageInstance.consumed.size(); ++i) {
|
||||
list[i] = CyPy_EntityLocation::wrap(m_value->m_usageInstance.consumed[i]);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
// if (nameStr == "targets") {
|
||||
// Py::List list(m_value->m_usageInstance.targets.size());
|
||||
// for (size_t i = 0; i < m_value->m_usageInstance.targets.size(); ++i) {
|
||||
// list[i] = CyPy_EntityLocation::wrap(m_value->m_usageInstance.targets[i]);
|
||||
// }
|
||||
// return list;
|
||||
// }
|
||||
// if (nameStr == "consumed") {
|
||||
// Py::List list(m_value->m_usageInstance.consumed.size());
|
||||
// for (size_t i = 0; i < m_value->m_usageInstance.consumed.size(); ++i) {
|
||||
// list[i] = CyPy_EntityLocation::wrap(m_value->m_usageInstance.consumed[i]);
|
||||
// }
|
||||
// return list;
|
||||
// }
|
||||
if (nameStr == "definition") {
|
||||
return CyPy_Usage::wrap(m_value->m_usageInstance.definition);
|
||||
}
|
||||
|
|
@ -200,5 +202,10 @@ Py::Object CyPy_Task::rich_compare(const Py::Object& other, int type)
|
|||
throw Py::NotImplementedError("Not implemented");
|
||||
}
|
||||
|
||||
Py::Object CyPy_Task::getArg(const Py::Tuple& args)
|
||||
{
|
||||
return CyPy_UsageInstance::getArg(m_value->m_usageInstance, args);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue