Code Sync [Tizen3.0]: Merged the tizen_2.4 Spin code to tizen.org
[platform/core/connectivity/bluetooth-frwk.git] / bt-api / bt-obex-server.c
old mode 100644 (file)
new mode 100755 (executable)
index 24ad868..b4b6513
@@ -1,13 +1,17 @@
 /*
- * bluetooth-frwk
+ * Bluetooth-frwk
  *
- * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:  Hocheol Seo <hocheol.seo@samsung.com>
+ *              Girishashok Joshi <girish.joshi@samsung.com>
+ *              Chanyeol Park <chanyeol.park@samsung.com>
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *              http://www.apache.org/licenses/LICENSE-2.0
+ *             http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -34,13 +38,13 @@ BT_EXPORT_API int bluetooth_obex_server_init(const char *dst_path)
        gboolean native_service = TRUE;
        char path[BT_FILE_PATH_MAX];
 
-       BT_CHECK_ENABLED();
+       BT_CHECK_ENABLED(return);
 
        if (_bt_get_obex_server_id() != BT_NO_SERVER)
                return BLUETOOTH_ERROR_AGENT_ALREADY_EXIST;
 
        user_info = _bt_get_user_data(BT_COMMON);
-       retv_if(user_info == NULL, BLUETOOTH_ERROR_INTERNAL);
+       retv_if(user_info->cb == NULL, BLUETOOTH_ERROR_INTERNAL);
 
        BT_INIT_PARAMS();
        BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
@@ -74,7 +78,7 @@ BT_EXPORT_API int bluetooth_obex_server_deinit(void)
        int app_pid;
        gboolean native_service = TRUE;
 
-       BT_CHECK_ENABLED();
+       BT_CHECK_ENABLED(return);
 
        if (_bt_get_obex_server_id() != BT_NATIVE_SERVER)
                return BLUETOOTH_ERROR_AGENT_DOES_NOT_EXIST;
@@ -106,13 +110,13 @@ BT_EXPORT_API int bluetooth_obex_server_init_without_agent(const char *dst_path)
        gboolean native_service = FALSE;
        char path[BT_FILE_PATH_MAX];
 
-       BT_CHECK_ENABLED();
+       BT_CHECK_ENABLED(return);
 
        if (_bt_get_obex_server_id() != BT_NO_SERVER)
                return BLUETOOTH_ERROR_AGENT_ALREADY_EXIST;
 
        user_info = _bt_get_user_data(BT_COMMON);
-       retv_if(user_info == NULL, BLUETOOTH_ERROR_INTERNAL);
+       retv_if(user_info->cb == NULL, BLUETOOTH_ERROR_INTERNAL);
 
        BT_INIT_PARAMS();
        BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
@@ -146,7 +150,7 @@ BT_EXPORT_API int bluetooth_obex_server_deinit_without_agent(void)
        int app_pid;
        gboolean native_service = FALSE;
 
-       BT_CHECK_ENABLED();
+       BT_CHECK_ENABLED(return);
 
        /* Can't call this API after using bluetooth_obex_server_init
             in same process */
@@ -241,8 +245,8 @@ BT_EXPORT_API int bluetooth_obex_server_accept_authorize(const char *filename)
        int result;
        char name[BT_FILE_PATH_MAX];
 
-       BT_CHECK_PARAMETER(filename);
-       BT_CHECK_ENABLED();
+       BT_CHECK_PARAMETER(filename, return);
+       BT_CHECK_ENABLED(return);
 
        if (_bt_get_obex_server_id() != BT_NATIVE_SERVER)
                return BLUETOOTH_ERROR_AGENT_DOES_NOT_EXIST;
@@ -266,7 +270,7 @@ BT_EXPORT_API int bluetooth_obex_server_reject_authorize(void)
 {
        int result;
 
-       BT_CHECK_ENABLED();
+       BT_CHECK_ENABLED(return);
 
        if (_bt_get_obex_server_id() != BT_NATIVE_SERVER)
                return BLUETOOTH_ERROR_AGENT_DOES_NOT_EXIST;
@@ -289,8 +293,8 @@ BT_EXPORT_API int bluetooth_obex_server_set_destination_path(const char *dst_pat
        gboolean native_service = FALSE;
        char path[BT_FILE_PATH_MAX];
 
-       BT_CHECK_PARAMETER(dst_path);
-       BT_CHECK_ENABLED();
+       BT_CHECK_PARAMETER(dst_path, return);
+       BT_CHECK_ENABLED(return);
 
        server_id = _bt_get_obex_server_id();
 
@@ -320,8 +324,8 @@ BT_EXPORT_API int bluetooth_obex_server_set_root(const char *root)
        int result;
        char root_path[BT_FILE_PATH_MAX];
 
-       BT_CHECK_PARAMETER(root);
-       BT_CHECK_ENABLED();
+       BT_CHECK_PARAMETER(root, return);
+       BT_CHECK_ENABLED(return);
 
        if (_bt_get_obex_server_id() == BT_NO_SERVER)
                return BLUETOOTH_ERROR_AGENT_DOES_NOT_EXIST;
@@ -346,7 +350,7 @@ BT_EXPORT_API int bluetooth_obex_server_cancel_transfer(int transfer_id)
        int server_type;
        int service_function = BT_OBEX_SERVER_CANCEL_TRANSFER;
 
-       BT_CHECK_ENABLED();
+       BT_CHECK_ENABLED(return);
 
        server_type = _bt_get_obex_server_id();
 
@@ -372,7 +376,7 @@ BT_EXPORT_API int bluetooth_obex_server_cancel_all_transfers(void)
 {
        int result;
 
-       BT_CHECK_ENABLED();
+       BT_CHECK_ENABLED(return);
 
        if (_bt_get_obex_server_id() == BT_NO_SERVER)
                return BLUETOOTH_ERROR_AGENT_DOES_NOT_EXIST;
@@ -388,3 +392,28 @@ BT_EXPORT_API int bluetooth_obex_server_cancel_all_transfers(void)
        return result;
 }
 
+BT_EXPORT_API int bluetooth_obex_server_is_receiving(gboolean *is_receiving)
+{
+       int result;
+
+       *is_receiving = FALSE;
+
+       BT_CHECK_ENABLED(return);
+
+       BT_INIT_PARAMS();
+       BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+       result = _bt_send_request(BT_OBEX_SERVICE, BT_OBEX_SERVER_IS_RECEIVING,
+               in_param1, in_param2, in_param3, in_param4, &out_param);
+
+       if (result == BLUETOOTH_ERROR_NONE) {
+               *is_receiving = g_array_index(out_param, gboolean, 0);
+       } else {
+               BT_ERR("Fail to send request");
+       }
+
+       BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+       return result;
+}
+