Merge from 2.2 50/13550/2 accepted/tizen/mobile tizen accepted/tizen/mobile/20131216.220422 submit/tizen/20131210.014832
authoreh1112.kim <eh1112.kim@samsung.com>
Mon, 9 Dec 2013 09:59:37 +0000 (18:59 +0900)
committereh1112.kim <eh1112.kim@samsung.com>
Mon, 9 Dec 2013 12:23:54 +0000 (21:23 +0900)
Change-Id: Ia46e034cc03498005ec85db1f34939ae43ceb340
Signed-off-by: eh1112.kim <eh1112.kim@samsung.com>
25 files changed:
CMakeLists.txt [changed mode: 0644->0755]
inc/FTelCallInfo.h
inc/FTelCallManager.h
inc/FTelISimStateManagerGetPinLockSettingResultListener.h
inc/FTelITelephonyCallEventListener.h [changed mode: 0644->0755]
inc/FTelITelephonyCallForwardListener.h
inc/FTelITelephonyNetworkEventListener.h [changed mode: 0644->0755]
inc/FTelITelephonyNetworkSettingListener.h
inc/FTelITelephonySimEventListener.h
inc/FTelNetworkInfo.h
inc/FTelNetworkManager.h
inc/FTelNetworkStatus.h
inc/FTelSimInfo.h
inc/FTelSimStateManager.h
inc/FTelTypes.h
inc/FTelephony.h [changed mode: 0644->0755]
src/FTelCallInfo.cpp [changed mode: 0644->0755]
src/FTel_CallManagerImpl.cpp [changed mode: 0644->0755]
src/FTel_NetworkManagerEventArg.cpp [changed mode: 0644->0755]
src/FTel_NetworkManagerImpl.cpp
src/FTel_NetworkManagerImpl.h [changed mode: 0644->0755]
src/FTel_SimStateManagerImpl.cpp [changed mode: 0644->0755]
src/FTel_TelephonyIpcProxy.cpp
src/FTel_TelephonyIpcProxy.h [changed mode: 0644->0755]
src/inc/FTel_ConnectivityIpcMessages.h

old mode 100644 (file)
new mode 100755 (executable)
index d2b9588..06e9f50
@@ -18,7 +18,6 @@ INCLUDE_DIRECTORIES(
        /usr/include/osp/app
        /usr/include/osp/base
        /usr/include/osp/io
-       /usr/include/osp/net
        /usr/include/osp/security
        /usr/include/osp/system
        )
@@ -74,7 +73,7 @@ ADD_DEPENDENCIES(${this_target} chromium osp-appfw)
 SET(CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined)
 
 TARGET_LINK_LIBRARIES(${this_target} "-lchromium" )
-TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw -losp-net" )
+TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw" )
 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-telephony-network-info" )
 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-telephony-sim" )
 TARGET_LINK_LIBRARIES(${this_target} "-ltapi" )
index 4a17ca4..5a24ee5 100755 (executable)
@@ -36,7 +36,7 @@ class _CallInfoImpl;
  *
  * @since   2.0
  *
- * The %CallInfo class provides methods to obtain detailed call information, such as the call type and number.
+ * The %CallInfo class provides methods to obtain detailed call information, such as the call type and the number.
  */
 class _OSP_EXPORT_ CallInfo
        : public Tizen::Base::Object
@@ -54,7 +54,7 @@ public:
      *
      * @since   2.0
      *
-     * @param[in] rhs The call information
+     * @param[in] rhs The call information to copy
      */
        CallInfo(const CallInfo& rhs);
 
@@ -75,7 +75,7 @@ public:
        CallType GetCallType(void) const;
 
        /**
-     * Gets the correspondent's phone number.
+     * Gets the phone number.
      *
      * @since   2.0
         *
@@ -89,9 +89,9 @@ public:
     *
     * @since    2.0
        *
-    * @return   @c true if the specified instance equals the current instance, @n
-    *           else @c false
-    * @param[in]    obj An instance of %CallInfo
+    * @return          @c true if the specified instance equals the current instance, @n
+    *                  else @c false
+    * @param[in]    obj        An instance of %CallInfo
     * @remarks This method returns @c false if the specified object is not %CallInfo.
     */
        virtual bool Equals(const Tizen::Base::Object& obj) const;
@@ -110,7 +110,7 @@ public:
      *
      * @since 2.0
      *
-     * @return  The reference of this instance
+     * @return         A reference to this instance
      * @param[in]   rhs   An instance of %CallInfo to copy
      */
        CallInfo& operator=(const CallInfo& rhs);
