Remove resources to control a camera 88/202388/1
authorJin Yoon <jinny.yoon@samsung.com>
Thu, 28 Mar 2019 02:42:01 +0000 (11:42 +0900)
committerJin Yoon <jinny.yoon@samsung.com>
Thu, 28 Mar 2019 02:42:01 +0000 (11:42 +0900)
Profile : IoT Headless(that doesn't contain camera resources)

Change-Id: Id8c2aeee4f5cbf8730ba0c47ed97331038ef6b2a

CMakeLists.txt
inc/resource.h
inc/resource/resource_camera.h [deleted file]
inc/resource/resource_infrared_motion_sensor.h
packaging/org.tizen.position-finder-server.spec
src/controller.c
src/resource/resource_camera.c [deleted file]

index 49fd759..249fbd0 100755 (executable)
@@ -23,7 +23,6 @@ pkg_check_modules(APP_PKGS REQUIRED
        json-glib-1.0
        capi-system-info
        capi-network-connection
-       capi-media-camera
 )
 
 ADD_DEFINITIONS(-DCBOR_FILE_IN_RES="${INSTALL_RESDIR}/${CBOR_FILE}")
@@ -62,7 +61,6 @@ ADD_EXECUTABLE(${PROJECT_NAME}
        ${PROJECT_ROOT_DIR}/src/resource/resource_gas_detection_sensor.c
        ${PROJECT_ROOT_DIR}/src/resource/resource_sound_level_sensor.c
        ${PROJECT_ROOT_DIR}/src/resource/resource_adc_mcp3008.c
-       ${PROJECT_ROOT_DIR}/src/resource/resource_camera.c
 )
 
 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
index f3ffe3c..783fd8f 100755 (executable)
@@ -38,6 +38,5 @@
 #include "resource/resource_tilt_sensor.h"
 #include "resource/resource_gas_detection_sensor.h"
 #include "resource/resource_sound_level_sensor.h"
-#include "resource/resource_camera.h"
 
 #endif /* __POSITION_FINDER_RESOURCE_H__ */
diff --git a/inc/resource/resource_camera.h b/inc/resource/resource_camera.h
deleted file mode 100644 (file)
index 545e9b9..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Contact: Jin Yoon <jinny.yoon@samsung.com>
- *          Geunsun Lee <gs86.lee@samsung.com>
- *          Eunyoung Lee <ey928.lee@samsung.com>
- *          Junkyu Han <junkyu.han@samsung.com>
- *
- * Licensed under the Flora License, Version 1.1 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <camera.h>
-
-#define MAX_IMAGE_FILE_LEN 256
-#define DEFAULT_FILE_PATH "/home/owner/media"
-
-typedef void (*capture_completed_cb)(const void *image, unsigned int size, void *user_data);
-
-int resource_capture_camera(capture_completed_cb capture_completed_cb, void *data);
-void resource_close_camera(void);
index 65bdda7..10470d5 100644 (file)
@@ -6,7 +6,7 @@
  *          Eunyoung Lee <ey928.lee@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
  *
- * Licensed under the Flora License, Version 1.1 (the License);
+* Licensed under the Flora License, Version 1.1 (the License);
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
index 8f50c9b..dd4e98a 100644 (file)
@@ -28,7 +28,6 @@ BuildRequires:  pkgconfig(glib-2.0)
 BuildRequires:  pkgconfig(json-glib-1.0)
 BuildRequires:  pkgconfig(capi-system-info)
 BuildRequires:  pkgconfig(capi-network-connection)
-BuildRequires:  pkgconfig(capi-media-camera)
 
 %description
 Server for Position Finder
index 75b458f..e0351d3 100644 (file)
 
 #include "log.h"
 #include "resource.h"
-#include "connectivity.h"
-#include "controller.h"
-#include "controller_util.h"
-#include "webutil.h"
 
-#define CONNECTIVITY_KEY "opened"
 #define SENSORING_TIME_INTERVAL 5.0f
-#define CAMERA_TIME_INTERVAL 2
-#define TEST_CAMERA_SAVE 0
-#define CAMERA_ENABLED 0
 
 typedef struct app_data_s {
        Ecore_Timer *getter_timer;
-       connectivity_resource_s *resource_info;
 } app_data;
 
-static void __resource_camera_capture_completed_cb(const void *image, unsigned int size, void *user_data)
-{
-       /* TODO */
-       const char *path = NULL;
-       const char *url = NULL;
-
-       controller_util_get_path(&path);
-
-       controller_util_get_image_address(&url);
-
-       web_util_noti_post_image_data(url, path, image, size);
-
-#if TEST_CAMERA_SAVE
-       FILE *fp = NULL;
-       char *data_path = NULL;
-       char file[256];
-
-       data_path = app_get_data_path();
-
-       snprintf(file, sizeof(file), "%sjjoggoba.jpg", data_path);
-       free(data_path);
-       _D("File : %s", file);
-
-       fp = fopen(file, "w");
-       if (!fp) {
-               _E("Failed to open file: %s", file);
-               return;
-       }
-
-       if (fwrite(image, size, 1, fp) != 1) {
-               _E("Failed to write image to file");
-               return;
-       }
-
-       fclose(fp);
-#endif
-}
-
 static Eina_Bool control_sensors_cb(void *data)
 {
-       app_data *ad = data;
-       int value = 1;
+       uint32_t value = 0;
        int ret = 0;
-#if CAMERA_ENABLED
-       static unsigned int count = 0;
 
-       if (count % CAMERA_TIME_INTERVAL == 0) {
-               ret = resource_capture_camera(__resource_camera_capture_completed_cb, NULL);
-               if (ret < 0)
-                       _E("Failed to capture camera");
+       ret = resource_read_infrared_motion_sensor(12, &value);
+       if (ret < 0) {
+               _D("Cannot sense from your sensor");
+               return ECORE_CALLBACK_RENEW;
        }
 
-       count++;
-#endif
+       _D("PIR Value : %d", value);
 
-       /* This is an example, get value from sensors first */
-       if (connectivity_notify_int(ad->resource_info, "Motion", value) == -1)
-               _E("Cannot notify message");
+       ret = resource_write_led(26, value);
+       if (ret < 0) {
+               _D("Cannot write a value to your LED");
+               return ECORE_CALLBACK_RENEW;
+       }
 
        return ECORE_CALLBACK_RENEW;
 }
@@ -108,28 +59,6 @@ static Eina_Bool control_sensors_cb(void *data)
 static bool service_app_create(void *data)
 {
        app_data *ad = data;
-       int ret = -1;
-       const char *path = NULL;
-
-       /**
-        * No modification required!!!
-        * Access only when modifying internal functions.
-        */
-       controller_init_internal_functions();
-
-       /**
-        * Create a connectivity resource and registers the resource in server.
-        */
-       connectivity_set_protocol(CONNECTIVITY_PROTOCOL_HTTP);
-
-       controller_util_get_path(&path);
-       if (path == NULL) {
-               _E("Failed to get path");
-               return false;
-       }
-
-       ret = connectivity_set_resource(path, "org.tizen.door", &ad->resource_info);
-       if (ret == -1) _E("Cannot broadcast resource");
 
        /**
         * Creates a timer to call the given function in the given period of time.
@@ -151,18 +80,6 @@ static void service_app_terminate(void *data)
        if (ad->getter_timer)
                ecore_timer_del(ad->getter_timer);
 
-
-       /**
-        * Releases the resource about connectivity.
-        */
-       connectivity_unset_resource(ad->resource_info);
-
-       /**
-        * No modification required!!!
-        * Access only when modifying internal functions.
-        */
-       controller_fini_internal_functions();
-
        free(ad);
 }
 
diff --git a/src/resource/resource_camera.c b/src/resource/resource_camera.c
deleted file mode 100644 (file)
index 64ae611..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Contact: Jin Yoon <jinny.yoon@samsung.com>
- *          Geunsun Lee <gs86.lee@samsung.com>
- *          Eunyoung Lee <ey928.lee@samsung.com>
- *          Junkyu Han <junkyu.han@samsung.com>
- *
- * Licensed under the Flora License, Version 1.1 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <camera.h>
-#include <glib.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <tizen.h>
-
-#include "log.h"
-#include "resource/resource_camera.h"
-
-#define RESOLUTION_W 320
-#define RESOLUTION_H 240
-
-static int __init(void);
-static void __completed_cb(void *user_data);
-static bool __resolution_list_cb(int width, int height, void *user_data);
-static void __capturing_cb(camera_image_data_s *image, camera_image_data_s *postview,
-               camera_image_data_s *thumbnail, void *user_data);
-
-struct __camera_data {
-       camera_h cam_handle;
-       int resolution_w;
-       int resolution_h;
-       void *captured_file;
-       unsigned int image_size;
-       capture_completed_cb completed_cb;
-       void *completed_cb_data;
-};
-
-static struct __camera_data *camera_data = NULL;
-
-int resource_capture_camera(capture_completed_cb capture_completed, void *user_data)
-{
-       camera_state_e state;
-       int ret = CAMERA_ERROR_NONE;
-
-       if (camera_data == NULL) {
-               _I("Camera is not initialized");
-               ret = __init();
-               if (ret < 0) {
-                       _E("Failed to initialize camera");
-                       return -1;
-               }
-       }
-
-       ret = camera_get_state(camera_data->cam_handle, &state);
-       if (ret != CAMERA_ERROR_NONE) {
-               _E("Failed to get camera state");
-               return -1;
-       }
-
-       if (state >= CAMERA_STATE_CAPTURING) {
-               _D("Camera is now capturing");
-               return 0;
-       }
-
-       if (state != CAMERA_STATE_PREVIEW) {
-               _I("Preview is not started");
-               ret = camera_start_preview(camera_data->cam_handle);
-               if (ret != CAMERA_ERROR_NONE) {
-                       _E("Failed to start preview");
-                       return -1;
-               }
-       }
-
-       ret = camera_start_capture(camera_data->cam_handle, __capturing_cb, __completed_cb, camera_data);
-       if (ret != CAMERA_ERROR_NONE) {
-               _E("Failed to start capturing");
-               return -1;
-       }
-
-       camera_data->completed_cb = capture_completed;
-       camera_data->completed_cb_data = user_data;
-
-       return 0;
-}
-
-void resource_close_camera(void)
-{
-       if (camera_data == NULL)
-               return;
-
-       camera_stop_preview(camera_data->cam_handle);
-
-       camera_destroy(camera_data->cam_handle);
-       camera_data->cam_handle = NULL;
-
-       free(camera_data);
-       camera_data = NULL;
-}
-
-static void __capturing_cb(camera_image_data_s *image, camera_image_data_s *postview,
-               camera_image_data_s *thumbnail, void *user_data)
-{
-       struct __camera_data *camera_data = user_data;
-       if (image == NULL) {
-               _E("Image is NULL");
-               return;
-       }
-
-       camera_data->captured_file = malloc(image->size);
-       if (camera_data->captured_file == NULL)
-               return;
-
-       _D("Now is on Capturing: Image size[%d x %d]", image->width, image->height);
-
-       memcpy(camera_data->captured_file, image->data, image->size);
-       camera_data->image_size = image->size;
-
-       return;
-}
-
-static void __completed_cb(void *user_data)
-{
-       struct __camera_data *camera_data = user_data;
-       int ret = CAMERA_ERROR_NONE;
-
-       if (camera_data->completed_cb)
-               camera_data->completed_cb(camera_data->captured_file, camera_data->image_size, camera_data->completed_cb_data);
-
-       free(camera_data->captured_file);
-       camera_data->captured_file = NULL;
-
-       if (!camera_data->cam_handle) {
-               _E("Camera is NULL");
-               return;
-       }
-       _D("Capture is completed");
-
-       ret = camera_start_preview(camera_data->cam_handle);
-       if (ret != CAMERA_ERROR_NONE) {
-               _E("Failed to start preview");
-               return;
-       }
-
-       ret = camera_stop_preview(camera_data->cam_handle);
-       if (ret != CAMERA_ERROR_NONE) {
-               _E("Failed to stop preview");
-               return;
-       }
-
-       return;
-}
-
-static bool __resolution_list_cb(int width, int height, void *user_data)
-{
-       _D("Supported resolution - Width[%d], Height[%d]", width, height);
-
-       if (width > camera_data->resolution_w && width <= RESOLUTION_W &&
-                       height > camera_data->resolution_h && height <= RESOLUTION_H) {
-               camera_data->resolution_w = width;
-               camera_data->resolution_h = height;
-       }
-       _D("Fixed Resolution is Width[%d], Height[%d]", camera_data->resolution_w, camera_data->resolution_h);
-
-       return true;
-}
-
-static int __init(void)
-{
-       int ret = CAMERA_ERROR_NONE;
-
-       camera_data = malloc(sizeof(struct __camera_data));
-       if (camera_data == NULL) {
-               _E("Failed to allocate Camera data");
-               return -1;
-       }
-       memset(camera_data, 0, sizeof(struct __camera_data));
-
-       ret = camera_create(CAMERA_DEVICE_CAMERA0, &(camera_data->cam_handle));
-       if (ret != CAMERA_ERROR_NONE) {
-               _E("Failed to create camera");
-               goto ERROR;
-       }
-
-       ret = camera_foreach_supported_capture_resolution(camera_data->cam_handle, __resolution_list_cb, NULL);
-       if (ret != CAMERA_ERROR_NONE) {
-               _E("Failed to foreach supported capture resolution");
-               goto ERROR;
-       }
-
-       ret = camera_set_preview_resolution(camera_data->cam_handle, camera_data->resolution_w, camera_data->resolution_h);
-       if (ret != CAMERA_ERROR_NONE) {
-               _E("Failed to set preview resolution");
-               goto ERROR;
-       }
-
-       ret = camera_set_capture_resolution(camera_data->cam_handle, camera_data->resolution_w, camera_data->resolution_h);
-       if (ret != CAMERA_ERROR_NONE) {
-               _E("Failed to set capture resolution");
-               goto ERROR;
-       }
-
-       ret = camera_set_capture_format(camera_data->cam_handle, CAMERA_PIXEL_FORMAT_JPEG);
-       if (ret != CAMERA_ERROR_NONE) {
-               _E("Failed to set capture resolution");
-               goto ERROR;
-       }
-
-       ret = camera_start_preview(camera_data->cam_handle);
-       if (ret != CAMERA_ERROR_NONE) {
-               _E("Failed to start preview[%d]", ret);
-               goto ERROR;
-       }
-
-       return 0;
-
-ERROR:
-       camera_destroy(camera_data->cam_handle);
-       free(camera_data);
-       return -1;
-}
-