merge with master
authorJinkun Jang <jinkun.jang@samsung.com>
Fri, 15 Mar 2013 16:16:38 +0000 (01:16 +0900)
committerJinkun Jang <jinkun.jang@samsung.com>
Fri, 15 Mar 2013 16:16:38 +0000 (01:16 +0900)
inc/FNetBtBluetoothDevice.h
inc/FNetBtBluetoothHealth.h
inc/FNetBtBluetoothManager.h
inc/FNetBtBluetoothOppClient.h
inc/FNetBtBluetoothOppServer.h
inc/FNetBtBluetoothSppAcceptor.h
inc/FNetBtBluetoothSppInitiator.h
inc/FNetBtBluetoothTypes.h
packaging/osp-bluetooth.spec
src/FNetBtBluetoothDevice.cpp
src/inc/FNetBt_BluetoothManagerImpl.h

index 5448190..c25bb55 100755 (executable)
@@ -36,6 +36,7 @@ class String;
 namespace Collection
 {
 class IList;
+class IMap;
 }
 } }
 
@@ -234,6 +235,11 @@ public:
        /**
         * Gets a new instance of %BluetoothDevice generated using the result of the %Bluetooth AppControl.
         *
+        * @brief <i> [Deprecated]  </i>
+        * @deprecated  This method is deprecated because the type of AppControl result is changed. Instead of using this
+        *              method, GetInstanceFromAppControlResultN(const Tizen::Base::Collection::IMap& appControlResult) is
+        *              recommended.
+        *
         * @since       2.0
         * @return      The %Bluetooth device containing the specified information extracted from the input data if successful,
         * @n
@@ -243,11 +249,28 @@ public:
         * @exception   E_INVALID_ARG           The specified @c appControlResult contains an invalid value. @n
         *                                      The result of %Bluetooth AppControl is only permitted to be used as an input
         *                                      argument.
-        * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
         * @remarks     The specific error code can be accessed using the GetLastResult() method.
         */
        static BluetoothDevice* GetInstanceFromAppControlResultN(const Tizen::Base::Collection::IList& appControlResult);
 
+        /**
+        * Gets a new instance of %BluetoothDevice generated using the result of the %Bluetooth AppControl.
+        *
+        * @since       2.1
+        * @return      The %Bluetooth device containing the specified information extracted from the input data if successful,
+        * @n
+        *              else @c null
+        * @param[in]   appControlResult        The data map, which is the result of the %Bluetooth AppControl
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_INVALID_ARG           The specified @c appControlResult contains an invalid value. @n
+        *                                      The result of %Bluetooth AppControl is only permitted to be used as an input
+        *                                      argument.
+        * @remarks     The specific error code can be accessed using the GetLastResult() method.
+        * @see         <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_bluetooth.htm">Bluetooth
+        *              AppControl</a>.
+        */
+       static BluetoothDevice* GetInstanceFromAppControlResultN(const Tizen::Base::Collection::IMap& appControlResult);
+
        /**
         * Copying of objects using this copy assignment operator is allowed.
         *
index 838d4bc..fefe268 100755 (executable)
@@ -95,7 +95,8 @@ public:
         * Starts %Bluetooth health as a role of sink with the specified data type.
         *
         * @since 2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.health
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.health
         *
         * @return      An error code
         * @param[in]   dataType                The type of data used in communication which is defined in ISO/IEEE
@@ -122,7 +123,8 @@ public:
         * This method disconnects all established channels before stop.
         *
         * @since 2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.health
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.health
         *
         * @return      An error code
         * @exception   E_SUCCESS               The method is successful.
@@ -140,7 +142,8 @@ public:
         * This method establishes a channel after the source device accepts the request.
         *
         * @since 2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.health
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.health
         *
         * @return      An error code
         * @param[in]   remoteDevice            The remote device to connect
@@ -164,7 +167,8 @@ public:
         * whether this method is called during connection or before connection is established.
         *
         * @since 2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.health
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.health
         *
         * @return      An error code
         * @param[in]   channelId               The ID of the specified channel to disconnect
@@ -185,7 +189,8 @@ public:
         * Sends the specified data on the specified channel.
         *
         * @since 2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.health
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.health
         *
         * @return      An error code
         * @param[in]   channelId               The ID of the specified channel on which the data is sent
index 0e78d3c..47477c1 100755 (executable)
@@ -96,7 +96,8 @@ public:
         * Activates %Bluetooth on a device.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.admin
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.admin
         *
         * @return      An error code
         * @exception   E_SUCCESS                   The method is successful.
@@ -115,7 +116,8 @@ public:
         * Deactivates %Bluetooth on a device.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.admin
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.admin
         *
         * @return      An error code
         * @exception   E_SUCCESS                   The method is successful.
@@ -156,7 +158,7 @@ public:
         * @brief <i> [Deprecated]  </i>
         * @deprecated  This method is deprecated because the return value of this method is a dangling pointer if this
         *              instance of %BluetoothManager is deleted. In addition to this, the %BluetoothDevice class
-        *              represents only remote devices since 2.0. Instead of using this method, the GetLocalDeviceAddress()
+        *              represents only remote devices since Tizen. Instead of using this method, the GetLocalDeviceAddress()
         *              and GetLocalDeviceName() methods are recommended.
         * @since       2.0
         *
@@ -277,7 +279,8 @@ public:
         * Sets the name of the local device.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.admin
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.admin
         *
         * @return      An error code
         * @param[in]   deviceName                  The new device name
@@ -293,12 +296,11 @@ public:
        result SetLocalDeviceName(const Tizen::Base::String& deviceName);
 
        /**
-        * @if VISPARTNER-MANUFACTURER
         * Sets the discoverable mode of the local device.
         *
         * @since 2.0
-        * @visibility  partner-manufacturer
-        * @privilege   %http://tizen.org/privilege/bluetoothmanager
+        * @privlevel   platform
+        * @privilege   http://tizen.org/privilege/bluetoothmanager
         *
         * @return      An error code
         * @param[in]   mode                        The new discoverable mode
@@ -311,7 +313,6 @@ public:
         * @exception   E_SYSTEM                    A system error has occurred.
         * @see         IBluetoothManagerEventListener::OnBluetoothDiscoverableModeChanged()
         * @remarks     @c seconds is adopted only if the specified @c mode is @c BT_DISC_MODE_TIME_LIMITED_DISCOVERABLE.
-        * @endif
         */
        result SetDiscoverableMode(BluetoothDiscoverableMode mode, int seconds = 0);
 
