diff options
author | vidon | 2004-10-20 19:21:01 +0000 |
---|---|---|
committer | vidon | 2004-10-20 19:21:01 +0000 |
commit | 045b0e9817472a67ad55ac56cfc3693fb85c1c7a (patch) | |
tree | a92117c7f6fa64bdd7a9526fe2bf92bf91d97251 | |
parent | 549b43d1d15eb2498cb0f17475340a5f1c611784 (diff) | |
download | ivycpy-045b0e9817472a67ad55ac56cfc3693fb85c1c7a.zip ivycpy-045b0e9817472a67ad55ac56cfc3693fb85c1c7a.tar.gz ivycpy-045b0e9817472a67ad55ac56cfc3693fb85c1c7a.tar.bz2 ivycpy-045b0e9817472a67ad55ac56cfc3693fb85c1c7a.tar.xz |
La fonction IvyGetApplicationMessages renvoie maintenant un tuple des messages reconnus par le client identifié par l'IvyClientPtr
-rw-r--r-- | ivycpy.i | 25 |
1 files changed, 23 insertions, 2 deletions
@@ -595,7 +595,8 @@ pytkMsgDirectCallback( IvyClientPtr app, void *user_data, int id, char *msg ) PyTuple_SetItem(arglist,1,PyString_FromString(msg)); result = PyEval_CallObject(func,arglist); - + Py_DECREF(arglist); + Py_DECREF(ivyclienttuple); } static void @@ -631,7 +632,8 @@ pyMsgDirectCallback( IvyClientPtr app, void *user_data, int id, char *msg ) PyTuple_SetItem(arglist,1,PyString_FromString(msg)); result = PyEval_CallObject(func,arglist); - + Py_DECREF(arglist); + Py_DECREF(ivyclienttuple); } /* facade to IvyBindMsg avoiding vararg problem */ @@ -1090,6 +1092,24 @@ pyIvyInit( $1 = $input; } +%typemap(python,out) char** { + int size=0, i; + char **msgList; + msgList=$1; + while (*msgList ) + { + /*printf("Message to '%s'\n",*msgList++);*/ + *msgList++; + size++; + } + resultobj=PyTuple_New(size); + msgList=$1; + for (i = 0; i < size; i++) { + PyTuple_SetItem(resultobj,i,PyString_FromString(*msgList++)); + } + $result=resultobj; +} + // part 3 // on place ici les donnees, fonctions a wrapper @@ -1124,6 +1144,7 @@ IvyGetApplication( char *name ); char * IvyGetApplicationName( IvyClientPtr app ); char *IvyGetApplicationHost( IvyClientPtr app ); +char **IvyGetApplicationMessages( IvyClientPtr app); /* emission d'un message d'erreur */ void pyIvySendError( IvyClientPtr app, int id, const char *message); |