modified operation of CHLD=0 for applying spec
authorsungmin ha <sungmin82.ha@samsung.com>
Tue, 4 Sep 2012 09:38:28 +0000 (18:38 +0900)
committersungmin ha <sungmin82.ha@samsung.com>
Tue, 4 Sep 2012 09:38:28 +0000 (18:38 +0900)
debian/changelog
debian/control
packaging/vmodemd-emul.spec
vmodem/server/server_common_call.c
vmodem/server/server_rx_call.c
vmodem/server/server_rx_ss.c

index 25c9d1e..6451376 100644 (file)
@@ -1,3 +1,11 @@
+vmodemd-emul (0.2.18) unstable; urgency=low
+
+  * modified operation of CHLD=0 for applying spec
+  * Git: slp/pkgs/v/vmodem-daemon-emulator
+  * Tag: vmodemd-emul_0.2.18
+
+ -- Sungmin Ha <sungmin82.ha@samsung.com> Tue, 04 Sep 2012 18:12:38 +0900
+
 vmodemd-emul (0.2.17) unstable; urgency=low
 
   * fixed buffer overflow when call forwarding
index 5aa2f12..76d55a0 100644 (file)
@@ -3,7 +3,7 @@ Section: devel
 Priority: extra
 Maintainer: SungMin Ha <sungmin82.ha@samsung.com>,Jihye Kim <jihye1128.kim@samsung.com>,Yeongkyoon Lee <yeongkyoon.lee@samsung.com>
 Build-Depends: bison, flex, autoconf, gcc, debhelper, libglib2.0-dev, libxml2-dev, libvconf-dev
-Standards-Version: 0.2.17
+Standards-Version: 0.2.18
 
 Package: vmodemd-emul
 Architecture: i386
index aee7c0e..4a5acd7 100644 (file)
@@ -1,6 +1,6 @@
 #git:slp/pkgs/v/vmodem-daemon-emulator
 Name: vmodemd-emul
-Version: 0.2.17
+Version: 0.2.18
 Release: 1
 Summary: Modem Emulator
 Group: System/ModemEmulator
index a0fef53..be56206 100644 (file)
@@ -514,26 +514,44 @@ int release_all_active_call(void)
     return active_waiting_or_held_call(onWaiting);
 }
 
+int release_incoming_call(void)
+{
+       int i = 0, releaseCnt = 0;
+                
+        for( i=0; i<MAX_CALL_COUNT; ++i )
+        {
+                switch( g_call_list.CallInfo[i].stat )
+                {
+                        case GSM_CALL_STATUS_INCOMING :
+                        case GSM_CALL_STATUS_WAITING :
+                               server_tx_call_release_internal( g_call_list.CallInfo[i].idx );
+                               releaseCnt++;
+                               break;
+                       default:
+                               break;
+               }
+       }   
+        
+       return releaseCnt;
+}
+
 int release_all_held_call(void)
 {
-    int i = 0;
+        int i = 0;
 
        for( i=0; i<MAX_CALL_COUNT; ++i )
        {
                switch( g_call_list.CallInfo[i].stat )
                {
-       case GSM_CALL_STATUS_HELD:
-                       case GSM_CALL_STATUS_INCOMING :
-                       case GSM_CALL_STATUS_WAITING :
-           server_tx_call_release_internal( g_call_list.CallInfo[i].idx );
-           break;
-
-       default:
-           break;
-       }
-    }
+                       case GSM_CALL_STATUS_HELD:
+                               server_tx_call_release_internal( g_call_list.CallInfo[i].idx );
+                               break;
+                       default:
+                               break;
+               }
+       }
 
-    return 1;
+       return 1;
 }
 
 // End of Call.
index 1dff447..c4c08ed 100644 (file)
@@ -234,6 +234,18 @@ int server_rx_call_line_id_get(void)
        return 1;
 }
 
+int server_rx_call_release_incoming(void)
+{       
+        TRACE(MSGL_VGSM_INFO, "\n");
+        int releaseCnt = 0;
+        
+        releaseCnt = release_incoming_call();
+        if(releaseCnt > 0)
+                server_tx_call_list_noti();
+        
+        return releaseCnt;
+}
+    
 /*
 *      0_SEND=0x01,
 *      Releases all held calls or sets User Determined User Busy (UDUB) for a waiting call
index 0575e54..e930936 100644 (file)
@@ -588,7 +588,9 @@ int server_rx_ss_manage_call_set(char* ptr_data, int data_len)
 
         if(signal == AT_GSM_SS_CM_0_SEND)      // release all held call
         {
-               rtn = server_rx_call_release_all_held();
+               rtn = server_rx_call_release_incoming();
+                if(rtn == 0)
+                        rtn = server_rx_call_release_all_held();
         }
         else if(signal == AT_GSM_SS_CM_1_SEND)    // release all active call and the other (held or waiting) call
         {