diff --git a/ecmd-core/pyapi/ecmdClientPyapi.i b/ecmd-core/pyapi/ecmdClientPyapi.i index 011c924bd..590059dc1 100644 --- a/ecmd-core/pyapi/ecmdClientPyapi.i +++ b/ecmd-core/pyapi/ecmdClientPyapi.i @@ -50,40 +50,244 @@ // Templates for list/vector support - one of these have to be created for every type needed // From ecmdStructs.H %template(ecmdThreadDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdThreadDataList(self) +%} +} %template(ecmdChipUnitDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdChipUnitDataList(self) +%} +} %template(ecmdChipDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdChipDataList(self) +%} +} %template(ecmdSlotDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdSlotDataList(self) +%} +} %template(ecmdNodeDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdNodeDataList(self) +%} +} %template(ecmdCageDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdCageDataList(self) +%} +} %template(stringList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return stringList(self) +%} +} %template(stringVector) std::vector; +%extend std::vector { +%pythoncode %{ +def __deepcopy__(self, memo): + return stringVector(self) +%} +} %template(ecmdDataBufferBaseVector) std::vector; +%extend std::vector { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdDataBufferBaseVector(self) +%} +} %template(ecmdDataBufferVector) std::vector; +%extend std::vector { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdDataBufferVector(self) +%} +} %template(ecmdDataBufferVectorVector) std::vector>; +%extend std::vector> { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdDataBufferVectorVector(self) +%} +} %template(ecmdMemoryEntryList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdMemoryEntryList(self) +%} +} %template(ecmdRingDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdRingDataList(self) +%} +} %template(ecmdLatchDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdLatchDataList(self) +%} +} %template(ecmdLatchEntryList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdLatchEntryList(self) +%} +} %template(ecmdSpyGroupDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdSpyGroupDataList(self) +%} +} %template(ecmdArrayEntryList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdArrayEntryList(self) +%} +} %template(ecmdNameEntryList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdNameEntryList(self) +%} +} %template(ecmdNameVectorEntryList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdNameVectorEntryList(self) +%} +} %template(ecmdIndexEntryList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdIndexEntryList(self) +%} +} %template(ecmdChipTargetList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdChipTargetList(self) +%} +} %template(ecmdArrayDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdArrayDataList(self) +%} +} %template(ecmdTraceArrayDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdTraceArrayDataList(self) +%} +} %template(ecmdSpyDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdSpyDataList(self) +%} +} %template(ecmdSpyLatchDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdSpyLatchDataList(self) +%} +} %template(ecmdScomDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdScomDataList(self) +%} +} %template(ecmdScomDataHiddenList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdScomDataHiddenList(self) +%} +} %template(ecmdI2CCmdEntryList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdI2CCmdEntryList(self) +%} +} %template(ecmdI2CCmdEntryHiddenList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdI2CCmdEntryHiddenList(self) +%} +} %template(ecmdConnectionDataList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdConnectionDataList(self) +%} +} %template(ecmdScomEntryList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdScomEntryList(self) +%} +} %template(ecmdFileLocationList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return ecmdFileLocationList(self) +%} +} %template(uint32_tList) std::list; +%extend std::list { +%pythoncode %{ +def __deepcopy__(self, memo): + return uint32_tList(self) +%} +} // Template for maps %template(string_ecmdDataBufferMap) std::map; +%extend std::map { +%pythoncode %{ +def __deepcopy__(self, memo): + return string_ecmdDataBufferMap(self) +%} +} /*********** Start Copy Constructors ***********/ // We also define __deepcopy__ for each class here since