Update of
/cvsroot/playerstage/code/player/client_libs/libplayerc/bindings/python
In directory
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22222/client_libs/libplayerc/bindings/python
Modified Files:
playerc.i
Log Message:
applied patch 1784991
Index: playerc.i
===================================================================
RCS file:
/cvsroot/playerstage/code/player/client_libs/libplayerc/bindings/python/playerc.i,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** playerc.i 9 Jul 2007 17:21:08 -0000 1.24
--- playerc.i 18 Oct 2007 22:43:15 -0000 1.25
***************
*** 8,11 ****
--- 8,59 ----
%include "typemaps.i"
+
+ // Provide array access to the RFID tags
+ // We will return a list of tuples. Each tuple contains the RFID type, and
the RFID ID.
+ // The RFID ID is a Python string containing the unprocessed bytes of the
RFID tag.
+ // In Python, use rfid.tags[i][1].encode('hex') to see the regular
Hex-ASCII representation.
+ %typemap(out) playerc_rfidtag_t [ANY]
+ {
+ int i;
+ $result = PyList_New($1_dim0); //we will return a Python List
+
+ //At this level, we don't get the ammount of tags, so we just produce a
long list, of size PLAYER_RFID_MAX_TAGS
+ //(this is the size of the array of playerc_rfidtag_t contained in the RFID
data packet)
+ for (i = 0; i != $1_dim0; ++i)
+ {
+
+ PyObject *tuple = PyTuple_New(2); // we will make a tuple with 2 fields:
type(int) and RFID ID(string)
+
+ const unsigned int blength=PLAYERC_RFID_MAX_GUID;
+ char buffer[blength];
+ memset(buffer, 0, blength );
+
+ //result is of type playerc_rfidtag_t
+ unsigned int j;
+ unsigned int guid_count=$1[i].guid_count;
+
+ //copy the bytes into the buffer
+ for (j=0 ; j != guid_count ; ++j) {
+ buffer[j]=$1[i].guid[j];
+ }
+
+ //generate a Python string from the buffer
+ PyObject *ostring = PyString_FromStringAndSize(buffer,guid_count);
+
+ //generate an Int from the tag type
+ PyObject *otype = PyInt_FromLong($1[i].type);
+
+ //set the previous objects into the tuple
+ PyTuple_SetItem(tuple,0,otype);
+ PyTuple_SetItem(tuple,1,ostring);
+
+ //set the tupple into the corresponding place of the list
+ PyList_SetItem($result,i,tuple);
+ }
+
+ //$result is the Python List that gets returned automatically at the end of
this function
+ }
+
+
// Special rules for functions that return multiple results via pointers
***************
*** 68,72 ****
}
! %typemap(python,in) uint8_t data[]
{
int temp = 0;
--- 116,120 ----
}
! %typemap(in) uint8_t data[]
{
int temp = 0;
***************
*** 97,101 ****
/*// typemap to free the array created in the previous typemap
! %typemap(python,freearg) uint8_t data[]
{
if ($input) free ((uint8_t*) $input);
--- 145,149 ----
/*// typemap to free the array created in the previous typemap
! %typemap(freearg) uint8_t data[]
{
if ($input) free ((uint8_t*) $input);
***************
*** 103,107 ****
// typemap for passing points into the graphics2d interface
! %typemap(python,in) player_point_2d_t pts[]
{
// Check if is a list
--- 151,155 ----
// typemap for passing points into the graphics2d interface
! %typemap(in) player_point_2d_t pts[]
{
// Check if is a list
***************
*** 141,145 ****
// typemap for passing 3d points into the graphics3d interface
! %typemap(python,in) player_point_3d_t pts[]
{
// Check if is a list
--- 189,193 ----
// typemap for passing 3d points into the graphics3d interface
! %typemap(in) player_point_3d_t pts[]
{
// Check if is a list
***************
*** 180,184 ****
// typemap to free the array created in the previous typemap
! %typemap(python,freearg) player_point2d_t pts[]
{
if ($input) free ((player_point2d_t*) $input);
--- 228,232 ----
// typemap to free the array created in the previous typemap
! %typemap(freearg) player_point2d_t pts[]
{
if ($input) free ((player_point2d_t*) $input);
***************
*** 186,190 ****
// typemap for tuples to colours
! %typemap(python,in) player_color_t (player_color_t temp)
{
// Check it is a tuple
--- 234,238 ----
// typemap for tuples to colours
! %typemap(in) player_color_t (player_color_t temp)
{
// Check it is a tuple
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit