1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
<%
/*
* Copyright (C) 2005-2018 Team Kodi
* This file is part of Kodi - https://kodi.tv
*
* SPDX-License-Identifier: GPL-2.0-or-later
* See LICENSES/README.md for more information.
*/
List types = swigTypeParser.SwigType_templateparmlist(ltype)
boolean ispointer = swigTypeParser.SwigType_ispointer(type)
String accessor = ispointer ? '->' : '.'
int seq = sequence.increment()
tupleAccess = [ 'first', 'second', 'third', 'fourth' ]
%>
if(${slarg})
{
bool isTuple = PyObject_TypeCheck(${slarg},&PyTuple_Type);
if (!isTuple && !PyObject_TypeCheck(${slarg},&PyList_Type))
throw WrongTypeException("The parameter \"${api}\" must be either a Tuple or a List.");
Py_ssize_t vecSize = (isTuple ? PyTuple_Size(${slarg}) : PyList_Size(${slarg}));
<%
types.eachWithIndex { curType, entryIndex ->
%>
if (vecSize > ${entryIndex})
{
PyObject *pyentry${entryIndex}_${seq} = NULL;
pyentry${entryIndex}_${seq} = (isTuple ? PyTuple_GetItem(${slarg}, ${entryIndex}) : PyList_GetItem(${slarg}, ${entryIndex}));
${swigTypeParser.SwigType_str(swigTypeParser.SwigType_ltype(curType))} entry${entryIndex}_${seq};
${helper.getInConversion(curType, 'entry' + entryIndex + '_' + seq, 'pyentry' + entryIndex + '_' + seq, method,[ 'sequence' : sequence ])}
${api}${accessor}${tupleAccess[entryIndex]}() = entry${entryIndex}_${seq};
}
<%
}
%>
}
|