@@ -454,7 +455,8 @@ public:
         * Starts the device discovery process.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.gap
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.gap
         *
         * @return      An error code
         * @exception   E_SUCCESS                   The method is successful.
@@ -473,7 +475,8 @@ public:
         * Cancels the device discovery process.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.gap
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.gap
         *
         * @return      An error code
         * @exception   E_SUCCESS                   The method is successful.
@@ -491,7 +494,8 @@ public:
         * Retrieves the service list from a remote device.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.gap
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.gap
         *
         * @return      An error code
         * @param[in]   pairedDevice                A remote device that is already paired with the local device
@@ -512,7 +516,8 @@ public:
         * Pairs with the specified remote device.
         *
         * @since 2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.gap
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.gap
         *
         * @return      An error code
         * @param[in]   remoteDevice                The remote %Bluetooth device to pair with
@@ -532,7 +537,8 @@ public:
         * Stops the pairing process.
         *
         * @since 2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.gap
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.gap
         *
         * @return      An error code
         * @exception   E_SUCCESS                   The method is successful.
@@ -551,7 +557,8 @@ public:
         * Unpairs with the paired device.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.gap
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.gap
         *
         * @return      An error code
         * @param[in]   pairedDevice                The paired device to unpair
index 1d73037..d911528 100755 (executable)
@@ -98,7 +98,8 @@ public:
         * @compatibility       This method has compatibility issues@n
         *                                      For more information, see @ref CompIoPathPage "here".
         * @endif
-        * @privilege   %http://tizen.org/privilege/bluetooth.opp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.opp
         *
         * @return      An error code
         * @param[in]   remoteDevice                The remote OPP server
@@ -127,7 +128,8 @@ public:
         * method is called with @c isCompleted as @c false.
         *
         * @since       2.0
-        * @privilege  %http://tizen.org/privilege/bluetooth.opp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.opp
         *
         * @return      An error code
         * @exception   E_SUCCESS               The method is successful.
index 896a2c3..fe75dac 100755 (executable)
@@ -90,7 +90,8 @@ public:
         * This method starts the file transfer.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.opp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.opp
         *
         * @return      An error code
         * @exception   E_SUCCESS               The method is successful.
@@ -111,7 +112,8 @@ public:
         * Rejects a push request from a remote OPP client.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.opp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.opp
         *
         * @return      An error code
         * @exception   E_SUCCESS               The method is successful.
@@ -162,7 +164,8 @@ public:
         * @compatibility       This method has compatibility issues. @n
         *                                      For more information, see @ref CompIoPathPage "here".
         * @endif
