]> sjero.net Git - linphone/commitdiff
Remove 'registered' member from LinphoneProxyObject
authorPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@linphone.org>
Thu, 12 Jan 2012 10:54:15 +0000 (11:54 +0100)
committerPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@linphone.org>
Thu, 12 Jan 2012 11:11:34 +0000 (12:11 +0100)
Use more fine-grained 'state' member instead

coreapi/callbacks.c
coreapi/linphonecore.c
coreapi/private.h
coreapi/proxy.c

index 84092e69fdb560aa10490622cb9f0d88c8da18a8..31aca35c5cbb287670f27dab2569df76412da2fc 100644 (file)
@@ -623,12 +623,11 @@ static void register_success(SalOp *op, bool_t registered){
        LinphoneProxyConfig *cfg=(LinphoneProxyConfig*)sal_op_get_user_pointer(op);
        char *msg;
        
-       cfg->registered=registered;
        linphone_proxy_config_set_error(cfg,LinphoneReasonNone);
        linphone_proxy_config_set_state(cfg, registered ? LinphoneRegistrationOk : LinphoneRegistrationCleared ,
                                        registered ? "Registration sucessful" : "Unregistration done");
        if (lc->vtable.display_status){
-               if (cfg->registered) msg=ms_strdup_printf(_("Registration on %s successful."),sal_op_get_proxy(op));
+               if (registered) msg=ms_strdup_printf(_("Registration on %s successful."),sal_op_get_proxy(op));
                else msg=ms_strdup_printf(_("Unregistration on %s done."),sal_op_get_proxy(op));
                lc->vtable.display_status(lc,msg);
                ms_free(msg);
index 30f5997628c1ef3438b5fd52dd9a3d183d4b11f6..9a8c5120865fd9a4e5e00a8f8a006eb02ad5435a 100644 (file)
@@ -4164,7 +4164,7 @@ static void set_network_reachable(LinphoneCore* lc,bool_t isReachable, time_t cu
                LinphoneProxyConfig *cfg=(LinphoneProxyConfig*)elem->data;
                if (linphone_proxy_config_register_enabled(cfg) ) {
                        if (!isReachable) {
-                               cfg->registered=0;
+                               linphone_proxy_config_set_state(cfg, LinphoneRegistrationNone,"Registration impossible (network down)");
                        }else{
                                cfg->commit=TRUE;
                        }
index a21fc8b20aec9bb17379c52530ac201f087230dd..77f62c33407ce7ccc3038df588fc4a75aade32e7 100644 (file)
@@ -255,7 +255,6 @@ struct _LinphoneProxyConfig
        SalOp *publish_op;
        bool_t commit;
        bool_t reg_sendregister;
-       bool_t registered;
        bool_t publish;
        bool_t dial_escape_plus;
        void* user_data;
index 011be670672f228ea7c4efb739946b20c694c808..959c321b6862d194c5275683a693d025d69f31ab 100644 (file)
@@ -84,7 +84,7 @@ void linphone_proxy_config_destroy(LinphoneProxyConfig *obj){
  * Returns a boolean indicating that the user is sucessfully registered on the proxy.
 **/
 bool_t linphone_proxy_config_is_registered(const LinphoneProxyConfig *obj){
-       return obj->registered;
+       return obj->state == LinphoneRegistrationOk;
 }
 
 /**
@@ -232,9 +232,8 @@ void linphone_proxy_config_enable_publish(LinphoneProxyConfig *obj, bool_t val){
 void linphone_proxy_config_edit(LinphoneProxyConfig *obj){
        if (obj->reg_sendregister){
                /* unregister */
-               if (obj->registered) {
+               if (obj->state != LinphoneRegistrationNone && obj->state != LinphoneRegistrationCleared) {
                        sal_unregister(obj->op);
-                       obj->registered=FALSE;
                }
        }
 }
@@ -301,7 +300,7 @@ static void linphone_proxy_config_register(LinphoneProxyConfig *obj){
 **/
 void linphone_proxy_config_refresh_register(LinphoneProxyConfig *obj){
        if (obj->reg_sendregister && obj->op){
-               obj->registered=FALSE;
+               linphone_proxy_config_set_state(obj,LinphoneRegistrationProgress, "Refresh registration");
                sal_register_refresh(obj->op,obj->expires);
        }
 }