X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fconnectivity%2Fsrc%2Fbt_le_adapter%2Fandroid%2Fcaleutils.h;h=fef040f5c1bf5549d5d6ee9db86e120da4a6ce92;hb=refs%2Ftags%2Ftizen_4.0.m2_release;hp=aa552d7bf5ed9276cedd46f80ff0f644b1a00f97;hpb=84ddde8349acc67db8f013a2f3737669d986bffc;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/connectivity/src/bt_le_adapter/android/caleutils.h b/resource/csdk/connectivity/src/bt_le_adapter/android/caleutils.h index aa552d7..fef040f 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/android/caleutils.h +++ b/resource/csdk/connectivity/src/bt_le_adapter/android/caleutils.h @@ -1,4 +1,4 @@ -/****************************************************************** +/* **************************************************************** * * Copyright 2014 Samsung Electronics All Rights Reserved. * @@ -19,8 +19,8 @@ ******************************************************************/ /** - * @file caleutils.h - * @brief This file contains the APIs for BT LE communications. + * @file + * This file contains the APIs for BT LE communications. */ #ifndef CA_LE_UTILS_H_ #define CA_LE_UTILS_H_ @@ -36,93 +36,157 @@ extern "C" { #endif +#define CA_LE_AUTO_CONNECT_FLAG 1 +#define CA_LE_CONNECTION_STATE 2 +#define CA_LE_SEND_STATE 3 +#define CA_LE_DESCRIPTOR_FOUND 4 + /* Service UUID */ static const char OIC_GATT_SERVICE_UUID[] = CA_GATT_SERVICE_UUID; static const char OIC_GATT_CHARACTERISTIC_REQUEST_UUID[] = CA_GATT_REQUEST_CHRC_UUID; static const char OIC_GATT_CHARACTERISTIC_RESPONSE_UUID[] = CA_GATT_RESPONSE_CHRC_UUID; static const char OIC_GATT_CHARACTERISTIC_CONFIG_UUID[] = "00002902-0000-1000-8000-00805f9b34fb"; +static const char CLASSPATH_BT_PROFILE[] = "android/bluetooth/BluetoothProfile"; +static const char CLASSPATH_BT_GATT[] = "android/bluetooth/BluetoothGatt"; +static const char CLASSPATH_BT_ADAPTER[] = "android/bluetooth/BluetoothAdapter"; +static const char CLASSPATH_BT_DEVICE[] = "android/bluetooth/BluetoothDevice"; +static const char CLASSPATH_BT_UUID[] = "java/util/UUID"; +static const char CLASSPATH_LE_SCANNER[] = "android/bluetooth/le/BluetoothLeScanner"; +static const char CLASSPATH_LE_SCANSETTINGS[] = "android/bluetooth/le/ScanSettings"; + +static const char METHODID_OBJECTNONPARAM[] = "()Landroid/bluetooth/BluetoothAdapter;"; +static const char METHODID_BT_DEVICE[] = "()Landroid/bluetooth/BluetoothDevice;"; +static const char METHODID_BT_REMOTE_DEVICE[] = "(Ljava/lang/String;)Landroid/bluetooth/BluetoothDevice;"; + +static const jint GATT_PROFILE = 7; static const jint GATT_SUCCESS = 0; static const jint BOND_BONDED = 12; static const jint BOND_BONDING = 11; static const jint BOND_NONE = 10; +static const uint16_t STATE_CONNECTED = 3; +static const uint16_t STATE_SERVICE_CONNECTED = 2; +static const uint16_t STATE_DISCONNECTED = 1; + +static const uint16_t GATT_ERROR = 133; + +static const uint16_t STATE_SEND_NONE = 1; +static const uint16_t STATE_SEND_SUCCESS = 2; +static const uint16_t STATE_SEND_FAIL = 3; +static const uint16_t STATE_SENDING = 4; +static const uint16_t STATE_SEND_PREPARING = 5; +static const uint16_t STATE_SEND_MTU_NEGO_SUCCESS = 6; + /** - * @brief get uuid(jni object) from uuid(character) - * @param env [IN] JNI interface pointer - * @param uuid [IN] uuid(character) - * @return uuid(jni object) + * get uuid(jni object) from uuid(character). + * @param[in] env JNI interface pointer. + * @param[in] uuid uuid(character). + * @return uuid(jni object). */ jobject CALEGetUuidFromString(JNIEnv *env, const char* uuid); /** - * @brief get parcel uuid object - * @param env [IN] JNI interface pointer - * @param uuid [IN] uuid (jni object) - * @return parcel uuid object + * get parcel uuid object. + * @param[in] env JNI interface pointer. + * @param[in] uuid uuid (jni object). + * @return parcel uuid object. */ jobject CALEGetParcelUuid(JNIEnv *env, jobject uuid); /** - * @brief get address from a local device - * @param env [IN] JNI interface pointer - * @return local address + * get parcel uuid object from uuid string value. + * @param[in] env JNI interface pointer. + * @param[in] uuid uuid (const char*). + * @return parcel uuid object. + */ +jobject CALEGetParcelUuidFromString(JNIEnv *env, const char* uuid); + +/** + * get address from a local device. + * @param[in] env JNI interface pointer. + * @return local address. */ jstring CALEGetLocalDeviceAddress(JNIEnv *env); /** - * @brief get bonded list - * @param env [IN] JNI interface pointer - * @return bonded list + * get bonded list. + * @param[in] env JNI interface pointer. + * @return bonded list. */ jobjectArray CALEGetBondedDevices(JNIEnv *env); /** - * @brief get constants information of bluetooth state-on - * @param env [IN] JNI interface pointer - * @return constants information of bluetooth state-on + * get constants information of bluetooth state-on. + * @param[in] env JNI interface pointer. + * @return constants information of bluetooth state-on. */ jint CALEGetBTStateOnInfo(JNIEnv *env); /** - * @brief check this device can be supported as BLE client or server - * @param env [IN] JNI interface pointer - * @param level [IN] Android API Level to support - * @return CA_STATUS_OK or ERROR CODES (CAResult_t error codes in cacommon.h) + * check this device can be supported as BLE client or server. + * @param[in] env JNI interface pointer. + * @param[in] level Android API Level to support. + * @return ::CA_STATUS_OK or ERROR CODES (::CAResult_t error codes in cacommon.h). */ CAResult_t CALECheckPlatformVersion(JNIEnv *env, uint16_t level); /** - * @brief get constants information of android.os.Build.VERSION.SDK_INT - * @param env [IN] JNI interface pointer - * @return constants information of android.os.Build.VERSION.SDK_INT + * get constants information of android.os.Build.VERSION.SDK_INT. + * @param[in] env JNI interface pointer. + * @return constants information of android.os.Build.VERSION.SDK_INT. */ jint CALEGetBuildVersion(JNIEnv *env); /** - * @brief get constants information of android.os.Build.VERSION_CODES.[VersionName] - * @param env [IN] JNI interface pointer - * @param versionName [IN] version name (.., KITKAT, LOLLIPOP, ..) - * @return constants information of android.os.Build.VERSION_CODES.[VersionName] + * get constants information of android.os.Build.VERSION_CODES.[VersionName]. + * @param[in] env JNI interface pointer. + * @param[in] versionName version name (.., KITKAT, LOLLIPOP, ..). + * @return constants information of android.os.Build.VERSION_CODES.[VersionName]. */ jint CALEGetBuildVersionCodeForName(JNIEnv *env, const char* versionName); /** - * @brief get bluetooth adapter state information - * @param env [IN] JNI interface pointer - * @return JNI_TRUE if the local adapter is turned on + * get bluetooth adapter state information. + * @param[in] env JNI interface pointer. + * @return JNI_TRUE if the local adapter is turned on. */ jboolean CALEIsEnableBTAdapter(JNIEnv *env); /** - * @brief get address from remote device - * @param env [IN] JNI interface pointer - * @param bluetoothDevice [IN] bluetooth device object - * @return remote address + * get address from remote device. + * @param[in] env JNI interface pointer. + * @param[in] bluetoothDevice bluetooth device object. + * @return remote address. */ jstring CALEGetAddressFromBTDevice(JNIEnv *env, jobject bluetoothDevice); +/** + * get value from selected constants. + * @param[in] env JNI interface pointer. + * @param[in] classType class type + * @param[in] name constants name to get. + * @return remote address. + */ +jint CALEGetConstantsValue(JNIEnv *env, const char* classType, const char* name); + +/** + * get bluetooth device object from bluetooth adapter. + * @param[in] env JNI interface pointer. + * @param[in] address bluetooth address. + * @return bluetooth device object. + */ +jobject CALEGetRemoteDevice(JNIEnv *env, jstring address); + +/** + * get address from gatt profile object. + * @param[in] env JNI interface pointer. + * @param[in] gatt gatt profile object. + * @return LE address. + */ +jstring CALEGetAddressFromGatt(JNIEnv *env, jobject gatt); + #ifdef __cplusplus } /* extern "C" */ #endif