-        * @privilege   %http://tizen.org/privilege/bluetooth.opp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.opp
         *
         * @return      An error code
         * @param[in]   dstPath                 The new destination file path
@@ -185,7 +188,8 @@ public:
         * This method cancels the file transfer before stopping the service.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.opp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.opp
         *
         * @return      An error code
         * @exception   E_SUCCESS               The method is successful.
@@ -206,7 +210,8 @@ public:
         * method is called with @c isCompleted as @c false.
         *
         * @since 2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.opp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.opp
         *
         * @return      An error code
         * @exception   E_SUCCESS               The method is successful.
index 11f90b4..56ec725 100755 (executable)
@@ -91,7 +91,8 @@ public:
         * This method establishes a connection.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.spp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.spp
         *
         * @return      An error code
         * @exception   E_SUCCESS               The method is successful.
@@ -112,7 +113,8 @@ public:
         * Rejects a connection request from a remote SPP initiator.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.spp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.spp
         *
         * @return      An error code
         * @exception   E_SUCCESS               The method is successful.
@@ -133,7 +135,8 @@ public:
         * Starts the SPP service with the default service UUID - BT_SVC_UUID_SPP.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.spp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.spp
         *
         * @return      An error code
         * @exception   E_SUCCESS               The method is successful.
@@ -152,7 +155,8 @@ public:
         * Starts the SPP service with the specified service UUID.
         *
         * @since 2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.spp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.spp
         *
         * @return      An error code
         * @param[in]   serviceUuid             The UUID of SPP service
@@ -174,7 +178,8 @@ public:
         * This method disconnects the current connection before stopping the service.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.spp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.spp
         *
         * @return      An error code
         * @exception   E_SUCCESS               The method is successful.
@@ -193,7 +198,8 @@ public:
         * Disconnects the current connection.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.spp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.spp
         *
         * @return      An error code
         * @exception   E_SUCCESS               The method is successful.
@@ -215,7 +221,8 @@ public:
         * Sends the data.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.spp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.spp
         *
         * @return      An error code
         * @param[in]   buffer                  The data to send
index 89b3311..9cd0343 100755 (executable)
@@ -92,7 +92,8 @@ public:
         * This method establishes a connection after the SPP acceptor accepts the request.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.spp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.spp
         *
         * @return      An error code
         * @param[in]   remoteDevice                The remote device to connect
@@ -118,7 +119,8 @@ public:
         * This method establishes a connection after the SPP acceptor accepts the request.
         *
         * @since 2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.spp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.spp
         *
         * @return      An error code
         * @param[in]   remoteDevice                The remote device to connect
@@ -149,7 +151,8 @@ public:
         * E_SUCCESS is thrown.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.spp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.spp
         *
         * @return      An error code
         * @exception   E_SUCCESS               The method is successful.
@@ -172,7 +175,8 @@ public:
         * Sends the specified data.
         *
         * @since       2.0
-        * @privilege   %http://tizen.org/privilege/bluetooth.spp
+        * @privlevel   public
+        * @privilege   http://tizen.org/privilege/bluetooth.spp
         *
         * @return      An error code
         * @param[in]   buffer                  The data to send