index e65eb4b..084c948 100755 (executable)
@@ -115,7 +115,8 @@ class _OSP_EXPORT_ CallManager
 {
 public:
        /**
-     *          The object is not fully constructed after this constructor is called. For full construction, the Construct() method must be called right after calling this constructor.
+     * The object is not fully constructed after this constructor is called. 
+        * For full construction, the Construct() method must be called right after calling this constructor.
      *
      * @since   2.0
      */
@@ -129,35 +130,33 @@ public:
        virtual ~CallManager(void);
 
        /**
-     * Initializes a new instance of this class. @n
-     * This is the two phase construction.
+     * Initializes a new instance of %CallManager. @n
+     * This is a two phase construction.
      *
-     * @since   2.0
-        * @feature %http://tizen.org/feature/network.telephony
-     * @return  An error code
-     * @exception   E_SUCCESS          The method is successful.
-     * @exception   E_SYSTEM           A system error has occurred.
-        * @exception  E_UNSUPPORTED_OPERATION   The Emulator or target device does not support the required feature. @b Since: @b 2.1
+     * @since          2.0
+        * @feature     %http://tizen.org/feature/network.telephony
+     * @return         An error code
+     * @exception   E_SUCCESS                           The method is successful.
+     * @exception   E_SYSTEM                            A system error has occurred.
+        * @exception   E_UNSUPPORTED_OPERATION  The Emulator or target device does not support the required feature. @b Since: @b 2.1
         *                                                                               For more information, see <a href="../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm">Application Filtering</a>.
-        * @remarks     Before calling this method, check whether the feature is supported by 
-        *                      Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
+        * @remarks     Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
      */
        result Construct(void);
 
        /**
-     * Initializes a new instance of this class. @n
-     * This is the two phase construction.
+     * Initializes a new instance of %CallManager. @n
+     * This is a two phase construction.
      *
-     * @since   2.0
-        * @feature %http://tizen.org/feature/network.telephony
-     * @return  An error code
-     * @param[in]   listener  The listener for change in status of a call
-     * @exception   E_SUCCESS The method is successful.
-     * @exception   E_SYSTEM  A system error has occurred.
+     * @since          2.0
+        * @feature     %http://tizen.org/feature/network.telephony
+     * @return         An error code
+     * @param[in]   listener                            The listener for the change in the call status
+     * @exception   E_SUCCESS                           The method is successful.
+     * @exception   E_SYSTEM                            A system error has occurred.
         * @exception   E_UNSUPPORTED_OPERATION  The Emulator or target device does not support the required feature. @b Since: @b 2.1
         *                                                                               For more information, see <a href="../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm">Application Filtering</a>.
-        * @remarks     Before calling this method, check whether the feature is supported by 
-        *                      Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
+        * @remarks     Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
      */
        result Construct(ITelephonyCallEventListener& listener);
 
@@ -169,9 +168,9 @@ public:
      * @privlevel      platform
      * @privilege   %http://tizen.org/privilege/callforward
      *
-     * @return  An error code
+     * @return         An error code
      * @param[in]   pListener           An ITelephonyCallForwardListener instance @n
-     *                                  The parameter can be set to @c null to remove listener.
+     *                                  The parameter can be set to @c null to remove the listener.
      * @exception   E_SUCCESS           The method is successful.
      * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
      * @exception   E_SYSTEM            A system error has occurred.
@@ -179,26 +178,27 @@ public:
        result SetCallForwardListener(ITelephonyCallForwardListener* pListener);
 
        /**
-     * Requests call forwarding with the specified number. @n
-     * The %RequestCallForward() method sends the request to the network, and receives the response asynchronously.
+     * Requests call forwarding to the specified number. @n
+     * The %RequestCallForward() method sends a request to the network, and receives the response asynchronously.
      *
      * @since   2.0
         *
      * @privlevel      platform
      * @privilege   %http://tizen.org/privilege/callforward
      *
-     * @return  An error code
-     * @param[in]   phoneNumber The phone number for call forwarding
+     * @return         An error code
+     * @param[in]   phoneNumber                        The phone number for call forwarding
      * @exception   E_SUCCESS               The method is successful.
      * @exception   E_INVALID_STATE         This instance is in an invalid state.
-     * @exception   E_INVALID_FORMAT        The specified phone number is in an invalid format.
+     * @exception   E_INVALID_FORMAT        The specified @c phoneNumber is in an invalid format.
      * @exception   E_IN_PROGRESS           The previous request is in progress.
      * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
      * @exception   E_NETWORK_UNAVAILABLE   The operation has failed because the device is in the offline mode.
-     * @exception   E_SERVICE_UNAVAILABLE   The operation has failed because the device is out of the coverage area or in the emergency mode.
+     * @exception   E_SERVICE_UNAVAILABLE   The operation has failed because the device is either out of the coverage area or in the emergency mode.
      * @exception   E_SYSTEM                A system error has occurred.
-     * @remarks The call will be forwarded unconditionally. Voice call only. @n
-     *          The phone number can start with plus(+) and the remaining part must be number.
+     * @remarks 
+     *                         - This method forwards the call unconditionally and supports only voice call. @n
+     *                 - The phone number must start with a plus(+) sign and the remaining part must be the number.
      * @see ITelephonyCallForwardListener::OnTelephonyCallForwardResponseReceived()
      */
        result RequestCallForward(const Tizen::Base::String& phoneNumber);
@@ -211,39 +211,39 @@ public:
      * @privlevel      platform
      * @privilege   %http://tizen.org/privilege/callforward
      *
-     * @return  An error code
+     * @return         An error code
      * @exception      E_SUCCESS               The method is successful.
      * @exception      E_INVALID_STATE         This instance is in an invalid state.
      * @exception      E_IN_PROGRESS           The previous request is in progress.
      * @exception      E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
      * @exception      E_NETWORK_UNAVAILABLE   The operation has failed because the device is in the offline mode.
-     * @exception      E_SERVICE_UNAVAILABLE   The operation has failed because the device is out of the coverage area or in the emergency mode.
+     * @exception      E_SERVICE_UNAVAILABLE   The operation has failed because the device is either out of the coverage area or in the emergency mode.
      * @exception      E_SYSTEM                A system error has occurred.
      * @see ITelephonyCallForwardListener::OnTelephonyCallForwardStopped()
      */
        result StopCallForward(void);
 
        /**
-     * Gets the phone number to which the call must be forwarded.
+     * Gets the phone number to which the call is forwarded.
      *
-     * @since   2.0
+     * @since          2.0
         *
      * @privlevel      platform
      * @privilege   %http://tizen.org/privilege/callforward
      *
-     * @return  An error code
+     * @return         An error code
      * @exception   E_SUCCESS               The method is successful.
      * @exception   E_IN_PROGRESS           The previous request is in progress.
      * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
      * @exception   E_NETWORK_UNAVAILABLE   The operation has failed because the device is in the offline mode.
-     * @exception   E_SERVICE_UNAVAILABLE   The operation has failed because the device is out of the coverage area or in the emergency mode.
+     * @exception   E_SERVICE_UNAVAILABLE   The operation has failed because the device is either out of the coverage area or in the emergency mode.
      * @exception   E_SYSTEM                A system error has occurred.
-     * @see ITelephonyCallForwardListener::OnTelephonyCallForwardNumberReceived
+     * @see ITelephonyCallForwardListener::OnTelephonyCallForwardNumberReceived()
      */
        result GetCallForwardNumber(void) const;
 
        /**
-     * Gets the call type of the current call.
+     * Gets the current call type.
      *
      * @since                  2.0
         *
@@ -253,7 +253,7 @@ public:
        CallType GetCurrentCallType(void) const;
 
        /**
-     * Gets the call status of the current call.
+     * Gets the current call status.
      *
      * @since                  2.0
         *
index 1a8b7e4..4bf2560 100755 (executable)
@@ -32,7 +32,7 @@ namespace Tizen { namespace Telephony
 {
 /**
  * @interface   ISimStateManagerGetPinLockSettingResultListener
- * @brief              This interface provides methods to receive the result of the SimStateManager::GetPinLockSetting() asynchronous method.
+ * @brief              This interface provides methods to receive the result of the %SimStateManager::GetPinLockSetting() asynchronous method.
  *
  * @since              2.1
  *
@@ -44,7 +44,8 @@ class _OSP_EXPORT_ ISimStateManagerGetPinLockSettingResultListener
 {
 public:
        /**
-        * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
+        * This polymorphic destructor should be overridden if required. @n
+        * This way, the destructors of the derived classes are called when the destructor of this interface is called.
         *
         * @since       2.1
         */
@@ -52,14 +53,15 @@ public:
 
 public:
        /**
-        * Called when a response to the PIN lock setting query is received.
+        * Called when the response to the PIN lock setting query is received.
         *
         * @since               2.1
         *
-        * @param[in]   isEnabled               The PIN lock setting value
-        * @param[in]   r                               The result of the request @n The following exceptions may be given through this parameter.
+        * @param[in]   isEnabled                       The PIN lock setting value
+        * @param[in]   r                                       The result of the request @n 
+        *                                                                      The following exceptions may be given through this parameter.
         *
-        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_INVALID_STATE         The SIM is in an invalid state.
         */
        virtual void OnSimStateManagerGetPinLockSettingResultReceived(bool isEnabled, result r) = 0;
old mode 100644 (file)
new mode 100755 (executable)
index 5bf8083..2bbfbb6
@@ -34,11 +34,11 @@ namespace Tizen { namespace Telephony
 {
 /**
  * @interface   ITelephonyCallEventListener
- * @brief       This interface provides methods to listen to the change in status of a call.
+ * @brief       This interface provides methods to listen to a change in the call status.
  *
  * @since       2.0
  *
- * The %ITelephonyCallEventListener interface checks for the change in status of a call.
+ * The %ITelephonyCallEventListener interface checks for a change in the call status.
  *
  */
 class _OSP_EXPORT_ ITelephonyCallEventListener
@@ -46,19 +46,20 @@ class _OSP_EXPORT_ ITelephonyCallEventListener
 {
 public:
     /**
-     * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
+     * This polymorphic destructor should be overridden if required. @n
+        * This way, the destructors of the derived classes are called when the destructor of this interface is called.
      *
      * @since   2.0
      */
        virtual ~ITelephonyCallEventListener(void) {}
 
        /**
-    * Called when the status of a call is changed.
+    * Called when the call status is changed.
     *
     * @since    2.0
        *
-    * @param[in]    callStatus The new status of a call
-    * @param[in]    pCallInfo  The detailed information of a call
+    * @param[in]    callStatus The changed call status
+    * @param[in]    pCallInfo  The detailed information of the call
     */
        virtual void OnTelephonyCallStatusChangedN(CallStatus callStatus, CallInfo* pCallInfo) = 0;
 
index 82f08a4..95f86a1 100755 (executable)
@@ -31,58 +31,59 @@ namespace Tizen { namespace Telephony
 {
 /**
  * @interface   ITelephonyCallForwardListener
- * @brief       This interface provides methods to listen to the results of the call forwarding request.
+ * @brief       This interface provides methods to listen to the results of a call forwarding request.
  *
  * @since       2.0
  *
- * The %ITelephonyCallForwardListener interface provides methods to listen to the results of the call forwarding request.
+ * The %ITelephonyCallForwardListener interface provides methods to listen to the results of a call forwarding request.
  */
 class _OSP_EXPORT_ ITelephonyCallForwardListener
        : virtual public Tizen::Base::Runtime::IEventListener
 {
 public:
        /**
-     * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
+     * This polymorphic destructor should be overridden if required. @n
+        * This way, the destructors of the derived classes are called when the destructor of this interface is called.
      *
      * @since   2.0
      */
        virtual ~ITelephonyCallForwardListener(void) {}
 
        /**
-     * Called when a response of the call forwarding request is received.
+     * Called when the response to the call forwarding request is received.
      *
      * @since   2.0
      *
      * @param[in]    phoneNumber         The phone number
      * @param[in]    r                   The result of the call forwarding request
      * @exception    E_SUCCESS           The method is successful.
-     * @exception    E_NOT_RESPONDING    The server on the telephony network is not responding.
+     * @exception    E_NOT_RESPONDING    The server of the telephony network is not responding.
      * @exception    E_SYSTEM            A system error has occurred.
      */
        virtual void OnTelephonyCallForwardResponseReceived(const Tizen::Base::String& phoneNumber, result r) = 0;
 
        /**
-     * Called when a response of the call forwarding stop request is received.
+     * Called when the response to the call forwarding stop request is received.
      *
      * @since   2.0
         *
      * @param[in]    phoneNumber         The phone number
      * @param[in]    r                   The result of the call forwarding request
      * @exception    E_SUCCESS           The method is successful.
-     * @exception    E_NOT_RESPONDING    The server on the telephony network is not responding.
+     * @exception    E_NOT_RESPONDING    The server of the telephony network is not responding.
      * @exception    E_SYSTEM            A system error has occurred.
         */
        virtual void OnTelephonyCallForwardStopped(const Tizen::Base::String& phoneNumber, result r) = 0;
 
        /**
-     * Called when a query for the call forwarding number is completed.
+     * Called when the query for the call forwarding number is completed.
      *
      * @since   2.0
         *
      * @param[in]    phoneNumber             The phone number
      * @param[in]    r                       The result of the query request
      * @exception    E_SUCCESS               The method is successful.
-     * @exception    E_NOT_RESPONDING        The server on the telephony network is not responding.
+     * @exception    E_NOT_RESPONDING        The server of the telephony network is not responding.
      * @exception    E_SERVICE_DEACTIVATED   The call forwarding service is not enabled.
      * @exception    E_SYSTEM                A system error has occurred.
      */
old mode 100644 (file)
new mode 100755 (executable)
index 223e465..08c07b0
@@ -32,7 +32,7 @@ namespace Tizen { namespace Telephony
 {
 /**
  * @interface   ITelephonyNetworkEventListener
- * @brief       This interface provides methods to listen to the change in status of the telephony network.
+ * @brief       This interface provides methods to listen to the change in the telephony network status.
  *
  * @since       2.0
  *
@@ -44,18 +44,19 @@ class _OSP_EXPORT_ ITelephonyNetworkEventListener
 {
 public:
        /**
-     * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
+     * This polymorphic destructor should be overridden if required. @n
+        * This way, the destructors of the derived classes are called when the destructor of this interface is called.
      *
      * @since   2.0
      */
        virtual ~ITelephonyNetworkEventListener(void) {}
 
        /**
-     * Called when the status of the telephony network is changed.
+     * Called when the telephony network status is changed.
      *
      * @since   2.0
         *
-     * @param[in]   networkStatus      The new network status
+     * @param[in]   networkStatus      The changed telephony network status
      */
        virtual void OnTelephonyNetworkStatusChanged(const NetworkStatus& networkStatus) = 0;
 
index 2df36f2..8deb288 100755 (executable)
@@ -34,34 +34,35 @@ namespace Tizen { namespace Telephony
 {
 /**
 * @interface   ITelephonyNetworkSettingListener
-* @brief       This interface provides result of the network settings.
+* @brief       This interface provides the result of the network settings.
 *
 * @since 2.0
 *
-* The %ITelephonyNetworkSettingListener interface provides result of the network search and response by selection mode.
+* The %ITelephonyNetworkSettingListener interface provides the result of a network search and response performed in the selection mode.
 */
 class _OSP_EXPORT_ ITelephonyNetworkSettingListener
     : virtual public Tizen::Base::Runtime::IEventListener
 {
 public:
     /**
-     * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
+     * This polymorphic destructor should be overridden if required. @n
+        * This way, the destructors of the derived classes are called when the destructor of this interface is called.
      *
      * @since 2.0
      */
     virtual ~ITelephonyNetworkSettingListener(void) {}
 
     /**
-     * Called when a response of the network selection mode request is received.
+     * Called when the response of the network selection mode request is received.
      *
      * @since 2.0
      *
-     * @param[in]   isManual    @c true if the network selection is in manual mode, @n
-     *                          else @c false
-     * @param[in]   r           An error code
-     * @exception   E_SUCCESS                  The method is successful.
-     * @exception   E_NOT_RESPONDING    The server on the telephony network is not responding.
-     * @exception   E_SYSTEM                     The method cannot proceed due to a severe telephony modem error.
+     * @param[in]   isManual                   @c true if the network selection is done in the manual mode, @n
+     *                                         else @c false
+     * @param[in]   r                          An error code
+     * @exception   E_SUCCESS           The method is successful.
+     * @exception   E_NOT_RESPONDING    The server of the telephony network is not responding.
+     * @exception   E_SYSTEM            The method cannot proceed due to a severe telephony modem error.
      * @see NetworkManager::GetNetworkSelectionMode()
      */
     virtual void OnTelephonyNetworkSelectionModeReceived(bool isManual, result r) = 0;
@@ -71,23 +72,23 @@ public:
      *
      * @since 2.0
      *
-     * @param[in]   pNetworkInfoList    The list of NetworkInfo information representing the network discovered by the search
+     * @param[in]   pNetworkInfoList    The list of NetworkInfo information that represents the network discovered by the search
      * @param[in]   r                   An error code
      * @exception   E_SUCCESS           The method is successful.
-     * @exception   E_NOT_RESPONDING    The server on the telephony network is not responding.
+     * @exception   E_NOT_RESPONDING    The server of the telephony network is not responding.
      * @exception   E_SYSTEM            The method cannot proceed due to a severe telephony modem error.
      * @see NetworkManager::SearchNetwork()
      */
     virtual void OnTelephonyNetworkSearchCompletedN(Tizen::Base::Collection::IList* pNetworkInfoList, result r) = 0;
 
     /**
-     * Called when a response of the network selection request is completed.
+     * Called when the response of the network selection request is completed.
      *
      * @since 2.0
      *
-     * @param[in]   r   An error code
+     * @param[in]   r                                  An error code
      * @exception   E_SUCCESS           The method is successful.
-     * @exception   E_NOT_RESPONDING    The server on the telephony network is not responding.
+     * @exception   E_NOT_RESPONDING    The server of the telephony network is not responding.
      * @exception   E_SYSTEM            The method cannot proceed due to a severe telephony modem error.
      * @see NetworkManager::SelectNetwork()
      */
index d720f36..85d67c4 100755 (executable)
@@ -32,11 +32,11 @@ namespace Tizen { namespace Telephony
 
 /**
  * @interface   ITelephonySimEventListener
- * @brief       This interface provides methods to listen to the change in state of the SIM card.
+ * @brief       This interface provides methods to listen to the change in the SIM card state.
  *
  * @since       2.1
  *
- * The %ITelephonySimEventListener interface checks for the change in state of the SIM card.
+ * The %ITelephonySimEventListener interface checks for the change in the SIM card state.
  *
  */
 class _OSP_EXPORT_ ITelephonySimEventListener
@@ -44,18 +44,19 @@ class _OSP_EXPORT_ ITelephonySimEventListener
 {
 public:
        /**
-     * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
+     * This polymorphic destructor should be overridden if required. @n
+        * This way, the destructors of the derived classes are called when the destructor of this interface is called.
      *
      * @since   2.1
      */
        virtual ~ITelephonySimEventListener(void) {}
 
        /**
-     * Called when the state of SIM is changed.
+     * Called when the SIM state is changed.
      *
      * @since   2.1
         *
-     * @param[in]   state      The new SIM state
+     * @param[in]   state      The changed SIM state
      */
        virtual void OnTelephonySimStateChanged(SimState state) = 0;
 
index d9f7eea..96d57fc 100755 (executable)
@@ -33,13 +33,13 @@ class _NetworkInfoImpl;
 
 /**
  * @class      NetworkInfo
- * @brief      This class provides information of the current network.
+ * @brief      This class provides methods to obtain the current network information.
  *
  * @since      2.0
  *
- * The %NetworkInfo class provides methods to get information of the current network such as MNC, MCC, PLMN, cell ID, and operator name.
+ * The %NetworkInfo class provides methods to obtain information, such as the MNC, the MCC, the PLMN, the cell ID, and the operator name, of the current network.
  *
- * The following example demonstrates how to use the %NetworkInfo class to get the network information.
+ * The following example demonstrates how to use the %NetworkInfo class to obtain the network information.
  *
  * @code
  *
@@ -115,7 +115,7 @@ public:
      *
      * @since 2.0
      *
-     * @param[in]   rhs   An instance of %NetworkInfo
+     * @param[in]   rhs   An instance of %NetworkInfo to copy
      */
        NetworkInfo(const NetworkInfo& rhs);
 
@@ -129,13 +129,13 @@ public:
        /**
      * Gets the Mobile Network Code (MNC) of the network.
      *
-     * @since   2.0
+     * @since          2.0
      * @privlevel      public
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
      *
      * @return         The MNC of the network
-     * @exception      E_SUCCESS       The method is successful.
+     * @exception      E_SUCCESS                       The method is successful.
      * @exception      E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
      * @remarks                The specific error code can be accessed using the GetLastResult() method.
      */
@@ -144,13 +144,13 @@ public:
        /**
      * Gets the Mobile Country Code (MCC) of the network.
      *
-     * @since   2.0
+     * @since          2.0
      * @privlevel      public
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
      *
      * @return         The MCC of the network
-     * @exception      E_SUCCESS       The method is successful.
+     * @exception      E_SUCCESS                       The method is successful.
      * @exception      E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
      * @remarks                The specific error code can be accessed using the GetLastResult() method.
      */
@@ -183,55 +183,58 @@ public:
      * @page    CompNetworkInfoGetPlmnPage Compatibility for GetPlmn()
      * @section CompNetworkInfoGetPlmnPageIssueSection Issues
      *          Implementation of this method in Tizen API versions prior to 2.1 has the following issue: @n
-     *          -# The method returns an alphabetic name of PLMN.
+     *          -# The method returns an alphabetic name for PLMN.
      *
      * @section CompNetworkInfoGetPlmnPageSolutionSection Resolutions
-     *          -# The method returns a numeric name of PLMN-ID(MCC+MNC).
-     *           To get the alphabetic name of PLMN, it is recommended to use Tizen::Telephony::GetOperatorName().
+        *                      The issue mentioned above is resolved in Tizen API version 2.1, and it is recommended to use Tizen API version 2.1. or above. @n 
+     *          -# The method returns a numeric name for PLMN-ID(MCC+MNC).
+     *          To get the alphabetic name of PLMN, it is recommended to use Tizen::Telephony::GetOperatorName().
      */
 
     /**
      * Gets the current cell ID.
      *
-     * @since   2.0
+     * @since          2.0
      * @privlevel      public
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
      *
      * @return         The current cell ID
-     * @exception      E_SUCCESS       The method is successful.
+     * @exception      E_SUCCESS                       The method is successful.
      * @exception      E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
-     * @remarks     This cell ID is provided using only NetworkManager::GetNetworkInfo() when connected to a network.
-     * @remarks                The specific error code can be accessed using the GetLastResult() method.
+     * @remarks     
+        *                              - The cell ID is provided using only the NetworkManager::GetNetworkInfo() method when connected to a network.
+     *                                 - The specific error code can be accessed using the GetLastResult() method.
      */
        int GetCellId(void) const;
 
        /**
      * Gets the current Location Area Code (LAC).
      *
-     * @since   2.0
+     * @since          2.0
      * @privlevel      public
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
      *
      * @return         The current LAC
-     * @exception      E_SUCCESS       The method is successful.
+     * @exception      E_SUCCESS                       The method is successful.
      * @exception      E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
-     * @remarks     This LAC is provided using only NetworkManager::GetNetworkInfo() when connected to a network.
-     * @remarks                The specific error code can be accessed using the GetLastResult() method.
+     * @remarks     
+        *                              - The LAC is provided using only the NetworkManager::GetNetworkInfo() method when connected to a network.
+     *                                 - The specific error code can be accessed using the GetLastResult() method.
      */
        int GetLac(void) const;
 
     /**
      * Gets the operator name.
      *
-     * @since 2.0
+     * @since          2.0
      * @privlevel      public
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
      *
      * @return      The operator name
-     * @exception   E_SUCCESS   The method is successful.
+     * @exception   E_SUCCESS                  The method is successful.
      * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
      * @remarks                The specific error code can be accessed using the GetLastResult() method.
      */
@@ -242,10 +245,10 @@ public:
      *
      * @since   2.0
         *
-     * @return  @c true if the specified instance equals the current instance, @n
-     *          else @c false
-     * @param[in]   rhs An instance of %NetworkInfo
-     * @remarks     The method returns @c false if the specified object is not %NetworkInfo.
+     * @return         @c true if the specified instance equals the current instance, @n
+     *                 else @c false
+     * @param[in]   rhs        An instance of %NetworkInfo to check
+     * @remarks     This method returns @c false if the specified object is not %NetworkInfo.
      */
        virtual bool Equals(const Tizen::Base::Object& rhs) const;
 
@@ -259,24 +262,23 @@ public:
        virtual int GetHashCode(void) const;
 
        /**
-     * Gets the received signal strength indication of a modem device.
+     * Gets the received signal strength indication of the modem device.
      *
-     * @since   2.0
+     * @since          2.0
      * @privlevel      public
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
         * @feature             %http://tizen.org/feature/network.telephony
-     * @return  The current RSSI @n
-     *          The possible RSSI value ranges from @c 0 to @c 100.
-     * @exception   E_SUCCESS   The method is successful.
-     * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
-     * @exception   E_SYSTEM    A system error has occurred.
+     * @return         The current RSSI @n
+     *                 The possible RSSI values range from @c 0 to @c 100.
+     * @exception   E_SUCCESS                           The method is successful.
+     * @exception   E_PRIVILEGE_DENIED          The application does not have the privilege to call this method.
+     * @exception   E_SYSTEM                            A system error has occurred.
         * @exception  E_UNSUPPORTED_OPERATION   The Emulator or target device does not support the required feature. @b Since: @b 2.1
         *                                                                               For more information, see <a href="../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm">Application Filtering</a>.
         * @remarks
         *                      - The specific error code can be accessed using the GetLastResult() method.
-        *                      - Before calling this method, check whether the feature is supported by 
-        *                      Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
+        *                      - Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
      */
        static int GetRssi(void);
 
@@ -285,8 +287,8 @@ public:
       *
       * @since 2.0
       *
-      * @return     The reference of this instance
-      * @param[in]  rhs   An instance of %NetworkInfo
+      * @return     A reference to this instance
+      * @param[in]  rhs   An instance of %NetworkInfo to copy
       */
        NetworkInfo& operator=(const NetworkInfo& rhs);
 
index c327575..eb9c1fe 100755 (executable)
@@ -37,14 +37,14 @@ class ITelephonyNetworkSettingListener;
 
 /**
  * @class      NetworkManager
- * @brief      This class provides information about the current active network.
+ * @brief      This class provides information about currently active networks.
  *
  * @since      2.0
  *
  * The %NetworkManager class is used to register listeners who monitor network status changes,
- * as well as get information about current active network.
+ * as well as obtain information about currently active networks.
  *
- * The following example demonstrates how to use the %NetworkManager class to get the network information.
+ * The following example demonstrates how to use the %NetworkManager class to obtain the network information.
  *
  * @code
  *
@@ -114,7 +114,8 @@ class _OSP_EXPORT_ NetworkManager
 {
 public:
        /**
-     * The object is not fully constructed after this constructor is called. For full construction, the Construct() method must be called right after calling this constructor.
+     * The object is not fully constructed after this constructor is called. 
+        * For full construction, the Construct() method must be called right after calling this constructor.
      *
      * @since   2.0
      */
@@ -128,21 +129,20 @@ public:
        virtual ~NetworkManager(void);
 
        /**
-     * Initializes a new instance of this class. @n
-     * This is the two phase construction.
-        * If a @c null pointer is passed during the construction, then there
-     * is no listener for telephony network status change callbacks.
+     * Initializes a new instance of %NetworkManager. @n
+     * This is a two phase construction.
+        *  If a @c null pointer is passed during the construction, then there
+     * is no listener for the telephony network status change callbacks.
      *
      * @since          2.0
         * @feature     %http://tizen.org/feature/network.telephony
      * @return         An error code
-        * @param[in]   pListener       The listener for change in status of a telephony network
-     * @exception      E_SUCCESS               The method is successful.
-     * @exception      E_SYSTEM                A system error has occurred.
+        * @param[in]   pListener                        The listener for the change in the telephony network status
+     * @exception      E_SUCCESS                                The method is successful.
+     * @exception      E_SYSTEM                                 A system error has occurred.
         * @exception   E_UNSUPPORTED_OPERATION  The Emulator or target device does not support the required feature. @b Since: @b 2.1
         *                                                                               For more information, see <a href="../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm">Application Filtering</a>.
-        * @remarks     Before calling this method, check whether the feature is supported by 
-        *                      Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
+        * @remarks     Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
      */
        result Construct(ITelephonyNetworkEventListener* pListener);
 
@@ -155,42 +155,42 @@ public:
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
      *
      * @return         An error code
-     * @param[out]     networkStatus   The network status
-     * @exception      E_SUCCESS       The method is successful.
+     * @param[out]     networkStatus                   The network status
+     * @exception      E_SUCCESS                               The method is successful.
      * @exception      E_NETWORK_UNAVAILABLE   The operation has failed because the device is in the offline mode.
-     * @exception      E_SERVICE_UNAVAILABLE   The operation has failed because the device is out of the coverage area or in the emergency mode.
-     * @exception      E_SYSTEM        A system error has occurred.
-     * @exception      E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
+     * @exception      E_SERVICE_UNAVAILABLE   The operation has failed because the device is either out of the coverage area or in the emergency mode.
+     * @exception      E_SYSTEM                                A system error has occurred.
+     * @exception      E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
      */
        result GetNetworkStatus(NetworkStatus& networkStatus) const;
 
        /**
      * Gets the network information.
      *
-     * @since  2.0
+     * @since          2.0
      * @privlevel      public
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
      *
-     * @return An error code
-     * @param[out]     networkInfo     The network information
-     * @exception      E_SUCCESS       The method is successful.
+     * @return         An error code
+     * @param[out]     networkInfo                             The network information
+     * @exception      E_SUCCESS                               The method is successful.
      * @exception      E_NETWORK_UNAVAILABLE   The operation has failed because the device is in the offline mode.
-     * @exception      E_SERVICE_UNAVAILABLE   The operation has failed because the device is out of the coverage area or in the emergency mode.
-     * @exception      E_SYSTEM        A system error has occurred.
-     * @exception   E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
+     * @exception      E_SERVICE_UNAVAILABLE   The operation has failed because the device is either out of the coverage area or in the emergency mode.
+     * @exception      E_SYSTEM                                A system error has occurred.
+     * @exception   E_PRIVILEGE_DENIED         The application does not have the privilege to call this method.
      */
        result GetNetworkInfo(NetworkInfo& networkInfo) const;
 
     /**
-     * Sets the listener for receiving the responses of the search network and the network selection mode.
+     * Sets the listener for receiving the responses of the network search and the network selection mode.
      *
      * @since 2.0
      *
      * @privlevel      platform
      * @privilege   %http://tizen.org/privilege/telephonymanager
      *
-     * @return  An error code
+     * @return         An error code
      * @param[in]   pListener           An instance of ITelephonyNetworkSettingListener @n
      *                                  The parameter can be set to @c null to remove the listener.
      * @exception   E_SUCCESS           The method is successful.
@@ -202,14 +202,14 @@ public:
     /**
      * Gets the network selection mode.
      *
-     * @since 2.0
+     * @since          2.0
      *
      * @privlevel      platform
      * @privilege   %http://tizen.org/privilege/telephonymanager
      *
-     * @return  An error code
-     * @exception   E_SUCCESS   The method is successful.
-     * @exception   E_OPERATION_FAILED      This request operation has failed due to an internal error.
+     * @return         An error code
+     * @exception   E_SUCCESS                          The method is successful.
+     * @exception   E_OPERATION_FAILED      The requested operation has failed due to an internal error.
      * @exception   E_SYSTEM                A system error has occurred.
      * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
      * @see ITelephonyNetworkSettingListener::OnTelephonyNetworkSelectionModeReceived()
@@ -219,15 +219,15 @@ public:
     /**
      * Selects the manually searched network.
      *
-     * @since 2.0
+     * @since          2.0
      *
      * @privlevel      platform
      * @privilege   %http://tizen.org/privilege/telephonymanager
      *
-     * @return  An error code
-     * @param[out]     networkInfo     The network information
-     * @exception   E_SUCCESS   The method is successful.
-     * @exception   E_OPERATION_FAILED      This request operation has failed due to an internal error.
+     * @return         An error code
+     * @param[out]     networkInfo                             The network information
+     * @exception   E_SUCCESS                          The method is successful.
+     * @exception   E_OPERATION_FAILED      The requested operation has failed due to an internal error.
      * @exception   E_SYSTEM                A system error has occurred.
      * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
      * @see ITelephonyNetworkSettingListener::OnTelephonyNetworkSelectionCompleted()
@@ -237,14 +237,14 @@ public:
     /**
      * Selects the network automatically.
      *
-     * @since 2.0
+     * @since          2.0
      *
      * @privlevel      platform
      * @privilege   %http://tizen.org/privilege/telephonymanager
      *
-     * @return  An error code
-     * @exception   E_SUCCESS   The method is successful.
-     * @exception   E_OPERATION_FAILED      This request operation has failed due to an internal error.
+     * @return         An error code
+     * @exception   E_SUCCESS                          The method is successful.
+     * @exception   E_OPERATION_FAILED      The requested operation has failed due to an internal error.
      * @exception   E_SYSTEM                A system error has occurred.
      * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
      * @see ITelephonyNetworkSettingListener::OnTelephonyNetworkSelectionCompleted()
@@ -259,9 +259,9 @@ public:
      * @privlevel      platform
      * @privilege   %http://tizen.org/privilege/telephonymanager
      *
-     * @return  An error code
-     * @exception   E_SUCCESS   The method is successful.
-     * @exception   E_OPERATION_FAILED      This request operation has failed due to an internal error.
+     * @return         An error code
+     * @exception   E_SUCCESS                          The method is successful.
+     * @exception   E_OPERATION_FAILED      The requested operation has failed due to an internal error.
      * @exception   E_SYSTEM                A system error has occurred.
      * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
      * @see ITelephonyNetworkSettingListener::OnTelephonyNetworkSearchCompletedN()
index d6fa837..0b7b450 100755 (executable)
@@ -31,13 +31,14 @@ class _NetworkStatusImpl;
 
 /**
  * @class      NetworkStatus`
- * @brief      This class provides status information of the current network.
+ * @brief      This class provides the status information of the current network.
  *
  * @since      2.0
  *
- * The %NetworkStatus class provides methods to get status information of the current network, such as the roaming status, whether call service is available or not, and whether data service is available or not.
+ * The %NetworkStatus class provides methods to obtain the status information of the current network, such as the roaming status, whether the call service is available or not, 
+ * and whether the data service is available or not.
  *
- * The following example demonstrates how to use the %NetworkStatus class to get the network status information.
+ * The following example demonstrates how to use the %NetworkStatus class to obtain the network status information.
  *
  * @code
  *
@@ -115,7 +116,7 @@ public:
        virtual ~NetworkStatus(void);
 
        /**
-     * Checks whether the current network is in roaming status or not.
+     * Checks whether the current network is in the roaming status or not.
      *
      * @since  2.0
         *
@@ -123,16 +124,16 @@ public:
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
      *
-     * @return @c true if the current network is in roaming status, @n
-     *                  else @c false
-     * @exception      E_SUCCESS       The method is successful.
+     * @return         @c true if the current network is in the roaming status, @n
+     *              else @c false
+     * @exception      E_SUCCESS                       The method is successful.
      * @exception      E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
      * @remarks                The specific error code can be accessed using the GetLastResult() method.
      */
        bool IsRoaming(void) const;
 
     /**
-     * Checks whether call service is available or not.
+     * Checks whether the call service is available or not.
      *
      * @since  2.0
         *
@@ -140,16 +141,16 @@ public:
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
      *
-     * @return @c true if call service is available, @n
-     *          else @c false
-     * @exception      E_SUCCESS       The method is successful.
+     * @return         @c true if the call service is available, @n
+     *                 else @c false
+     * @exception      E_SUCCESS                       The method is successful.
      * @exception      E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
      * @remarks                The specific error code can be accessed using the GetLastResult() method.
      */
        bool IsCallServiceAvailable(void) const;
 
        /**
-     * Checks whether data service is available or not.
+     * Checks whether the data service is available or not.
      *
      * @since  2.0
         *
@@ -157,8 +158,8 @@ public:
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
      *
-     * @return @c true if data service is available, @n
-     *          else @c false
+     * @return         @c true if the data service is available, @n
+     *                 else @c false
      * @exception      E_SUCCESS       The method is successful.
      * @exception      E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
      * @remarks                The specific error code can be accessed using the GetLastResult() method.
index 0d9e3a8..e5ba443 100755 (executable)
@@ -35,13 +35,13 @@ class _SimInfoImpl;
 
 /**
  * @class      SimInfo
- * @brief      This class provides information of the currently inserted SIM card.
+ * @brief      This class provides the information of a currently inserted SIM card.
  * @since      2.0
  *
- * The %SimInfo class provides methods to get information from the SIM card such as MCC, MNC, SPN, ICC ID, the name of operator,
+ * The %SimInfo class provides methods to obtain SIM card information, such as the MCC, the MNC, the SPN, the ICC ID, the name of the operator,
  * and whether the SIM card is available or not.
  *
- * The following example demonstrates how to use the %SimInfo class to get the SIM information.
+ * The following example demonstrates how to use the %SimInfo class to obtain the SIM information.
  *
  * @code
  *
@@ -116,7 +116,7 @@ public:
         *
         * @since       2.1
         *
-        * @param[in]   rhs   An instance of %SimInfo
+        * @param[in]   rhs   An instance of %SimInfo to copy
         */
        SimInfo(const SimInfo& rhs);
 
@@ -130,26 +130,25 @@ public:
        /**
         * Initializes this instance of %SimInfo.
         *
-        * @brief   <i> [Deprecated] </i>
+        * @brief       <i> [Deprecated] </i>
         * @deprecated  This method is deprecated. Instead of using this method, it is recommended to use the SimStateManager::GetSimInfo() method to get the initialized %SimInfo instance.
         *
         * @since               2.0
-        * @feature %http://tizen.org/feature/network.telephony
+        * @feature     %http://tizen.org/feature/network.telephony
         * @return              An error code
-        * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_SYSTEM        The method cannot proceed due to a severe system error.
-        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed due to a missing SIM card.
+        * @exception   E_SUCCESS                               The method is successful.
+        * @exception   E_SYSTEM                                The method cannot proceed due to a severe system error.
+        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed because the SIM card is not ready.
         * @exception   E_UNSUPPORTED_OPERATION  The Emulator or target device does not support the required feature. @b Since: @b 2.1
         *                                                                               For more information, see <a href="../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm">Application Filtering</a>.
-        * @remarks     Before calling this method, check whether the feature is supported by 
-        *                      Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
+        * @remarks     Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
         */
        result Construct(void);
 
        /**
         * Gets the Mobile Network Code (MNC) of the SIM International Mobile Subscriber Identity (IMSI) information.
         *
-        * @since       2.0
+        * @since               2.0
         *
         * @privlevel   public
      * @privilege   %http://tizen.org/privilege/telephony @n
@@ -157,9 +156,9 @@ public:
         *
         * @return      The MNC of the SIM card, @n
         *              else @c -1 if the method fails
-        * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed due to a missing SIM card.
-        * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
+        * @exception   E_SUCCESS                               The method is successful.
+        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed because the SIM card is missing.
+        * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        int GetMnc(void) const;
@@ -175,9 +174,9 @@ public:
         *
         * @return      The MCC of the SIM card, @n
         *              else @c -1 if the method fails
-        * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed due to a missing SIM card.
-        * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
+        * @exception   E_SUCCESS                               The method is successful.
+        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed because the SIM card is missing.
+        * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        int GetMcc(void) const;
@@ -185,24 +184,24 @@ public:
        /**
         * Gets the Service Provider Name (SPN) string of the SIM card.
         *
-        * @since       2.0
+        * @since               2.0
         *
         * @privlevel   public
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
         *
         * @return      The SPN of the SIM card, @n
-        *              else an empty string if there is no SIM card in the device, or if an SPN is not assigned to the SIM card
-        * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed due to a missing SIM card.
-        * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
+        *              else an empty string if there is no SIM card in the device, or the SPN is not assigned to the SIM card
+        * @exception   E_SUCCESS                               The method is successful.
+        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed because the SIM card is missing.
+        * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        Tizen::Base::String GetSpn(void) const;
 
        /**
         * Gets the Integrated Circuit Card Identifier (ICCID) of the SIM card. @n
-        * One useful case to detect the change of SIM cards is to store this value and compare it with the most recent value.
+        * One useful way to detect the change of SIM cards is to store this value and compare it with the most recent value.
         * The %GetIccId() method provides a unique identification number for the SIM card.
         *
         * @since       2.0
@@ -211,50 +210,51 @@ public:
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
         *
-        * @return  The ICCID of the SIM card, @n
-        *          else an empty string if the method fails
-        * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed due to a missing SIM card.
-        * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
+        * @return      The ICCID of the SIM card, @n
+        *              else an empty string if the method fails
+        * @exception   E_SUCCESS                               The method is successful.
+        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed because the SIM card is missing.
+        * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        Tizen::Base::String GetIccId(void) const;
 
     /**
-        * Gets the operator name of Common PCN Handset Specification (CPHS) of the SIM card.
+        * Gets the operator name of the Common PCN Handset Specification (CPHS) of the SIM card.
         *
-        * @since       2.0
+        * @since               2.0
         *
         * @privlevel   public
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
         *
         * @return      The operator name of the SIM card, @n
-        *              else an empty string if there is no SIM card in the device, or if an operator name is not assigned to the SIM card
-        * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed due to a missing SIM card.
-        * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
-        * @remarks If this method has failed, then this method returns an empty string.
-        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        *              else an empty string if there is no SIM card in the device, or the operator name is not assigned to the SIM card
+        * @exception   E_SUCCESS                               The method is successful.
+        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed because the SIM card is missing.
+        * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
+        * @remarks     
+        *                              - If this method fails, then an empty string is returned.
+        *                              - The specific error code can be accessed using the GetLastResult() method.
         */
        Tizen::Base::String GetOperatorName(void) const;
 
        /**
         * Gets the phone number of the SIM card.
         *
-        * @since       2.0
+        * @since               2.0
         *
         * @privlevel   public
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
         *
         * @return      The phone number of the SIM card, @n
-        *              else an empty string if there is no SIM card in the device, or if a Mobile Station International Subscriber Directory Number
+        *              else an empty string if there is no SIM card in the device, or the Mobile Station International Subscriber Directory Number
         *              (MSISDN) is not assigned to the SIM card
-        * @exception   E_SUCCESS    The method is successful.
-        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed due to a missing SIM card.
-        * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
-        * @exception   E_SYSTEM        The method cannot proceed due to a severe system error.
+        * @exception   E_SUCCESS                       The method is successful.
+        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed because the SIM card is missing
+        * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
+        * @exception   E_SYSTEM                                The method cannot proceed due to a severe system error.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        Tizen::Base::String GetPhoneNumber(void) const;
@@ -262,7 +262,7 @@ public:
        /**
         * Gets the International Mobile Subscriber Identity (IMSI) of the SIM card.
         *
-        * @since       2.0
+        * @since               2.0
         *
         * @privlevel  partner
      * @privilege   %http://tizen.org/privilege/systemmanager @n
@@ -270,34 +270,34 @@ public:
         *
         * @return      The IMSI of the SIM card, @n
         *              else an empty string if the method fails
-        * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed due to a missing SIM card.
-        * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
-        * @exception   E_SYSTEM        The method cannot proceed due to a severe system error.
+        * @exception   E_SUCCESS                               The method is successful.
+        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed because the SIM card is missing
+        * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
+        * @exception   E_SYSTEM                                The method cannot proceed due to a severe system error.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        Tizen::Base::String GetImsi(void) const;
 
        /**
-        * Gets the type of SIM card.
+        * Gets the SIM card type.
         *
         * @since       2.1
         *
         * @privlevel   public
         * @privilege   %http://tizen.org/privilege/telephony
         *
-        * @return              The type of SIM card
+        * @return              The SIM card type
         *
-        * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed due to a missing SIM card.
-        * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
-        * @exception   E_SYSTEM        The method cannot proceed due to a severe system error.
+        * @exception   E_SUCCESS                               The method is successful.
+        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed because the SIM card is missing
+        * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
+        * @exception   E_SYSTEM                                The method cannot proceed due to a severe system error.
         * @remarks             The specified error code can be accessed using the GetLastResult() method.
         */
        SimType GetSimType(void) const;
 
        /**
-        * Checks whether a SIM card is present in the device or not.
+        * Checks whether the SIM card is present in the device or not.
         *
         * @since       2.0
         *
@@ -305,9 +305,9 @@ public:
      * @privilege   %http://tizen.org/privilege/telephony @n
      *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
         *
-        * @return  @c true if the SIM card is present in the device, @n
-        *          else @c false
-        * @exception   E_SUCCESS       The method is successful.
+        * @return      @c true if the SIM card is present in the device, @n
+        *              else @c false
+        * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
@@ -318,18 +318,18 @@ public:
         *
         * @since               2.1
         *
-        * @param[in]   rhs An instance of %SimInfo
+        * @param[in]   rhs An instance of %SimInfo to copy
         */
        SimInfo& operator =(const SimInfo& rhs);
 
        /**
-        * Compares the specified instance of %SimInfo with the calling instance.
+        * Compares the specified instance of %SimInfo with the current instance.
         *
         * @since               2.0
         *
         * @return              @c true if the values match, @n
         *                              else @c false
-        * @param[in]   rhs     The other Tizen::Base::Object to compare
+        * @param[in]   rhs     The Tizen::Base::Object to compare
         * @see                 Tizen::Base::Object::Equals()
         */
        virtual bool Equals(const Tizen::Base::Object& rhs) const;
index 1b41b91..e653a95 100755 (executable)
@@ -37,10 +37,10 @@ class _SimStateManagerImpl;
 
 /**
  * @class      SimStateManager
- * @brief      This class provides methods to obtain information and events about the SIM card.
+ * @brief      This class provides methods to obtain the information and events of the SIM card.
  * @since      2.1
  *
- * The %SimStateManager class provides methods to obtain information and events about the SIM card.
+ * The %SimStateManager class provides methods to obtain the information and events of the SIM card.
  *
  * @code
  *
@@ -110,7 +110,8 @@ class _OSP_EXPORT_ SimStateManager
 {
 public:
        /**
-        * The object is not fully constructed after this constructor is called. For full construction, the Construct() method must be called right after calling this constructor.
+        * The object is not fully constructed after this constructor is called. 
+        * For full construction, the Construct() method must be called right after calling this constructor.
         *
         * @since       2.1
         */
@@ -126,21 +127,20 @@ public:
        /**
         * Initializes this instance of %SimStateManager.
         *
-        * @since       2.1
-        * @feature %http://tizen.org/feature/network.telephony
-        * @return      An error code
+        * @since               2.1
+        * @feature     %http://tizen.org/feature/network.telephony
+        * @return              An error code
         *
-        * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_SYSTEM                                The method cannot proceed due to a severe system error.
+        * @exception   E_SUCCESS                                The method is successful.
+        * @exception   E_SYSTEM                                 The method cannot proceed due to a severe system error.
         * @exception   E_UNSUPPORTED_OPERATION  The Emulator or target device does not support the required feature.
         *                                                                               For more information, see <a href="../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm">Application Filtering</a>.
-        * @remarks     Before calling this method, check whether the feature is supported by 
-        *                      Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
+        * @remarks     Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
         */
        result Construct(void);
 
        /**
-        * Sets the listener for receiving SIM-related events.
+        * Sets the listener used to receive SIM-related events.
         *
         * @since   2.1
         *
@@ -150,7 +150,7 @@ public:
         * @return  An error code
         *
         * @param[in]   pListener                               An ITelephonySimEventListener instance @n
-        *                                                                              The parameter can be set to @c null to remove listener.
+        *                                                                              The parameter can be set to @c null to remove the listener.
         *
         * @exception   E_SUCCESS                               The method is successful.
         * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
@@ -172,24 +172,24 @@ public:
         *
         * @param[in]   pListener                               An ISimStateManagerGetPinLockSettingResultListener instance
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_INVALID_ARG                   The specified @c pListener must not be @c null.
+        * @exception   E_INVALID_ARG                   The specified @c pListener is @c null.
         * @exception   E_IN_PROGRESS                   The previous request is in progress.
         * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
-        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed due to a missing SIM card.
+        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed because the SIM card is missing
         * @exception   E_SYSTEM                The method cannot proceed due to a severe system error.
         * @see ISimStateManagerGetPinLockSettingResultListener::OnSimStateManagerGetPinLockSettingResultReceived()
         */
        result GetPinLockSetting(ISimStateManagerGetPinLockSettingResultListener* pListener);
 
        /**
-        * Gets the current state of SIM card.
+        * Gets the current state of the SIM card.
         *
-        * @since   2.1
+        * @since       2.1
         *
         * @privlevel   public
         * @privilege   %http://tizen.org/privilege/telephony
         *
-        * @return      The state of SIM card, @n
+        * @return      The state of the SIM card, @n
         *                              else @c SIM_STATE_UNKNOWN if the method fails
         *
         * @exception   E_SUCCESS                               The method is successful.
@@ -205,12 +205,12 @@ public:
         * @privlevel   public
         * @privilege   %http://tizen.org/privilege/telephony
         *
-        * @return  An error code
+        * @return      An error code
         *
         * @param[out]  simInfo                                 The SIM card information
         * @exception   E_SUCCESS                               The method is successful.
         * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
-        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed due to a missing SIM card.
+        * @exception   E_DEVICE_UNAVAILABLE    The operation has failed because the SIM card is not ready.
         */
        result GetSimInfo(SimInfo& simInfo) const;
 
index d99ad7f..98071e1 100755 (executable)
@@ -16,9 +16,9 @@
 //
 /**
  * @file    FTelTypes.h
- * @brief   This is the header file for the enumerations of the Telephony namespace.
+ * @brief   This is the header file for the enumerations of the %Telephony namespace.
  *
- * This header file contains the definitions of the enumerations of the Telephony namespace.
+ * This header file contains the declarations of the enumerations of the Telephony namespace.
  */
 #ifndef _FTEL_ENUM_H_
 #define _FTEL_ENUM_H_
@@ -28,7 +28,7 @@ namespace Tizen { namespace Telephony
 /**
  * @enum    CallType
  *
- * Defines the type of the current call.
+ * Defines the current call type.
  *
  * @since   2.0
  */
@@ -42,7 +42,7 @@ enum CallType
 /**
  * @enum    CallStatus
  *
- * Defines the current status of calls.
+ * Defines the current call status.
  *
  * @since   2.0
  */
@@ -50,17 +50,17 @@ enum CallStatus
 {
        CALL_STATUS_UNDEFINED = -1, /**< No defined type */
        CALL_STATUS_IDLE = 0,       /**< No call is in progress */
-       CALL_STATUS_ACTIVE,         /**< @if OSPDEPREC @deprecated This enum value is deprecated because an active status is divided into three, that is, communicating, ringing, dialing, and holding @endif */
-       CALL_STATUS_COMMUNICATING,  /**< Voice or video calls are in progress */
+       CALL_STATUS_ACTIVE,         /**< @if OSPDEPREC @deprecated This enum value is deprecated because an active status is divided into four types, that is, communicating, ringing, dialing, and holding @endif */
+       CALL_STATUS_COMMUNICATING,  /**< A voice or video call is in progress */
        CALL_STATUS_RINGING,        /**< An incoming voice or video call */
        CALL_STATUS_DIALING,        /**< An outgoing voice or video call */
-       CALL_STATUS_HOLDING         /**< A call on holding status */
+       CALL_STATUS_HOLDING         /**< A call in the holding status */
 };
 
 /**
  * @enum       SimType
  *
- * Defines the type of the SIM card.
+ * Defines the SIM card type.
  *
  * @since      2.1
  */
@@ -76,7 +76,7 @@ enum SimType
 /**
  * @enum       SimState
  *
- * Defines the current state of the SIM card.
+ * Defines the current SIM card state.
  *
  * @since      2.1
  */
@@ -84,10 +84,10 @@ enum SimState
 {
        SIM_STATE_UNKNOWN,                      /**< Unknown state */
        SIM_STATE_ABSENT,                       /**< SIM is not present */
-       SIM_STATE_INITIALIZING,         /**< SIM is in initializing state */
-       SIM_STATE_READY,                        /**< SIM is in ready state */
-       SIM_STATE_PIN_REQUIRED,         /**< PIN required */
-       SIM_STATE_PUK_REQUIRED,         /**< PUK required */
+       SIM_STATE_INITIALIZING,         /**< SIM is in the initializing state */
+       SIM_STATE_READY,                        /**< SIM is in the ready state */
+       SIM_STATE_PIN_REQUIRED,         /**< PIN is required */
+       SIM_STATE_PUK_REQUIRED,         /**< PUK is required */
        SIM_STATE_NETWORK_LOCKED,       /**< Network locked state */
        SIM_STATE_SIM_LOCKED            /**< PH-SIM (phone-SIM) locked state */
 };
old mode 100644 (file)
new mode 100755 (executable)
index fb9b358..28ac674
 
 /**
  * @namespace   Tizen::Telephony
- * @brief       This namespace contains classes and interfaces of the %Telephony service.
+ * @brief       This namespace contains classes and interfaces for the %Telephony service.
  * @since       2.0
  *
  * @remarks     @b Header @b %file: @b \#include @b <FTelephony.h> @n
- *              @b Library : @b osp-telephony
+ *              @b Library: @b osp-telephony @n
  *
- * The %Telephony namespace is one of the main namespaces of the Tizen framework.
- * It provides classes and methods that enable an application to
- * access the telephony capabilities of the device, such as call facility (call information and status),
- * network query services, and SIM module.
+ * The %Telephony namespace contains classes and methods that enable an application to
+ * access the telephony capabilities of the device, such as the call facility (call information and status),
+ * the network query services, and the SIM module.
  *
  * For more information on the %Telephony namespace features, see <a href="../org.tizen.native.appprogramming/html/guide/telephony/telephony.htm">Telephony Guide</a>.
  *
old mode 100644 (file)
new mode 100755 (executable)
index cf3f6b2..7400b1f
@@ -19,6 +19,7 @@
  * @brief       This is the implementation file for CallInfo class.
  */
 
+
 #include <FTelCallInfo.h>
 #include <FBaseSysLog.h>
 #include "FTel_CallInfoImpl.h"
old mode 100644 (file)
new mode 100755 (executable)
index 606775e..0f4e27c
@@ -314,14 +314,18 @@ _CallManagerImpl::OnCallStatusChangedCallback(TapiHandle* pHandle, const char* p
        CallType callType = TYPE_UNDEFINED_CALL;
        String phoneNumber;
        int callId = 0;
+       int err = 0;
        _CallManagerImpl* pCallManagerImpl = static_cast <_CallManagerImpl*>(pUserData);
+       pCallManagerImpl->__curCallState = CALL_STATUS_IDLE;
 
        if (strcmp(pNotiId, TAPI_NOTI_VOICE_CALL_STATUS_IDLE) == 0
             || strcmp(pNotiId,TAPI_NOTI_VIDEO_CALL_STATUS_IDLE) == 0)
        {
            TelCallStatusIdleNoti_t* pNotiData = (TelCallStatusIdleNoti_t*)pData;
            callId = pNotiData->id;
-           pCallManagerImpl->__curCallState = CALL_STATUS_IDLE;
+
+               err = tel_get_call_status_all(pHandle, OnCallStatusCallback, pCallManagerImpl);
+           SysLog(NID_TEL, "The tel_get_call_status_all() returned %d value", err);
        }
        else
        {
@@ -359,7 +363,7 @@ _CallManagerImpl::OnCallStatusChangedCallback(TapiHandle* pHandle, const char* p
                callId = pNotiData->id;
            }
 
-           int err = tel_get_call_status_all(pHandle, OnCallStatusCallback, pCallManagerImpl);
+           err = tel_get_call_status_all(pHandle, OnCallStatusCallback, pCallManagerImpl);
            SysLog(NID_TEL, "The tel_get_call_status_all() returned %d value", err);
 
            phoneNumber = pCallManagerImpl->GetPhoneNumber(pHandle, callId);
@@ -409,7 +413,7 @@ _CallManagerImpl::OnTelephonyCallForwardNumberReceived(Tizen::Base::String phone
 
 void
 _CallManagerImpl::OnTelephonyCallForwardResponseReceived(Tizen::Base::String phoneNumber, result r)
-{      
+{
        SysLog(NID_TEL, "The listener has called with result %s and phonenumber is %ls", GetErrorMessage(r), phoneNumber.GetPointer());
 
     _CallForwardEventArg* pEventArg = new (std::nothrow)_CallForwardEventArg(_CALL_FORWARD_EVENT_RESPONSE_RECEIVED, phoneNumber, r);
@@ -449,36 +453,53 @@ _CallManagerImpl::OnTelephonyCallForwardStopped(Tizen::Base::String phoneNumber,
     }
 }
 
+
 void
 _CallManagerImpl::OnCallStatusCallback(TelCallStatus_t* status, void* pUserData)
 {
        _CallManagerImpl* pImpl = static_cast<_CallManagerImpl*>(pUserData);
 
-    // Priority : Ringing/Dialing > Communicating > Hold
-       // ToDO : multi party call scenario 
+       CallStatus tempCallStatus = CALL_STATUS_IDLE;
 
        switch (status->CallState)
        {
        case TAPI_CALL_STATE_IDLE:
-           pImpl->__curCallState = CALL_STATUS_IDLE;
+           tempCallStatus = CALL_STATUS_IDLE;
            break;
        case TAPI_CALL_STATE_ACTIVE:
-               pImpl->__curCallState = CALL_STATUS_COMMUNICATING;
+               tempCallStatus = CALL_STATUS_COMMUNICATING;
                break;
        case TAPI_CALL_STATE_HELD:
-           pImpl->__curCallState = CALL_STATUS_HOLDING;
+           tempCallStatus = CALL_STATUS_HOLDING;
            break;
        case TAPI_CALL_STATE_INCOMING:
-           pImpl->__curCallState = CALL_STATUS_RINGING;
+           tempCallStatus = CALL_STATUS_RINGING;
            break;
        case TAPI_CALL_STATE_DIALING:
        case TAPI_CALL_STATE_ALERT:
-           pImpl->__curCallState = CALL_STATUS_DIALING;
+           tempCallStatus = CALL_STATUS_DIALING;
            break;
        default:
            break;
        }
 
+       if (tempCallStatus == CALL_STATUS_RINGING)
+       {
+               pImpl->__curCallState = CALL_STATUS_RINGING;
+       }
+       else if ((tempCallStatus == CALL_STATUS_DIALING) && (pImpl->__curCallState != CALL_STATUS_RINGING))
+       {
+               pImpl->__curCallState = CALL_STATUS_DIALING;
+       }
+       else if ((tempCallStatus == CALL_STATUS_COMMUNICATING) && (pImpl->__curCallState != CALL_STATUS_RINGING) && (pImpl->__curCallState != CALL_STATUS_DIALING))
+       {
+               pImpl->__curCallState = CALL_STATUS_COMMUNICATING;
+       }
+       else if ((tempCallStatus == CALL_STATUS_HOLDING) && (pImpl->__curCallState != CALL_STATUS_RINGING) && (pImpl->__curCallState != CALL_STATUS_DIALING) && (pImpl->__curCallState != CALL_STATUS_COMMUNICATING))
+       {
+               pImpl->__curCallState = CALL_STATUS_HOLDING;
+       }
+
        return;
 }
 
@@ -533,6 +554,7 @@ _CallManagerImpl::InitializeInternalCallStatus(void)
        int err = TAPI_API_SUCCESS;
        result r = E_SUCCESS;
 
+       __curCallState = CALL_STATUS_IDLE;
        err = tel_get_call_status_all(__pHandle, OnCallStatusCallback, this);
        SysLog(NID_TEL, "The tel_get_call_status_all() returned %d value", err);
 
old mode 100644 (file)
new mode 100755 (executable)
index e342936..e0d4c2c
@@ -34,9 +34,15 @@ _NetworkManagerEventArg::_NetworkManagerEventArg(void)
 
 _NetworkManagerEventArg::_NetworkManagerEventArg(const NetworkStatus& networkstatus)
 {
-    _NetworkStatusImpl::GetInstance(__networkStatus)->SetIsCallServiceAvailable(networkstatus.IsCallServiceAvailable());
-    _NetworkStatusImpl::GetInstance(__networkStatus)->SetIsDataServiceAvailable(networkstatus.IsDataServiceAvailable());
-    _NetworkStatusImpl::GetInstance(__networkStatus)->SetIsRoaming(networkstatus.IsRoaming());
+       _NetworkStatusImpl* pThis = _NetworkStatusImpl::GetInstance(__networkStatus);
+       const _NetworkStatusImpl* pOther = _NetworkStatusImpl::GetInstance(networkstatus);
+
+       if ((pThis != null) && (pOther != null))
+       {
+               pThis->SetIsCallServiceAvailable(pOther->IsCallServiceAvailable());
+               pThis->SetIsDataServiceAvailable(pOther->IsDataServiceAvailable());
+               pThis->SetIsRoaming(pOther->IsRoaming());
+       }
 }
 
 const NetworkStatus&
index f906bfc..7a4ffdd 100755 (executable)
@@ -20,7 +20,9 @@
  */
 
 #include <stdlib.h>
+#include <net_connection.h>
 #include <telephony_network.h>
+#include <telephony_network_type.h>
 #include <FTelITelephonyNetworkEventListener.h>
 #include <FTelITelephonyNetworkSettingListener.h>
 #include <FTelNetworkInfo.h>
@@ -52,36 +54,31 @@ namespace Tizen { namespace Telephony
 {
 
 _NetworkManagerImpl::_NetworkManagerImpl(void)
-       : __pConnectionHandle(null)
-    , __pNetworkManagerEvent(null)
+    : __pNetworkManagerEvent(null)
     , __pNetworkSettingEvent(null)
     , __pTelephonyServiceProxy(null)
     , __pSettingListener(null)
-       , __isCallServiceAvailable(false)
-       , __isDataServiceAvailable(false)
-       , __isRoaming(false)
+       , __isEventAdded(false)
 {
 }
 
 _NetworkManagerImpl::~_NetworkManagerImpl(void)
 {
-    if (__pNetworkManagerEvent != null)
+    if ((__pNetworkManagerEvent != null) && __isEventAdded && (__pTelephonyServiceProxy != null))
     {
-        network_info_unset_service_state_changed_cb();
-        network_info_unset_roaming_state_changed_cb();
-        connection_unset_type_changed_cb(__pConnectionHandle.get());
+               __pTelephonyServiceProxy->RemoveNetworkEvent(__pNetworkManagerEvent.get());
     }
 }
 
 result
 _NetworkManagerImpl::Construct(ITelephonyNetworkEventListener* pListener)
 {
-    connection_h pConnHandle = null;
-    int err = connection_create(&pConnHandle);
-    SysLog(NID_TEL, "The return value of connection_create() is %d", err);
-    SysTryReturnResult(NID_TEL, err == CONNECTION_ERROR_NONE, E_SYSTEM, "A system error has occurred. Failed to get the connection handle.");
+       __pTelephonyServiceProxy = _TelephonyIpcProxy::GetInstance();
 
-    std::unique_ptr<void, _ConnectionDeleter> pConnectionHandle(pConnHandle);
+    if (__pTelephonyServiceProxy == null)
+    {
+        SysLog(NID_TEL, "Creating an IPC instance to connect with the Connectivity service daemon has failed.");
+    }
 
     if (pListener != null)
     {
@@ -92,95 +89,43 @@ _NetworkManagerImpl::Construct(ITelephonyNetworkEventListener* pListener)
         SysTryReturnResult(NID_TEL,  r != E_OUT_OF_MEMORY, r, "Propagating.");
         SysTryReturnResult(NID_TEL,  r == E_SUCCESS, E_SYSTEM, "A system error has occurred. Failed to construct of the _NetworkManagerEvent.");
 
-        // Register data service state changed event
-           err = connection_set_type_changed_cb(pConnectionHandle.get(),(connection_type_changed_cb)_NetworkManagerImpl::OnDataServiceStateChangedCallback, this);
-               SysLog(NID_TEL, "The return value of connection_set_type_changed_cb() is 0x%x", err);
-        SysTryReturnResult(NID_TEL, err == CONNECTION_ERROR_NONE, E_SYSTEM, "A system error has occurred. Failed to register the callback function to received the data service state changed event.");
-
-        // Register call service state changed event
-               err = network_info_set_service_state_changed_cb((network_info_service_state_changed_cb) _NetworkManagerImpl::OnCallServiceStateChangedCallback, this);
-               SysLog(NID_TEL, "The return value of network_info_set_service_state_changed_cb() is 0x%x", err);
-               if (err != NETWORK_INFO_ERROR_NONE)
-               {
-                       SysLogException(NID_TEL, E_SYSTEM, "[E_SYSTEM] A system error has occurred. Failed to register the callback function to received the call service state changed event.");
-               connection_unset_type_changed_cb(pConnectionHandle.get());
-
-               return E_SYSTEM;
-               }
-
-        // Register roaming state changed event
-           err = network_info_set_roaming_state_changed_cb((network_info_roaming_state_changed_cb)_NetworkManagerImpl::OnRoamingStateChangedCallback, this);
-               SysLog(NID_TEL, "The return value of network_info_set_roaming_state_changed_cb() is 0x%x", err);
-               if (err != NETWORK_INFO_ERROR_NONE)
-               {
-                       SysLogException(NID_TEL, E_SYSTEM, "[E_SYSTEM] A system error has occurred. Failed to register the callback function to received the roaming state changed event.");
-               connection_unset_type_changed_cb(pConnectionHandle.get());
-               network_info_unset_service_state_changed_cb();
-
-               return E_SYSTEM;
-               }
+        SysTryReturnResult(NID_TEL,  __pTelephonyServiceProxy != null, E_SYSTEM, "Failed to initialize the telephony ipc client.");
+        r = __pTelephonyServiceProxy->AddNetworkEvent(pNetworkManagerEvent.get());
+        SysTryReturnResult(NID_TEL,  r == E_SUCCESS, r, "Propagating.");
+
+        __isEventAdded = true;
 
         pNetworkManagerEvent->AddListener(*pListener, true);
 
         __pNetworkManagerEvent = move(pNetworkManagerEvent);
-
     }
 
-    __pTelephonyServiceProxy = _TelephonyIpcProxy::GetInstance();
-
-    if (__pTelephonyServiceProxy == null)
-    {
-        SysLog(NID_TEL, "Creating an IPC instance to connect with the Connectivity service daemon has failed.");
-    }
-
-    __pConnectionHandle = move(pConnectionHandle);
-
-    __isCallServiceAvailable = IsServiceAvailable();
-    __isDataServiceAvailable = IsDataAvailable();
-    __isRoaming = IsRoaming();
-
     return E_SUCCESS;
 }
 
 result
 _NetworkManagerImpl::GetNetworkStatus(NetworkStatus& networkStatus) const
 {
-    int err = NETWORK_INFO_ERROR_NONE;
     bool isRoaming = false;
     bool isDataServiceAvailable = false;
     bool isCallServiceAvailable = false;
-    connection_cellular_state_e dataServiceState = CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE;
 
     SysTryReturnResult(NID_TEL, IsNetworkAvailable(), E_NETWORK_UNAVAILABLE, "The operation has failed because the device is in the offline mode.");
 
     // Get the isRoming
-    err = network_info_is_roaming(&isRoaming);
-    SysLog(NID_TEL, "The return value of network_info_is_roaming() is 0x%x and the roming state is %s", err, isRoaming ? "True" : "False");
+    isRoaming = IsRoaming();
 
-       SysTryReturnResult(NID_TEL, err != NETWORK_INFO_ERROR_OUT_OF_SERVICE, E_SERVICE_UNAVAILABLE, "The operation failed because the device is out of the coverage area or in the emergency mode.");
-       SysTryReturnResult(NID_TEL, err == NETWORK_INFO_ERROR_NONE, E_SYSTEM, "A system error has occurred. Failed to get the roaming status.")
    // Get the isCallServiceAvailable
        SysTryReturnResult(NID_TEL, IsServiceAvailable(), E_SERVICE_UNAVAILABLE, "The operation failed because the device is out of the coverage area or in the emergency mode.")
        isCallServiceAvailable = true;
 
-       // Get the isDataServiceAvailable
-    err = connection_get_cellular_state(__pConnectionHandle.get(), &dataServiceState);
-       
-    SysLog(NID_TEL, "The return value of connection_get_cellular_state() is 0x%x and the dataServiceState is %d", err, dataServiceState);
-    SysTryReturnResult(NID_TEL, err == CONNECTION_ERROR_NONE, E_SYSTEM, "A system error has occurred. Failed to get the data service status.");
-
-    if (dataServiceState == CONNECTION_CELLULAR_STATE_AVAILABLE || dataServiceState == CONNECTION_CELLULAR_STATE_CONNECTED)
-    {
-        isDataServiceAvailable = true;
-    }
+       isDataServiceAvailable = IsDataAvailable();
 
     _NetworkStatusImpl::GetInstance(networkStatus)->SetIsRoaming(isRoaming);
     _NetworkStatusImpl::GetInstance(networkStatus)->SetIsCallServiceAvailable(isCallServiceAvailable);
     _NetworkStatusImpl::GetInstance(networkStatus)->SetIsDataServiceAvailable(isDataServiceAvailable);
 
        return E_SUCCESS;
-
 }
 
 result
@@ -355,93 +300,18 @@ _NetworkManagerImpl::SearchNetwork(void)
     return r;
 }
 
-void
-_NetworkManagerImpl::OnRoamingStateChangedCallback(bool isRoaming, void* pUserData)
-{
-       SysLog(NID_TEL, "The callback has called and the roaming state is %s", isRoaming ? "True" : "False");
-    _NetworkManagerImpl* pNetworkManagerImpl = static_cast <_NetworkManagerImpl*>(pUserData);
-
-    pNetworkManagerImpl->OnTelephonyNetworkStatusChanged();
-
-    return;
-}
-
-void
-_NetworkManagerImpl::OnCallServiceStateChangedCallback(network_info_service_state_e serviceState, void* pUserData)
-{
-    SysLog(NID_TEL, "The callback has called and the service state is %d", serviceState);
-
-    _NetworkManagerImpl* pNetworkManagerImpl = static_cast <_NetworkManagerImpl*>(pUserData);
-
-    pNetworkManagerImpl->OnTelephonyNetworkStatusChanged();
-
-    return;
-}
-
-void
-_NetworkManagerImpl::OnDataServiceStateChangedCallback(connection_type_e type, void* pUserData)
-{
-    SysLog(NID_TEL, "The callback has called and the connection state is %d", type);
-
-    _NetworkManagerImpl* pNetworkManagerImpl = static_cast <_NetworkManagerImpl*>(pUserData);
-
-    pNetworkManagerImpl->OnTelephonyNetworkStatusChanged();
-
-    return;
-}
-
-void
-_NetworkManagerImpl::OnTelephonyNetworkStatusChanged(void)
-{
-       bool isCallServiceAvailable = false;
-       bool isDataServiceAvailable = false;
-       bool isRoaming = false;
-
-    NetworkStatus networkStatus;
-
-    isCallServiceAvailable = IsServiceAvailable();
-    if (isCallServiceAvailable)
-    {
-       isDataServiceAvailable = IsDataAvailable();
-    }
-    else
-    {
-       isDataServiceAvailable = false;
-    }
-    isRoaming = IsRoaming();
-
-    SysLog(NID_TEL, "The network status Call[%d]->[%d] Data[%d]->[%d] Roaming[%d]->[%d]",
-               __isCallServiceAvailable, isCallServiceAvailable, __isDataServiceAvailable,
-               isDataServiceAvailable, __isRoaming, isRoaming);
-
-    if ((__isCallServiceAvailable == isCallServiceAvailable) &&
-       (__isDataServiceAvailable == isDataServiceAvailable) &&
-       (__isRoaming == isRoaming))
-    {
-       return;
-    }
-
-    __isCallServiceAvailable = isCallServiceAvailable;
-    __isDataServiceAvailable = isDataServiceAvailable;
-    __isRoaming = isRoaming;
-
-    _NetworkStatusImpl::GetInstance(networkStatus)->SetIsCallServiceAvailable(isCallServiceAvailable);
-    _NetworkStatusImpl::GetInstance(networkStatus)->SetIsDataServiceAvailable(isDataServiceAvailable);
-    _NetworkStatusImpl::GetInstance(networkStatus)->SetIsRoaming(isRoaming);
-
-    _NetworkManagerEventArg* pEventArg = new (std::nothrow)_NetworkManagerEventArg(networkStatus);
-    SysTryReturnVoidResult(NID_TEL, pEventArg != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
-    (void)__pNetworkManagerEvent->Fire(*pEventArg);
-}
-
 bool
-_NetworkManagerImpl::IsDataAvailable(void)
+_NetworkManagerImpl::IsDataAvailable(void) const
 {
-    int err = NETWORK_INFO_ERROR_NONE;
+    connection_h pConnHandle = null;
     connection_cellular_state_e dataServiceState = CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE;
     bool isDataAvailable = false;
+    int err = connection_create(&pConnHandle);
+    SysLog(NID_TEL, "The return value of connection_create() is %d", err);
+    SysTryReturn(NID_TEL, err == CONNECTION_ERROR_NONE, false, E_SYSTEM, "[E_SYSTEM] A system error has occurred. Failed to get the connection handle.");
+    std::unique_ptr<void, _ConnectionDeleter> pConnectionHandle(pConnHandle);
 
-    err = connection_get_cellular_state(__pConnectionHandle.get(), &dataServiceState);
+    err = connection_get_cellular_state(pConnHandle, &dataServiceState);
 
     SysLog(NID_TEL, "The return value of connection_get_cellular_state() is 0x%x and the dataServiceState is %d", err, dataServiceState);
 
@@ -458,7 +328,7 @@ _NetworkManagerImpl::IsDataAvailable(void)
 }
 
 bool
-_NetworkManagerImpl::IsRoaming(void)
+_NetworkManagerImpl::IsRoaming(void) const
 {
     int err = NETWORK_INFO_ERROR_NONE;
     bool isRoaming = false;
@@ -509,18 +379,6 @@ _NetworkManagerImpl::IsNetworkAvailable(void)
     return !isFlightModeEnabled;
 }
 
-//const char*
-//_NetworkManagerImpl::GetStringOfNetworkEventType(_NetworkEventType type) const
-//{
-//    static const char* pStateStr[] =
-//    {
-//        "CallServiceAvailable",
-//        "DataServiceAvailable ",
-//        "Roaming"
-//    };
-//    return pStateStr[type];
-//}
-
 _NetworkManagerImpl*
 _NetworkManagerImpl::GetInstance(NetworkManager& networkManager)
 {
old mode 100644 (file)
new mode 100755 (executable)
index 2cd490c..ff0144b
@@ -24,8 +24,6 @@
 #define _FTEL_INTERNAL_NETWORK_MANAGER_IMPL_H_
 
 #include <unique_ptr.h>
-#include <net_connection.h>
-#include <telephony_network_type.h>
 #include <FBaseObject.h>
 #include "FTel_TelephonyUtility.h"
 
@@ -118,12 +116,12 @@ public:
     /**
      * Checks the network state of the data network service.
      */
-       bool IsDataAvailable(void);
+       bool IsDataAvailable(void) const;
 
     /**
      * Checks the data roaming is on or off.
      */
-       bool IsRoaming(void);
+       bool IsRoaming(void) const;
 
     /**
      * Checks the network state of the telephony service.
@@ -136,30 +134,6 @@ public:
        static bool IsNetworkAvailable(void);
 
        /**
-     * Called when the state of data service is changed.
-     *
-     * @param[in] type      The type of current network connection
-     * @param[in] pUserData The user data passed from the callback registration function
-     */
-       static void OnDataServiceStateChangedCallback(connection_type_e type, void* pUserData);
-
-       /**
-     * Called when the state of call service is changed.
-     *
-     * @param[in] serviceState  The state of telephony service
-     * @param[in] pUserData      The user data passed from the callback registration function
-     */
-       static void OnCallServiceStateChangedCallback(network_info_service_state_e serviceState, void* pUserData);
-
-    /**
-     * Called when the state of roaming is changed.
-     *
-     * @param[in] isRoaming The roaming state
-     * @param[in] pUserData  The user data passed from the callback registration function
-     */
-       static void OnRoamingStateChangedCallback(bool isRoaming, void* pUserData);
-
-       /**
      * Gets the Impl instance.
      *
      * @since 2.1
@@ -186,8 +160,6 @@ private:
      */
        _NetworkManagerImpl(const _NetworkManagerImpl& rhs);
 
-       void OnTelephonyNetworkStatusChanged(void);
-
        Tizen::Base::Collection::IList* ParsingMessageN(const Tizen::Base::String& message);
 
        NetworkInfo* GenerateNetworkInfoN(const Tizen::Base::String& message, int& currentIndex);
@@ -205,15 +177,12 @@ private:
        _NetworkManagerImpl& operator =(const _NetworkManagerImpl& rhs);
 
 private:
-       std::unique_ptr<void, _ConnectionDeleter> __pConnectionHandle;
        std::unique_ptr<_NetworkManagerEvent> __pNetworkManagerEvent;
        std::unique_ptr<_NetworkSettingEvent> __pNetworkSettingEvent;
     _TelephonyIpcProxy* __pTelephonyServiceProxy;
     ITelephonyNetworkSettingListener* __pSettingListener;
 
-       bool __isCallServiceAvailable;
-       bool __isDataServiceAvailable;
-       bool __isRoaming;
+       bool __isEventAdded;
 
 }; // _NetworkManagerImpl
 
old mode 100644 (file)
new mode 100755 (executable)
index 78b9beb..d68f75b
@@ -404,7 +404,7 @@ _SimStateManagerImpl::GetSimInfo(SimInfo& simInfo) const
                r = pSimInfoImpl->Construct();
        }
 
-       SysTryReturnResult(NID_TEL, r == E_SUCCESS, E_SYSTEM, "A system error has occurred. Failed to construct SimInfo.");
+       SysTryReturnResult(NID_TEL, r == E_SUCCESS, E_DEVICE_UNAVAILABLE, "The operation failed due to a missing SIM card.");
 
        return r;
 }
index ebddb2e..9e68c73 100755 (executable)
 #include <pthread.h>
 #include <unique_ptr.h>
 #include <FBaseSysLog.h>
+#include <FBaseRtMutexGuard.h>
+#include <FBaseColArrayList.h>
+#include <FTelNetworkStatus.h>
 #include <FIo_IpcClient.h>
 #include <FTel_ConnectivityIpcMessages.h>
 #include "FTel_TelephonyIpcProxy.h"
 #include "FTel_CallManagerImpl.h"
+#include "FTel_NetworkManagerEvent.h"
+#include "FTel_NetworkManagerEventArg.h"
 #include "FTel_NetworkManagerImpl.h"
+#include "FTel_NetworkStatusImpl.h"
 
+using namespace std;
 using namespace Tizen::Base;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Base::Collection;
 using namespace Tizen::Io;
 
 namespace Tizen { namespace Telephony
@@ -40,7 +49,10 @@ namespace Tizen { namespace Telephony
 _TelephonyIpcProxy* _TelephonyIpcProxy::__pInstance = null;
 
 _TelephonyIpcProxy::_TelephonyIpcProxy(void)
-       : __pIpcClient(null)
+    : __pIpcClient(null)
+       , __pLock(null)
+       , __pNetworkEventList(null)
+       , __networkEventCount(0)
     , __pNetworkManagerImplForGet(null)
        , __pNetworkManagerImplForSelect(null)
        , __pNetworkManagerImplForSearch(null)
@@ -52,7 +64,17 @@ _TelephonyIpcProxy::_TelephonyIpcProxy(void)
 
 _TelephonyIpcProxy::~_TelephonyIpcProxy(void)
 {
-       delete __pIpcClient;
+       if ((__networkEventCount > 0) &&(__pIpcClient != null))
+    {
+           result r = E_SUCCESS;
+           unsigned long ret = 0;
+
+           std::unique_ptr<IPC::Message> pMessage( new (std::nothrow) ConnectivityTelephonyServiceMsg_removeNetworkStatusEventListener(&ret));
+           SysTryReturnVoidResult(NID_TEL, pMessage != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
+
+           r = __pIpcClient->SendRequest(*pMessage);
+           SysLog(NID_TEL, "RemoveNetworkStatusEventListener[%s][%s]", GetErrorMessage(r), GetErrorMessage(ret));
+    }
 }
 
 result
@@ -60,18 +82,28 @@ _TelephonyIpcProxy::Construct(void)
 {
        result r = E_SUCCESS;
 
-       __pIpcClient = new (std::nothrow) _IpcClient();
-       SysTryReturnResult(NID_TEL, __pIpcClient != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
+    unique_ptr<ArrayList> pNetworkEventList(new (std::nothrow) ArrayList());
+    SysTryReturnResult(NID_TEL, pNetworkEventList != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
 
-       r = __pIpcClient->Construct(TELEPHONY_CONNECTIVITY_IPC_SERVER_NAME, this);
-       SysTryReturnResult(NID_TEL, r != E_OUT_OF_MEMORY, r, "Propagating.");
+    r = pNetworkEventList->Construct();
+    SysTryReturnResult(NID_TEL, r == E_SUCCESS, r, "Propagating.");
 
-       if (r != E_SUCCESS)
-       {
-               SysLogException(NID_TEL, r, "[%s] Propagating", GetErrorMessage(r));
-               delete __pIpcClient;
-               __pIpcClient = null;
-       }
+    unique_ptr<Mutex> pLock(new (std::nothrow) Mutex());
+    SysTryReturnResult(NID_TEL, pLock != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
+
+    r = pLock->Create();
+    SysTryReturnResult(NID_TEL, r == E_SUCCESS, r, "Propagating.");
+
+    unique_ptr<_IpcClient> pIpcClient(new (std::nothrow) _IpcClient());
+       SysTryReturnResult(NID_TEL, pIpcClient != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
+
+       r = pIpcClient->Construct(TELEPHONY_CONNECTIVITY_IPC_SERVER_NAME, this);
+    SysTryReturnResult(NID_TEL, r == E_SUCCESS, r, "Propagating.");
+
+    __pIpcClient = move(pIpcClient);
+    __pLock = move(pLock);
+    __pNetworkEventList = move(pNetworkEventList);
+    __networkEventCount = 0;
 
        return r;
 }
@@ -98,13 +130,17 @@ _TelephonyIpcProxy::GetInstance(void)
 void
 _TelephonyIpcProxy::InitSingleton(void)
 {
-       result r = E_SUCCESS;
-       static _TelephonyIpcProxy instance;
+    result r = E_SUCCESS;
 
-       r = instance.Construct();
-       SysTryReturnVoidResult(NID_TEL, r == E_SUCCESS, r, "[%s] Propagating", GetErrorMessage(r));
+    unique_ptr<_TelephonyIpcProxy> pInstance(new (std::nothrow) _TelephonyIpcProxy());
+       SysTryReturnVoidResult(NID_TEL, pInstance != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
 
-       __pInstance = &instance;
+       r = pInstance->Construct();
+       SysTryReturnVoidResult(NID_TEL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
+
+       ClearLastResult();
+
+       __pInstance = pInstance.release();
 }
 
 result
@@ -286,6 +322,61 @@ _TelephonyIpcProxy::GetCallForwardNumber(_CallManagerImpl* pCallManagerImpl)
     return E_SUCCESS;
 }
 
+result
+_TelephonyIpcProxy::AddNetworkEvent(_NetworkManagerEvent* pEvent)
+{
+       result r = E_SUCCESS;
+
+    SysTryReturnResult(NID_TEL, pEvent != null, E_INVALID_ARG, "Event is null.");
+
+    MutexGuard locked(*__pLock);
+
+       r = __pNetworkEventList->Add(*pEvent);
+    SysTryReturnResult(NID_TEL, r == E_SUCCESS, r, "Propagating.");
+
+       if (__networkEventCount == 0)
+       {
+               SysLog(NID_TEL, "Set network event callback.");
+
+           unsigned long ret = 0;
+
+           std::unique_ptr<IPC::Message> pMessage( new (std::nothrow) ConnectivityTelephonyServiceMsg_addNetworkStatusEventListener(&ret));
+           r = __pIpcClient->SendRequest(*pMessage);
+           SysTryReturnResult(NID_TEL, r == E_SUCCESS, E_SYSTEM, "A system error has been occurred. Failed to send a request.");
+           SysTryReturnResult(NID_TEL, ret == E_SUCCESS, ret, "Propagating.");
+       }
+
+    __networkEventCount++;
+
+       return r;
+}
+
+void
+_TelephonyIpcProxy::RemoveNetworkEvent(_NetworkManagerEvent* pEvent)
+{
+       SysTryReturnVoidResult(NID_TEL, pEvent != null, E_INVALID_ARG, "[E_INVALID_ARG] Event is null.");
+
+       MutexGuard locked(*__pLock);
+
+       __pNetworkEventList->Remove(*pEvent);
+
+    __networkEventCount--;
+
+       if (__networkEventCount == 0)
+       {
+               SysLog(NID_TEL, "Unset network event callback.");
+
+               result r = E_SUCCESS;
+           unsigned long ret = 0;
+
+           std::unique_ptr<IPC::Message> pMessage( new (std::nothrow) ConnectivityTelephonyServiceMsg_removeNetworkStatusEventListener(&ret));
+           SysTryReturnVoidResult(NID_TEL, pMessage != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
+
+           r = __pIpcClient->SendRequest(*pMessage);
+           SysLog(NID_TEL, "RemoveNetworkStatusEventListener[%s][%s]", GetErrorMessage(r), GetErrorMessage(ret));
+       }
+}
+
 void
 _TelephonyIpcProxy::OnIpcResponseReceived(Tizen::Io::_IpcClient& client, const IPC::Message& message)
 {
@@ -298,6 +389,7 @@ _TelephonyIpcProxy::OnIpcResponseReceived(Tizen::Io::_IpcClient& client, const I
     IPC_MESSAGE_HANDLER(ConnectivityTelephonyServiceMsg_onCallForwardNumberReceived, OnTelephonyCallForwardNumberReceived, &client);
     IPC_MESSAGE_HANDLER(ConnectivityTelephonyServiceMsg_onCallForwardResponseReceived, OnTelephonyCallForwardResponseReceived, &client);
     IPC_MESSAGE_HANDLER(ConnectivityTelephonyServiceMsg_onCallForwardStopped, OnTelephonyCallForwardStopped, &client);
+    IPC_MESSAGE_HANDLER(ConnectivityTelephonyServiceMsg_onNetworkStatusChanged, OnNetworkStatusChanged, &client);
     IPC_END_MESSAGE_MAP()
 }
 
@@ -361,4 +453,35 @@ _TelephonyIpcProxy::OnTelephonyCallForwardStopped(Tizen::Base::String phoneNumbe
     __pCallManagerImplForStop->OnTelephonyCallForwardStopped(phoneNumber, res);
 }
 
+void
+_TelephonyIpcProxy::OnNetworkStatusChanged(bool isCallServiceAvailable, bool isDataServiceAvailable, bool isRoaming)
+{
+    SysLog(NID_TEL, "Network status is changed. [%d][%d][%d]", isCallServiceAvailable, isDataServiceAvailable, isRoaming);
+
+    NetworkStatus networkStatus;
+       _NetworkManagerEvent* pEvent = null;
+       _NetworkManagerEventArg* pEventArg = null;
+
+       _NetworkStatusImpl::GetInstance(networkStatus)->SetIsCallServiceAvailable(isCallServiceAvailable);
+       _NetworkStatusImpl::GetInstance(networkStatus)->SetIsDataServiceAvailable(isDataServiceAvailable);
+       _NetworkStatusImpl::GetInstance(networkStatus)->SetIsRoaming(isRoaming);
+
+       unique_ptr<IEnumerator> pEnum(__pNetworkEventList->GetEnumeratorN());
+       if (pEnum != null)
+       {
+               while (pEnum->MoveNext() == E_SUCCESS)
+               {
+                       pEvent = dynamic_cast<_NetworkManagerEvent*>(pEnum->GetCurrent());
+                       if (pEvent != null)
+                       {
+                               pEventArg = new (std::nothrow)_NetworkManagerEventArg(networkStatus);
+                               if (pEventArg != null)
+                               {
+                                       pEvent->FireAsync(*pEventArg);
+                               }
+                       }
+               }
+       }
+}
+
 }} // Tizen::Telephony
old mode 100644 (file)
new mode 100755 (executable)
index bafb1b7..cd1fb77
 /**
  * @file       FTel_TelephonyIpcProxy.h
  * @brief      This is the header file for the %_TelephonyIpcProxy class.
- *
 *
  * This header file contains the declarations of the %_TelephonyIpcProxy class.
- */
 */
 
-#ifndef _FNET_WIFI_INTERNAL_TELEPHONY_IPC_PROXY_H_
-#define _FNET_WIFI_INTERNAL_TELEPHONY_IPC_PROXY_H_
+#ifndef _FTEL_INTERNAL_TELEPHONY_IPC_PROXY_H_
+#define _FTEL_INTERNAL_TELEPHONY_IPC_PROXY_H_
 
+#include <unique_ptr.h>
 #include <tapi_type.h>
 #include <FBaseObject.h>
 #include <FIo_IpcCommonDataTypes.h>
 #include <FIo_IIpcClientEventListener.h>
 
-namespace Tizen { namespace Base {
+namespace Tizen { namespace Base
+{
 class String;
-} }
+
+namespace Runtime
+{
+class Mutex;
+}
+
+namespace Collection
+{
+class ArrayList;
+}}}
 
 namespace Tizen { namespace Io {
 class _IpcClient;
@@ -43,6 +54,7 @@ namespace Tizen { namespace Telephony
 
 class _NetworkManagerImpl;
 class _CallManagerImpl;
+class _NetworkManagerEvent;
 
 /**
  * @class   _TelephonyIpcProxy
@@ -72,6 +84,9 @@ public:
     result StopCallForward(_CallManagerImpl* pCallManagerImpl);
     result GetCallForwardNumber(_CallManagerImpl* pCallManagerImpl);
 
+    result AddNetworkEvent(_NetworkManagerEvent* pEvent);
+    void RemoveNetworkEvent(_NetworkManagerEvent* pEvent);
+
     static _TelephonyIpcProxy* GetInstance(void);
 
 private:
@@ -90,10 +105,15 @@ private:
        void OnTelephonyCallForwardResponseReceived(Tizen::Base::String phoneNumber, unsigned long res);
        void OnTelephonyCallForwardStopped(Tizen::Base::String phoneNumber, unsigned long res);
 
+       void OnNetworkStatusChanged(bool isCallServiceAvailable, bool isDataServiceAvailable, bool isRoaming);
+
        static void InitSingleton(void);
        
 private:
-       Tizen::Io::_IpcClient* __pIpcClient;
+       std::unique_ptr<Tizen::Io::_IpcClient> __pIpcClient;
+       std::unique_ptr<Tizen::Base::Runtime::Mutex> __pLock;
+       std::unique_ptr<Tizen::Base::Collection::ArrayList> __pNetworkEventList;
+       int __networkEventCount;
        _NetworkManagerImpl* __pNetworkManagerImplForGet;
        _NetworkManagerImpl* __pNetworkManagerImplForSelect;
        _NetworkManagerImpl* __pNetworkManagerImplForSearch;
@@ -102,7 +122,9 @@ private:
        _CallManagerImpl* __pCallManagerImplForStop;
        static _TelephonyIpcProxy* __pInstance;
 
+       friend class std::default_delete<_TelephonyIpcProxy>;
+
 }; // _TelephonyIpcProxy
 
 }}
-#endif // _FNET_WIFI_INTERNAL_TELEPHONY_IPC_PROXY_H_
+#endif // _FTEL_INTERNAL_TELEPHONY_IPC_PROXY_H_
index 21d5ebe..6821d67 100644 (file)
@@ -44,7 +44,8 @@ IPC_SYNC_MESSAGE_CONTROL1_1(ConnectivityTelephonyServiceMsg_requestCallForward,
 IPC_SYNC_MESSAGE_CONTROL0_1(ConnectivityTelephonyServiceMsg_stopCallForward, unsigned long /* result */)
 IPC_SYNC_MESSAGE_CONTROL0_1(ConnectivityTelephonyServiceMsg_getCallForwardNumber, unsigned long /* result */)
 
-
+IPC_SYNC_MESSAGE_CONTROL0_1(ConnectivityTelephonyServiceMsg_addNetworkStatusEventListener, unsigned long /* result */)
+IPC_SYNC_MESSAGE_CONTROL0_1(ConnectivityTelephonyServiceMsg_removeNetworkStatusEventListener, unsigned long /* result */)
 
 // Server -> Client (async)
 IPC_MESSAGE_CONTROL2(ConnectivityTelephonyServiceMsg_onNetworkSelectionModeReceived, bool /* isManual */, unsigned long /* result */);
@@ -54,3 +55,5 @@ IPC_MESSAGE_CONTROL2(ConnectivityTelephonyServiceMsg_onCallForwardNumberReceived
 IPC_MESSAGE_CONTROL2(ConnectivityTelephonyServiceMsg_onCallForwardResponseReceived, Tizen::Base::String /* phone number */, unsigned long /* result */);
 IPC_MESSAGE_CONTROL2(ConnectivityTelephonyServiceMsg_onCallForwardStopped, Tizen::Base::String /* phone number */, unsigned long /* result */);
 
+IPC_MESSAGE_CONTROL3(ConnectivityTelephonyServiceMsg_onNetworkStatusChanged, bool /* isCallServiceAvailable */, bool /* isDataServiceAvailable */, bool /* isRoaming */);
+