tUse (void *userdata) in callbacks and drop ringing-callback - ratox - FIFO based tox client
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 337acc7327641a9d511019dfacb4955c9f277e88
 (DIR) parent 458ccfa092d63fcf19c12f6a5ef5a7aac7d5a275
 (HTM) Author: FRIGN <dev@frign.de>
       Date:   Sun, 12 Oct 2014 15:55:23 +0200
       
       Use (void *userdata) in callbacks and drop ringing-callback
       
       This saves a lot of LOC and is definitely easier to maintain.
       
       Diffstat:
         M ratox.c                             |      80 ++++----------------------------
       
       1 file changed, 8 insertions(+), 72 deletions(-)
       ---
 (DIR) diff --git a/ratox.c b/ratox.c
       t@@ -215,14 +215,9 @@ static void fiforeset(int, int *, struct file);
        static ssize_t fiforead(int, int *, struct file, void *, size_t);
        static void cbcallinvite(void *, int32_t, void *);
        static void cbcallstarted(void *, int32_t, void *);
       -static void cbcallcancelled(void *, int32_t, void *);
       -static void cbcallrejected(void *, int32_t, void *);
       -static void cbcallended(void *, int32_t, void *);
       -static void cbcallringing(void *, int32_t, void *);
       +static void cbcallterminate(void *, int32_t, void *);
        static void preparetxcall(struct friend *);
        static void cbcallstarting(void *, int32_t, void *);
       -static void cbcallending(void *, int32_t, void *);
       -static void cbreqtimeout(void *, int32_t, void *);
        static void cbpeertimeout(void *, int32_t, void *);
        static void cbcalltypechange(void *, int32_t, void *);
        static void cbcalldata(ToxAv *, int32_t, int16_t *, int, void *);
       t@@ -416,7 +411,7 @@ cbcallstarted(void *av, int32_t cnum, void *udata)
        }
        
        static void
       -cbcallended(void *av, int32_t cnum, void *udata)
       +cbcallterminate(void *av, int32_t cnum, void *udata)
        {
                struct friend *f;
        
       t@@ -425,39 +420,7 @@ cbcallended(void *av, int32_t cnum, void *udata)
                                break;
                if (!f)
                        return;
       -        cancelcall(f, "Ended");
       -}
       -
       -static void
       -cbcallcancelled(void *av, int32_t cnum, void *udata)
       -{
       -        struct friend *f;
       -
       -        TAILQ_FOREACH(f, &friendhead, entry)
       -                if (f->av.num == cnum)
       -                        break;
       -        if (!f)
       -                return;
       -        cancelcall(f, "Cancelled");
       -}
       -
       -static void
       -cbcallrejected(void *av, int32_t cnum, void *udata)
       -{
       -        struct friend *f;
       -
       -        TAILQ_FOREACH(f, &friendhead, entry)
       -                if (f->av.num == cnum)
       -                        break;
       -        if (!f)
       -                return;
       -        cancelcall(f, "Rejected");
       -}
       -
       -static void
       -cbcallringing(void *av, int32_t cnum, void *udata)
       -{
       -        return;
       +        cancelcall(f, udata);
        }
        
        static void
       t@@ -495,32 +458,6 @@ cbcallstarting(void *av, int32_t cnum, void *udata)
        }
        
        static void
       -cbcallending(void *av, int32_t cnum, void *udata)
       -{
       -        struct friend *f;
       -
       -        TAILQ_FOREACH(f, &friendhead, entry)
       -                if (f->av.num == cnum)
       -                        break;
       -        if (!f)
       -                return;
       -        cancelcall(f, "Ending");
       -}
       -
       -static void
       -cbreqtimeout(void *av, int32_t cnum, void *udata)
       -{
       -        struct friend *f;
       -
       -        TAILQ_FOREACH(f, &friendhead, entry)
       -                if (f->av.num == cnum)
       -                        break;
       -        if (!f)
       -                return;
       -        cancelcall(f, "Request timeout");
       -}
       -
       -static void
        cbpeertimeout(void *av, int32_t cnum, void *udata)
        {
                struct friend *f;
       t@@ -1281,15 +1218,14 @@ toxinit(void)
        
                toxav_register_callstate_callback(toxav, cbcallinvite, av_OnInvite, NULL);
                toxav_register_callstate_callback(toxav, cbcallstarted, av_OnStart, NULL);
       -        toxav_register_callstate_callback(toxav, cbcallended, av_OnEnd, NULL);
       -        toxav_register_callstate_callback(toxav, cbcallcancelled, av_OnCancel, NULL);
       -        toxav_register_callstate_callback(toxav, cbcallrejected, av_OnReject, NULL);
       +        toxav_register_callstate_callback(toxav, cbcallterminate, av_OnEnd, "Ended");
       +        toxav_register_callstate_callback(toxav, cbcallterminate, av_OnCancel, "Cancelled");
       +        toxav_register_callstate_callback(toxav, cbcallterminate, av_OnReject, "Rejected");
        
       -        toxav_register_callstate_callback(toxav, cbcallringing, av_OnRinging, NULL);
                toxav_register_callstate_callback(toxav, cbcallstarting, av_OnStarting, NULL);
       -        toxav_register_callstate_callback(toxav, cbcallending, av_OnEnding, NULL);
       +        toxav_register_callstate_callback(toxav, cbcallterminate, av_OnEnding, "Ending");
        
       -        toxav_register_callstate_callback(toxav, cbreqtimeout, av_OnRequestTimeout, NULL);
       +        toxav_register_callstate_callback(toxav, cbcallterminate, av_OnRequestTimeout, "Request timeout");
                toxav_register_callstate_callback(toxav, cbpeertimeout, av_OnPeerTimeout, NULL);
                toxav_register_callstate_callback(toxav, cbcalltypechange, av_OnMediaChange, NULL);