Merge from 2.2
[platform/framework/native/telephony.git] / inc / FTelNetworkInfo.h
index 0f67a86..96d57fc 100755 (executable)
@@ -33,55 +33,69 @@ 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
  *
- *     result
- *     MyClass::GetNetworkInfo(void)
- *     {
- *             result r = E_SUCCESS;
- *             int mnc;
- *             int mcc;
- *             int cellId;
- *             int lac;
- *             String plmn;
- *             String operatorName;
+ *  #include <FBase.h>
+ *  #include <FTelephony.h>
  *
- *             NetworkInfo networkInfo;
+ *  using namespace Tizen::Base;
+ *  using namespace Tizen::Telephony;
  *
- *             NetworkManager* pNetworkManager = new NetworkManager();
+ *  class MyClass
+ *     : public Object
+ *  {
+ *  public:
+ *     MyClass(void) {}
+ *     ~MyClass(void) {}
  *
- *             r = pNetworkManager->Construct(null);
- *             if (IsFailed(r))
- *             {
- *                     delete pNetworkManager;
- *                     return r;
- *             }
+ *     void GetNetworkInfo(void);
+ *  };
  *
- *             r = pNetworkManager->GetNetworkInfo(networkInfo);
- *             if (IsFailed(r))
- *             {
- *                     delete pNetworkManager;
- *                     return r;
- *             }
+ *  void
+ *  MyClass::GetNetworkInfo(void)
+ *  {
+ *     result r = E_SUCCESS;
+ *     int mnc;
+ *     int mcc;
+ *     int cellId;
+ *     int lac;
+ *     String plmn;
+ *     String operatorName;
  *
- *             mnc = networkInfo.GetMnc();
- *             mcc = networkInfo.GetMcc();
- *             cellId = networkInfo.GetCellId();
- *             lac = networkInfo.GetLac();
- *             plmn = networkInfo.GetPlmn();
- *             operatorName = networkInfo.GetOperatorName();
+ *     NetworkInfo networkInfo;
+ *     NetworkManager* pNetworkManager = new (std::nothrow) NetworkManager();
  *
- *             delete pNetworkManager;
- *             return r;
- *     }
+ *     r = pNetworkManager->Construct(null);
+ *     if (IsFailed(r))
+ *     {
+ *             delete pNetworkManager;
+ *             return;
+ *     }
+ *
+ *     r = pNetworkManager->GetNetworkInfo(networkInfo);
+ *     if (IsFailed(r))
+ *     {
+ *             delete pNetworkManager;
+ *             return;
+ *     }
+ *
+ *     mnc = networkInfo.GetMnc();
+ *     mcc = networkInfo.GetMcc();
+ *     cellId = networkInfo.GetCellId();
+ *     lac = networkInfo.GetLac();
+ *     plmn = networkInfo.GetPlmn();
+ *     operatorName = networkInfo.GetOperatorName();
+ *
+ *     delete pNetworkManager;
+ *  }
  *
  * @endcode
  */
@@ -101,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);
 
@@ -115,11 +129,13 @@ public:
        /**
      * Gets the Mobile Network Code (MNC) of the network.
      *
-     * @since   2.0
-     * @privilege   %http://tizen.org/privilege/systeminfo
+     * @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.
      */
@@ -128,11 +144,13 @@ public:
        /**
      * Gets the Mobile Country Code (MCC) of the network.
      *
-     * @since   2.0
-     * @privilege   %http://tizen.org/privilege/systeminfo
+     * @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.
      */
@@ -149,7 +167,9 @@ public:
      * @compatibility  This method has compatibility issues with OSP compatible applications. @n
      *                  For more information, see the issue description for @ref CompNetworkInfoGetPlmnPage "here".
      * @endif
-     * @privilege   %http://tizen.org/privilege/systeminfo
+     * @privlevel      public
+     * @privilege   %http://tizen.org/privilege/telephony @n
+     *                                 (%http://tizen.org/privilege/systeminfo is deprecated.)
      *
      * @return         The PLMN name
      * @exception      E_SUCCESS               The method is successful.
@@ -162,50 +182,59 @@ public:
     /**
      * @page    CompNetworkInfoGetPlmnPage Compatibility for GetPlmn()
      * @section CompNetworkInfoGetPlmnPageIssueSection Issues
-     *          Implementing this method in OSP compatible applications has the following issues:   @n 
-     *          -# The method returns an alphabetic name of PLMN.
+     *          Implementation of this method in Tizen API versions prior to 2.1 has the following issue: @n
+     *          -# 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
-     * @privilege   %http://tizen.org/privilege/systeminfo
+     * @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
-     * @privilege   %http://tizen.org/privilege/systeminfo
+     * @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
-     * @privilege   %http://tizen.org/privilege/systeminfo
+     * @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.
      */
@@ -216,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;
 
@@ -233,17 +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
-     * @privilege   %http://tizen.org/privilege/systeminfo
-     *
-     * @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.
-     * @remarks                The specific error code can be accessed using the GetLastResult() method.
+     * @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 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&).
      */
        static int GetRssi(void);
 
@@ -252,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);