index 3aa555f..01d2771 100755 (executable)
@@ -44,9 +44,9 @@ namespace Tizen { namespace Net { namespace Bluetooth
  */
 enum BluetoothDeviceStateType
 {
-       BT_DEVICE_STATE_OFF,                /**< @if OSPDEPREC The OFF state @endif */
-       BT_DEVICE_STATE_DISCOVERABLE,       /**< @if OSPDEPREC The DISCOVERABLE state  @endif  */
-       BT_DEVICE_STATE_NOT_DISCOVERABLE    /**< @if OSPDEPREC The NOT DISCOVERABLE state @endif */
+       BT_DEVICE_STATE_OFF,                /**< The OFF state             */
+       BT_DEVICE_STATE_DISCOVERABLE,       /**< The DISCOVERABLE state    */
+       BT_DEVICE_STATE_NOT_DISCOVERABLE    /**< The NOT DISCOVERABLE state*/
 };
 
 /**
@@ -60,7 +60,6 @@ enum BluetoothDiscoverableMode
        BT_DISC_MODE_NOT_DISCOVERABLE,          /**< The mode NOT DISCOVERABLE by other devices */
        BT_DISC_MODE_DISCOVERABLE,              /**< The mode DISCOVERABLE by other devices     */
        BT_DISC_MODE_TIME_LIMITED_DISCOVERABLE  /**< The mode DISCOVERABLE by other devices during a certain amount of time
-                                                *  @if OSPCOMPAT @b Since: @b 2.0 @endif
                                                 */
 };
 
@@ -213,18 +212,10 @@ enum BluetoothServiceType
        BT_SVC_PBAP_SERVICE = 0x00400000,          /**< The PhoneBook Access service type                   */
        BT_SVC_HSP_HS_SERVICE = 0x00800000,        /**< The Headset service type                            */
        BT_SVC_HFP_HS_SERVICE = 0x01000000,        /**< The Hands-free Headset service type                 */
-       BT_SVC_HCRP_SERVICE = 0x02000000,          /**< The Hardcopy cable replacement profile service type
-                                                *   @if OSPCOMPAT @b Since: @b 2.0 @endif
-                                                */
-       BT_SVC_DID_SERVICE = 0x04000000,           /**< The device identification profile service type
-                                                *   @if OSPCOMPAT @b Since: @b 2.0 @endif
-                                                */
-       BT_SVC_HDP_SERVICE = 0x08000000,           /**< The health device profile service type
-                                                *   @if OSPCOMPAT @b Since: @b 2.0 @endif
-                                                */
-       BT_SVC_MAP_SERVICE = 0x10000000,           /**< The message access profile service type
-                                                *   @if OSPCOMPAT @b Since: @b 2.0 @endif
-                                                */
+       BT_SVC_HCRP_SERVICE = 0x02000000,          /**< The Hardcopy cable replacement profile service type */
+       BT_SVC_DID_SERVICE = 0x04000000,           /**< The device identification profile service type      */
+       BT_SVC_HDP_SERVICE = 0x08000000,           /**< The health device profile service type              */
+       BT_SVC_MAP_SERVICE = 0x10000000,           /**< The message access profile service type             */
        BT_SVC_ALL_SERVICE = 0x01FFFFFF,           /**< The All-services-supported-by-BTA service type
                                                                *   @if OSPDEPREC
                                                                *   @deprecated    This enumeration field is deprecated.
index ba9a2f6..4576329 100755 (executable)
@@ -3,7 +3,7 @@
 
 Name:          osp-bluetooth
 Summary:       osp bluetooth library
-Version:       1.2.0.0
+Version:       1.2.1.0
 Release:       2
 Group:         System/Libraries
 License:       TO_BE/FILLED_IN
index 3221c7b..51d4f07 100755 (executable)
@@ -22,6 +22,9 @@
 #include <FNetBtBluetoothDevice.h>
 #include <FAppAppControl.h>
 #include <FBaseColIList.h>
+#include <FBaseColIMap.h>
+#include <FBaseBoolean.h>
+#include <FBaseInteger.h>
 #include <FBaseLong.h>
 #include <FBaseShort.h>
 #include <FBaseSysLog.h>
@@ -466,4 +469,121 @@ CATCH:
        return null;
 }
 
+BluetoothDevice*
+BluetoothDevice::GetInstanceFromAppControlResultN(const Tizen::Base::Collection::IMap& appControlResult)
+{
+       result r = E_SUCCESS;
+       BluetoothDevice* pNewBtDevice = null;
+       _BluetoothDeviceImpl* pNewBtDeviceImpl = null;
+       String* pResultStrPtr = null;
+       String dataStr;
+       ByteBuffer btAddrBytes;
+       String deviceName;
+       int rssi = 0;
+       bool isPaired = false;
+       long majClassType = 0;
+       long minClassType = 0;
+       long svcClassType = 0;
+       long svcType = 0;
+
+       ClearLastResult();
+
+       // Gets the address as a String. E.g. 00-1E-2B-72-08-DB
+       pResultStrPtr = (String*) appControlResult.GetValue(String("http://tizen.org/appcontrol/data/bluetooth/address"));
+       SysTryReturn(NID_NET_BT, pResultStrPtr != null, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+
+       dataStr.Insert(*pResultStrPtr, 0);
+
+       // Convert the type of the address to ByteBuffer
+       btAddrBytes.Construct(6);
+       r = _BluetoothDeviceImpl::GetAddressByteBuffer(dataStr, L"-", btAddrBytes);
+       SysTryReturn(NID_NET_BT, r == E_SUCCESS, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+
+       dataStr.Clear();
+
+       // Gets the name
+       pResultStrPtr = (String*) appControlResult.GetValue(String("http://tizen.org/appcontrol/data/bluetooth/name"));
+       SysTryReturn(NID_NET_BT, pResultStrPtr != null, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+       deviceName.Insert(*pResultStrPtr, 0);
+
+       // Gets the rssi value
+       pResultStrPtr = (String*) appControlResult.GetValue(String("http://tizen.org/appcontrol/data/bluetooth/rssi"));
+       SysTryReturn(NID_NET_BT, pResultStrPtr != null, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+       dataStr.Insert(*pResultStrPtr, 0);
+
+       r = Integer::Decode(dataStr, rssi);
+       SysTryReturn(NID_NET_BT, r == E_SUCCESS, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+
+       dataStr.Clear();
+
+       // Gets the ispaired
+       pResultStrPtr = (String*) appControlResult.GetValue(String("http://tizen.org/appcontrol/data/bluetooth/is_paired"));
+       SysTryReturn(NID_NET_BT, pResultStrPtr != null, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+       dataStr.Insert(*pResultStrPtr, 0);
+
+       isPaired = Boolean::Parse(dataStr);
+
+       dataStr.Clear();
+
+       // Gets the major device class
+       pResultStrPtr = (String*) appControlResult.GetValue(String("http://tizen.org/appcontrol/data/bluetooth/major_class"));
+       SysTryReturn(NID_NET_BT, pResultStrPtr != null, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+       dataStr.Insert(*pResultStrPtr, 0);
+
+       r = Long::Decode(dataStr, majClassType);
+       SysTryReturn(NID_NET_BT, r == E_SUCCESS, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+
+       dataStr.Clear();
+
+       // Gets the minor device class
+       pResultStrPtr = (String*) appControlResult.GetValue(String("http://tizen.org/appcontrol/data/bluetooth/minor_class"));
+       SysTryReturn(NID_NET_BT, pResultStrPtr != null, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+       dataStr.Insert(*pResultStrPtr, 0);
+
+       r = Long::Decode(dataStr, minClassType);
+       SysTryReturn(NID_NET_BT, r == E_SUCCESS, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+
+       dataStr.Clear();
+
+       // Gets the service classes as a bit-mask
+       pResultStrPtr = (String*) appControlResult.GetValue(String("http://tizen.org/appcontrol/data/bluetooth/service_class"));
+       SysTryReturn(NID_NET_BT, pResultStrPtr != null, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+       dataStr.Insert(*pResultStrPtr, 0);
+
+       r = Long::Decode(dataStr, svcClassType);
+       SysTryReturn(NID_NET_BT, r == E_SUCCESS, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+
+       dataStr.Clear();
+
+       // Gets the service types as a bit-mask
+       pResultStrPtr = (String*) appControlResult.GetValue(String("http://tizen.org/appcontrol/data/bluetooth/service_type"));
+       SysTryReturn(NID_NET_BT, pResultStrPtr != null, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+       dataStr.Insert(*pResultStrPtr, 0);
+
+       r = Long::Decode(dataStr, svcType);
+       SysTryReturn(NID_NET_BT, r == E_SUCCESS, null, E_INVALID_ARG, "[E_INVALID_ARG] exception occurred on parsing input data.")
+
+       // Create an instance of BluetoothDevice.
+       pNewBtDevice = new (std::nothrow) BluetoothDevice();
+       if (pNewBtDevice == null)
+       {
+               SysLogException(NID_NET_BT, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] exception occurred on creating BluetoothDevice.");
+               SetLastResult(E_OUT_OF_MEMORY);
+               return null;
+       }
+
+       pNewBtDeviceImpl = _BluetoothDeviceImpl::GetInstance(*pNewBtDevice);
+
+       pNewBtDeviceImpl->SetAddress(btAddrBytes);
+       pNewBtDeviceImpl->SetName(deviceName);
+       pNewBtDeviceImpl->SetPaired(isPaired);
+       pNewBtDeviceImpl->SetRssi(rssi);
+       pNewBtDeviceImpl->SetMajorDeviceClassType((BluetoothMajorDeviceClassType) majClassType);
+       pNewBtDeviceImpl->SetMinorDeviceClassType((BluetoothMinorDeviceClassType) minClassType);
+       pNewBtDeviceImpl->SetServiceClassList(svcClassType);
+       pNewBtDeviceImpl->SetServiceList(svcType);
+
+       return pNewBtDevice;
+}
+
 } } } // Tizen::Net::Bluetooth
index 89d57d1..aa78864 100755 (executable)
@@ -256,7 +256,7 @@ public:
         * Sets the discoverable mode of the local device.
         *
         * @visibility  partner-manufacturer
-        * @privlevel   system
+        * @privlevel   platform
         * @privilege   http://tizen.org/privilege/bluetoothmanager
         *
         * @return      An error code