File: python.Tuple.intm

package info (click to toggle)
kodi 2%3A20.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 143,820 kB
  • sloc: cpp: 664,925; xml: 68,398; ansic: 37,223; python: 6,903; sh: 4,209; javascript: 2,325; makefile: 1,754; perl: 969; java: 513; cs: 390; objc: 340
file content (35 lines) | stat: -rw-r--r-- 1,454 bytes parent folder | download | duplicates (4)
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};
      }
<%
      }
%>
    }