Merge from 2.2
[platform/framework/native/telephony.git] / inc / FTelCallManager.h
index aa7b61d..084c948 100755 (executable)
@@ -47,46 +47,65 @@ class _CallManagerImpl;
  *
  * @code
  *
- *     result
- *     MyClass::GetCallInfo(void)
- *     {
- *             CallType callType = TYPE_UNDEFINED_CALL;
- *             CallStatus callStatus = CALL_STATUS_UNDEFINED;
+ *  #include <FBase.h>
+ *  #include <FTelephony.h>
  *
- *             CallManager* pCallManager = new CallManager();
+ *   using namespace Tizen::Base;
+ *   using namespace Tizen::Telephony;
  *
- *             result r = pCallManager->Construct(*this);
- *             if (IsFailed(r))
- *             {
- *                     delete pCallManager;
- *                     return r;
- *             }
+ *   class MyClass
+ *      : public Object
+ *      , public ITelephonyCallEventListener
+ *   {
+ *   public:
+ *      MyClass(void) {}
+ *      ~MyClass(void) {}
  *
- *             callStatus = pCallManager->GetCurrentCallStatus();
+ *      // ITelephonyCallEventListener
+ *      void OnTelephonyCallStatusChangedN(CallStatus callStatus, CallInfo* pCallInfo);
  *
- *             if (callStatus == CALL_STATUS_COMMUNICATING)
- *             {
- *                     callType = pCallManager->GetCurrentCallType();
- *             }
+ *      void GetCallInfo(void);
+ *   };
  *
- *             delete pCallManager;
- *             return E_SUCCESS;
- *     }
+ *   void
+ *   MyClass::OnTelephonyCallStatusChangedN(CallStatus callStatus, CallInfo* pCallInfo)
+ *   {
+ *      CallType callType;
+ *      String number;
  *
- *     void
- *     MyClass::OnTelephonyCallStatusChangedN(CallStatus  callStatus,CallInfo *  pCallInfo)
- *     {
- *             CallType        callType;
- *             String          number;
+ *      if (callStatus == CALL_STATUS_RINGING)
+ *      {
+ *              callType  = pCallInfo->GetCallType();
+ *              number = pCallInfo->GetNumber();
+ *      }
  *
- *             if (callStatus == CALL_STATUS_RINGING)
- *             {
- *                     callType  = pCallInfo->GetCallType();
- *                     number = pCallInfo->GetNumber();
- *             }
+ *      delete pCallInfo;
+ *   }
+ *
+ *   void
+ *   MyClass::GetCallInfo(void)
+ *   {
+ *      CallType callType = TYPE_UNDEFINED_CALL;
+ *      CallStatus callStatus = CALL_STATUS_UNDEFINED;
+ *
+ *      CallManager* pCallManager = new (std::nothrow) CallManager();
+ *
+ *      result r = pCallManager->Construct(*this);
+ *      if (IsFailed(r))
+ *      {
+ *        delete pCallManager;
+ *        return;
+ *      }
+ *
+ *      callStatus = pCallManager->GetCurrentCallStatus();
+ *      if (callStatus == CALL_STATUS_COMMUNICATING)
+ *      {
+ *              callType = pCallManager->GetCurrentCallType();
+ *      }
+ *
+ *      delete pCallManager;
+ *   }
  *
- *             delete pCallInfo;
- *     }
  *
  *
  * @endcode
@@ -96,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
      */
@@ -110,141 +130,135 @@ 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
-        *
-     * @return  An error code
-     * @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
+     * @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&).
      */
        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
-        *
-     * @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.
-     * @see ITelephonyCallEventListener
+     * @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&).
      */
        result Construct(ITelephonyCallEventListener& listener);
 
        /**
-     * @if VISPARTNER-OPERATOR
      * Sets the listener that listens to the call forwarding request.
      *
      * @since   2.0
         *
-     * @visibility  partner-operator
+     * @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.
-     *
-     * @endif
      */
        result SetCallForwardListener(ITelephonyCallForwardListener* pListener);
 
        /**
-     * @if VISPARTNER-OPERATOR
-     * Requests call forwarding with the specified number. @n
-     * This 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
         *
-     * @visibility  partner-operator
+     * @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()
-     *
-     * @endif
      */
        result RequestCallForward(const Tizen::Base::String& phoneNumber);
 
     /**
-     * @if VISPARTNER-OPERATOR
      * Stops call forwarding.
      *
      * @since   2.0
         *
-     * @visibility  partner-operator
+     * @privlevel      platform
      * @privilege   %http://tizen.org/privilege/callforward
      *
-     * @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_SYSTEM                A system error has occurred.
+     * @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 either out of the coverage area or in the emergency mode.
+     * @exception      E_SYSTEM                A system error has occurred.
      * @see ITelephonyCallForwardListener::OnTelephonyCallForwardStopped()
-     *
-     * @endif
      */
        result StopCallForward(void);
 
        /**
-     * @if VISPARTNER-OPERATOR
-     * 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
         *
-     * @visibility  partner-operator
+     * @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
-     *
-     * @endif
+     * @see ITelephonyCallForwardListener::OnTelephonyCallForwardNumberReceived()
      */
        result GetCallForwardNumber(void) const;
 
        /**
-     * Gets the call type of the current call.
+     * Gets the current call type.
      *
      * @since                  2.0
         *
      * @return      The current call type, @n
-     *              else Telephony::TYPE_UNDEFINED_CALL if the method fails
+     *              else @c TYPE_UNDEFINED_CALL if the method fails
      */
        CallType GetCurrentCallType(void) const;
 
        /**
-     * Gets the call status of the current call.
+     * Gets the current call status.
      *
      * @since                  2.0
         *
      * @return      The current call status, @n
-     *              else Telephony::CALL_STATUS_UNDEFINED if the method fails
+     *              else @c CALL_STATUS_UNDEFINED if the method fails
      */
        CallStatus GetCurrentCallStatus(void) const;