platform/core/system/sensord.git
7 years agosensord: spec: provide libsensor.so.2 for build dependency 34/127434/2
kibak.yoon [Thu, 27 Apr 2017 08:30:26 +0000 (17:30 +0900)]
sensord: spec: provide libsensor.so.2 for build dependency

Change-Id: Id5a50c908c3540900af34932779552c461bf9899
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: rv: fix invalid name of magnetic sensor type URI 91/127391/1
kibak.yoon [Thu, 27 Apr 2017 06:36:06 +0000 (15:36 +0900)]
sensord: rv: fix invalid name of magnetic sensor type URI

Change-Id: Ib52c3dd5bfd8f50f686f40d6e630b1f97de02b3e
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: version up 4.0.0 for Tizen 4 85/127285/4
kibak.yoon [Thu, 27 Apr 2017 03:43:37 +0000 (12:43 +0900)]
sensord: version up 4.0.0 for Tizen 4

Change-Id: Ia69940ee6f5a1268372d994ff40381aecdcb7235
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: check validation of sensor URI to create a sensor provider 32/127232/4
kibak.yoon [Wed, 26 Apr 2017 13:01:39 +0000 (22:01 +0900)]
sensord: check validation of sensor URI to create a sensor provider

- URI format : http://<vendor>/sensor/<sensor_type>/<sensor_name>
- Apps are not allowed to create a sensor of the type in sensor_type_e.

- Allowed:
  - "http://example.org/sensor/mysensor_type/mysensor"
  - "http://developer.samsung.com/sensor/mysensor_type/mysensor"
- Disallowed:
  - "http://tizen.org/sensor/accelerometer/mysensor"      (predefined type)
  - "http://tizen.org/mysensor/accelerometer/mysensor"    (syntax error)
  - "http:/tizen.org/accelerometer/mysensor"              (syntax error)
  - "http:/example.org/sensor/mysensor/mysensor/mysensor" (syntax error)

- test command
  $ sensorctl test auto provider_uri

Change-Id: I0ce36a9c2a5a7953b975917962d50cf39c863bb3
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add NULL check when callbacks is called 93/127193/4
kibak.yoon [Wed, 26 Apr 2017 10:54:08 +0000 (19:54 +0900)]
sensord: add NULL check when callbacks is called

Change-Id: Ib2937c0e7ba4656c246b29a3addb1163d4494ef5
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: change return type from bool to int for checking errors 94/127094/2
kibak.yoon [Wed, 26 Apr 2017 07:21:57 +0000 (16:21 +0900)]
sensord: change return type from bool to int for checking errors

Change-Id: I0b232061df9ed8dd0a4297713e887c7f345a7de4
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agoMerge "sensord: change unclear classes to inner class" into devel/tizen
kibak.yoon [Wed, 26 Apr 2017 07:05:10 +0000 (07:05 +0000)]
Merge "sensord: change unclear classes to inner class" into devel/tizen

7 years agosensord: change unclear classes to inner class 27/126927/2
kibak.yoon [Tue, 25 Apr 2017 09:10:59 +0000 (18:10 +0900)]
sensord: change unclear classes to inner class

- sensor_manager_handler  -> sensor_manager::channel_handler
- sensor_provider_handler -> sensor_provider::channel_handler

Change-Id: I07637cd51e8075ca7ba7271e4b8fb4a6b2c02230
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: assign a category number to enum of commands 55/126755/3
kibak.yoon [Tue, 25 Apr 2017 04:53:18 +0000 (13:53 +0900)]
sensord: assign a category number to enum of commands

manager  : 0x100
listener : 0x200
provider : 0x300
etc      : 0x1000

Change-Id: I137dd95bc523ac591775b743f9cc6e16234a78c6
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: rename URIs of sensor type and support get_sensor(uri) properly 59/126659/5
kibak.yoon [Mon, 24 Apr 2017 12:48:55 +0000 (21:48 +0900)]
sensord: rename URIs of sensor type and support get_sensor(uri) properly

- compare string before last slash

Change-Id: I2e5f6a317298b96db8d712d5545e17f89f8408e5
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: initialize class members of sensor_provider_handler 32/126632/1
kibak.yoon [Mon, 24 Apr 2017 10:27:19 +0000 (19:27 +0900)]
sensord: initialize class members of sensor_provider_handler

Change-Id: I39bd1d2f4b73cfcca23132fb65aa3f95b0872d59
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add internal API to get URI of sensor 31/126631/1
kibak.yoon [Mon, 24 Apr 2017 10:18:15 +0000 (19:18 +0900)]
sensord: add internal API to get URI of sensor

Change-Id: I95f68aa8fefe6a04f42f621de813801859b84884
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: notify that the sensor is registered or unregistered 62/126562/8
kibak.yoon [Mon, 24 Apr 2017 07:15:47 +0000 (16:15 +0900)]
sensord: notify that the sensor is registered or unregistered

Change-Id: I606dd37f3ad045db4ac0d9517b7c87469b9ac37e
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: implement application sensor handler 61/126561/6
kibak.yoon [Mon, 24 Apr 2017 07:13:00 +0000 (16:13 +0900)]
sensord: implement application sensor handler

Change-Id: If415a7268adf9d7cd5870ba62a0f4bd7497baccf
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: do not let the listener have sensor pointer directly 60/126560/4
kibak.yoon [Mon, 24 Apr 2017 06:55:55 +0000 (15:55 +0900)]
sensord: do not let the listener have sensor pointer directly

- Since the sensor could be registered or unregistered in runtime,
the sensor pointer of sensor listener can be NULL
when the sensor is unregistered.
- This patch modifies the listener has only the sensor URI and requests
  a handle to the sensor manager if needed.

Change-Id: I7967a332577eb7a0a41c7e678eea85b6b3f55dfd
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: implement URI-based and provider internal APIs 53/126553/4
kibak.yoon [Mon, 24 Apr 2017 06:53:27 +0000 (15:53 +0900)]
sensord: implement URI-based and provider internal APIs

Change-Id: Id76f26d41ce124323bc581fd8ceb6820e73f1be7
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: detect that a sensor is added or removed in runtime (client-side) 52/126552/4
kibak.yoon [Mon, 24 Apr 2017 06:48:07 +0000 (15:48 +0900)]
sensord: detect that a sensor is added or removed in runtime (client-side)

Change-Id: Ie9c4e93ca77f911226bce6b72f9517185bb43dd2
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add sensor_provider for app-level sensor 51/126551/4
kibak.yoon [Mon, 24 Apr 2017 06:45:21 +0000 (15:45 +0900)]
sensord: add sensor_provider for app-level sensor

Change-Id: Ic0e02eafabe455e711a52ae1db1e86dae707f975
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add command types/macros for sensor provider 50/126550/4
kibak.yoon [Mon, 24 Apr 2017 06:39:17 +0000 (15:39 +0900)]
sensord: add command types/macros for sensor provider

Change-Id: I6f4b5adcd116eadd0a94dd0fef69027030ac6ca6
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: remove set/get API for the URI of sensor type 46/126546/2
kibak.yoon [Mon, 24 Apr 2017 06:33:27 +0000 (15:33 +0900)]
sensord: remove set/get API for the URI of sensor type

- It doesn't necessary because it is already contained in the URI.

Change-Id: I3a360004441558a5498face4211c5512db68a1e9
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add testcase for sensor-provider APIs 33/126533/2
kibak.yoon [Mon, 24 Apr 2017 05:24:56 +0000 (14:24 +0900)]
sensord: add testcase for sensor-provider APIs

1. add "http://tizen.org/sensor/mysensor/mysensor"
2. publish events to sensor listeners
3. start/stop/set_interval callbacks
4. sensor_added_cb/sensor_removed_cb callbacks

Change-Id: I98c49388ecfcd677c2c517cfb1e1d4cf3f405f26
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add skeleton APIs for sensor provider 19/126519/4
kibak.yoon [Mon, 24 Apr 2017 03:42:53 +0000 (12:42 +0900)]
sensord: add skeleton APIs for sensor provider

Change-Id: I22659ac09301f7ba12b2de4613217b78faefdaa4
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agoRemove the fake packages libsensord and libsensord-devel 14/126514/1
Mu-Woong Lee [Mon, 24 Apr 2017 03:33:36 +0000 (12:33 +0900)]
Remove the fake packages libsensord and libsensord-devel

Change-Id: Id3dec722390a5ac44b7cb1b4951f5afac7889eb9
Signed-off-by: Mu-Woong Lee <muwoong.lee@samsung.com>
7 years agosensord: remove sleep() in new failed handler 88/126088/1
kibak.yoon [Thu, 20 Apr 2017 05:34:31 +0000 (14:34 +0900)]
sensord: remove sleep() in new failed handler

Change-Id: I74714fe67becd945d95e869f5de96241ebe3325e
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: initialize cynara conf pointer to NULL 59/126059/2
kibak.yoon [Thu, 20 Apr 2017 03:58:44 +0000 (12:58 +0900)]
sensord: initialize cynara conf pointer to NULL

Change-Id: Ie80f3ad0053001424472bb03521450cebf5a6f92
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: sleep 100ms instead of a very short time 53/126053/2
kibak.yoon [Thu, 20 Apr 2017 03:56:49 +0000 (12:56 +0900)]
sensord: sleep 100ms instead of a very short time

Change-Id: Ib6432a072cb59bf03803915c497916695993a340
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: replace usleep() code with sleep() 52/126052/1
kibak.yoon [Thu, 20 Apr 2017 03:53:51 +0000 (12:53 +0900)]
sensord: replace usleep() code with sleep()

- this patch makes it a one second delay instead of 100ms.
  It's no problem.

Change-Id: I7f291e06247716a556a0bf8fa4e4293511beec59
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: remove unnecessary usleep() 51/126051/1
kibak.yoon [Thu, 20 Apr 2017 03:52:36 +0000 (12:52 +0900)]
sensord: remove unnecessary usleep()

Change-Id: I3190710465ea1dcdef396b84155403a6418fd210
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: use readdir() instead of deprecated readdir_r 63/125263/1
kibak.yoon [Fri, 14 Apr 2017 08:58:03 +0000 (17:58 +0900)]
sensord: use readdir() instead of deprecated readdir_r

Change-Id: Iad45c3eea70923dc6f42a966b4ed0c62fcb3ebc4
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: fix bug with invalid character(!) 57/125257/1
kibak.yoon [Fri, 14 Apr 2017 08:22:54 +0000 (17:22 +0900)]
sensord: fix bug with invalid character(!)

Change-Id: Ib35b0f4c2ea3dc1d9c169ef24fa533a99d21c9c8
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: rename fusion sensors to proper name 32/125232/1
kibak.yoon [Fri, 14 Apr 2017 07:44:54 +0000 (16:44 +0900)]
sensord: rename fusion sensors to proper name

Change-Id: Ied998d22a50464a735b7f37a893c0de51c6d282f
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add defensive code for blocking issue 36/125136/1
kibak.yoon [Fri, 14 Apr 2017 03:24:47 +0000 (12:24 +0900)]
sensord: add defensive code for blocking issue

- this issue is related to hrm_raw sensor device driver

Change-Id: Ib75c56b7847b4afe8aeb3a14609168a47a669b64
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: remove unnecessary socket log 79/123679/3
kibak.yoon [Thu, 6 Apr 2017 10:55:46 +0000 (19:55 +0900)]
sensord: remove unnecessary socket log

Change-Id: I7a7213ebd917ccf88172b159667ad8b9169daa63
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: suppress verbos log message 90/125090/1
kibak.yoon [Thu, 13 Apr 2017 16:10:01 +0000 (01:10 +0900)]
sensord: suppress verbos log message

- highlight compile errors/warnings

Change-Id: I19b34adff7fd0488109c6361dea70d0865f7a1db
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: support get_data() API simply 89/125089/1
kibak.yoon [Thu, 13 Apr 2017 16:07:36 +0000 (01:07 +0900)]
sensord: support get_data() API simply

- [TBD] it doesn't consider whether the value is normal or not.

Change-Id: I5b5517c82d8282cf433fe6b7eb4b9a2956346d0b
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: separate channel for event and command 88/125088/1
kibak.yoon [Thu, 13 Apr 2017 16:00:56 +0000 (01:00 +0900)]
sensord: separate channel for event and command

- if the event occurs during sending command, a timing issue will occur.

Change-Id: I8ed5ad2f7c6bcc9ea44641c619458639553822c2
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: compare previous interval with current interval 87/125087/1
kibak.yoon [Thu, 13 Apr 2017 15:56:05 +0000 (00:56 +0900)]
sensord: compare previous interval with current interval

Change-Id: I65c56ce4a3757447fb1fdc61b344732fcd4dbc9b
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: add required privilege to pre-defined types 86/125086/1
kibak.yoon [Thu, 13 Apr 2017 15:53:52 +0000 (00:53 +0900)]
sensord: add required privilege to pre-defined types

Change-Id: I0f08ad04497fa544318b1bd57dc7a2af470fa99a
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: use int32_t instead size_t 85/125085/1
kibak.yoon [Thu, 13 Apr 2017 15:51:14 +0000 (00:51 +0900)]
sensord: use int32_t instead size_t

- compatibility with 64bit platform

Change-Id: I16299dfe15418492506063ce6572e7cdf9502127
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: return the appropriate error 84/125084/1
kibak.yoon [Thu, 13 Apr 2017 15:42:10 +0000 (00:42 +0900)]
sensord: return the appropriate error

Change-Id: I953af6979592f003b7967898f2389b782b562f63
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: use underscore(_) instead of dot(.) for URI string 83/125083/1
kibak.yoon [Thu, 13 Apr 2017 15:31:56 +0000 (00:31 +0900)]
sensord: use underscore(_) instead of dot(.) for URI string

- [TBD] discuss what is the better

Change-Id: I6c41cc4eca22062159734ebfae422f9da0ce7c04
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: use emplace_back instead of push_back 82/125082/1
kibak.yoon [Thu, 13 Apr 2017 15:30:48 +0000 (00:30 +0900)]
sensord: use emplace_back instead of push_back

Change-Id: I812a34b162a982dfa1ba7033bcb35e758d8d71dd
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: enable rotation vector/orientation sensors 81/125081/1
kibak.yoon [Thu, 13 Apr 2017 15:30:02 +0000 (00:30 +0900)]
sensord: enable rotation vector/orientation sensors

Change-Id: I60368ad616e34f17107565c6014135a4aeb4aacb
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: remove unnecessary testcases for fusion library 80/125080/1
kibak.yoon [Thu, 13 Apr 2017 15:24:49 +0000 (00:24 +0900)]
sensord: remove unnecessary testcases for fusion library

Change-Id: Iaf95f379ccf05cfa2c8f001d1976804d50ad7b10
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: enable linear acceleration sensor 72/125072/2
kibak.yoon [Thu, 13 Apr 2017 15:22:10 +0000 (00:22 +0900)]
sensord: enable linear acceleration sensor

Change-Id: I6cd5d9ae2606e5544f2fdde2830ee33392d5e81a
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: enable gravity sensors (lowpass and complementary) 70/123670/3
kibak.yoon [Wed, 12 Apr 2017 10:54:18 +0000 (19:54 +0900)]
sensord: enable gravity sensors (lowpass and complementary)

Change-Id: I7324bb6b806befc188145ed26281db9a8a65d36e
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: enable auto_rotation sensor 62/123662/5
kibak.yoon [Wed, 12 Apr 2017 09:57:17 +0000 (18:57 +0900)]
sensord: enable auto_rotation sensor

Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
Change-Id: I16b057a84c9606297a5a7d8b481bae633a95b69c

7 years agosensord: modify sensor plugin interface 71/125071/2
kibak.yoon [Wed, 12 Apr 2017 09:54:08 +0000 (18:54 +0900)]
sensord: modify sensor plugin interface

- rename from get_sensors to get_sensor_info()
- change the parameter of update() from id to URI

* [TBD] the name of sensor_notifier

Change-Id: Ie50afe75a3517847d17e259a6bf317095a827cc7
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agoRename packages in a more conventional way: sensord & sensord-dummy 34/124834/1
Mu-Woong Lee [Wed, 12 Apr 2017 12:30:47 +0000 (21:30 +0900)]
Rename packages in a more conventional way: sensord & sensord-dummy

Change-Id: I5a86ca6256fc0781cccea5e6806520c4d3b9822b
Signed-off-by: Mu-Woong Lee <muwoong.lee@samsung.com>
7 years agosensord: fix warnings detected from static analysis 89/124689/5
kibak.yoon [Wed, 12 Apr 2017 03:39:16 +0000 (12:39 +0900)]
sensord: fix warnings detected from static analysis

- fix member variable initialziation ordered warnings
- add missing breaks in switch-case statement
- check the range of index

Change-Id: Iaf75452578b69b9a7952321d25db75e53be7ca81
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: rename information list/map properly 18/124618/3
kibak.yoon [Wed, 12 Apr 2017 03:28:15 +0000 (12:28 +0900)]
sensord: rename information list/map properly

Change-Id: I1e56466e0ef00c428196cb5df1340839236c9ab5
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: support original path to load HAL library 57/124557/4
kibak.yoon [Tue, 11 Apr 2017 18:06:21 +0000 (03:06 +0900)]
sensord: support original path to load HAL library

Change-Id: Id32a8e5d2f008766542ee9a46e5757a284667630
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: fix to return approprivate error 13/124613/2
kibak.yoon [Wed, 12 Apr 2017 02:24:49 +0000 (11:24 +0900)]
sensord: fix to return approprivate error

Change-Id: I4d1ca524b4041232ed7c8e350f3261b264112ceb
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: check privilege everytime for every request 06/124606/4
kibak.yoon [Wed, 12 Apr 2017 02:00:27 +0000 (11:00 +0900)]
sensord: check privilege everytime for every request

- check privilege for get_sensor/get_sensor_list
- check privilege for all controls

Change-Id: I7148c7d506bb1eaa01046e60b1b81a0ce5ec899a
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add tokenize function to sensor::utils 04/124604/2
kibak.yoon [Wed, 12 Apr 2017 01:59:22 +0000 (10:59 +0900)]
sensord: add tokenize function to sensor::utils

Change-Id: I8f646d00a241f23a8ee2ca3725102fecf8ec220c
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: remove sensor_permission_t in the sensord 02/124602/1
kibak.yoon [Wed, 12 Apr 2017 01:56:31 +0000 (10:56 +0900)]
sensord: remove sensor_permission_t in the sensord

- SENSOR_PRIVILEGE_PUBLIC should be 0 because of backwards
  compatibility.

Change-Id: I81ff50e0e15459ede107925cc9eedfbabdedc9b8
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: fix a bug which did not check privilege 97/124597/1
kibak.yoon [Wed, 12 Apr 2017 01:52:13 +0000 (10:52 +0900)]
sensord: fix a bug which did not check privilege

- missing cynara check

Change-Id: I3bb6de4babadfd17f45b0b99f2b957942c05cb95
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: move member functions from public to private 92/124592/1
kibak.yoon [Wed, 12 Apr 2017 01:43:29 +0000 (10:43 +0900)]
sensord: move member functions from public to private

Change-Id: Ibbf486527e7b41663c6a3948071602d897b890b0
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensor: remove a bad way for hiding sensor handle 55/123855/2
kibak.yoon [Fri, 7 Apr 2017 08:25:51 +0000 (17:25 +0900)]
sensor: remove a bad way for hiding sensor handle

- from now on, privilege is not checking.

Change-Id: I4853b27e2bb7a7c2fc1775974d9df8e199b46ec8
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: remove sensor_permission_t from sensor_info 52/123852/2
kibak.yoon [Fri, 7 Apr 2017 08:18:00 +0000 (17:18 +0900)]
sensord: remove sensor_permission_t from sensor_info

- it just only needs privilege string.

Change-Id: I82b25ae10075167781ed21baf62fe868a7b48450
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: check URI to find the matched sensor 56/124556/1
kibak.yoon [Tue, 11 Apr 2017 15:32:56 +0000 (00:32 +0900)]
sensord: check URI to find the matched sensor

Change-Id: Ib6d0364fd7036c295129872b7db79f0bd8f40685
Signed-off-by: kibak.yoon <seseki17@gmail.com>
7 years agosensord: add testcase for internal apis 61/123661/1
kibak.yoon [Thu, 6 Apr 2017 10:16:45 +0000 (19:16 +0900)]
sensord: add testcase for internal apis

- there are just only basic testcases.
- [TBD] more test cases will be added.

Change-Id: I28e44c0001ef77ce6349e0b03bc6b17bf7dea429
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: implement server_channel_handler 57/123657/1
kibak.yoon [Thu, 6 Apr 2017 10:14:20 +0000 (19:14 +0900)]
sensord: implement server_channel_handler

- server_channel_handler is a handler that responds to client request.

Change-Id: I788010896384f686fa271d61662cd09ae48ca4c2
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add calibration node setting 56/123656/1
kibak.yoon [Thu, 6 Apr 2017 10:12:15 +0000 (19:12 +0900)]
sensord: add calibration node setting

- read calibration file path from configuration file(/etc/sensor_cal.conf)

Change-Id: Ic256a0352e1e047dc4d7a3cc091a0b7cdaf106be
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add sensor_manager to create and manage sensor_handlers 51/123651/3
kibak.yoon [Thu, 6 Apr 2017 09:55:11 +0000 (18:55 +0900)]
sensord: add sensor_manager to create and manage sensor_handlers

- add sensor_event_handler which is to listen events from physical sensor

Change-Id: I6854ee874c52c003e4e1daa37a57974ee4b434e4
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: pass observer handle to flush() 53/123653/1
kibak.yoon [Thu, 6 Apr 2017 10:04:16 +0000 (19:04 +0900)]
sensord: pass observer handle to flush()

Change-Id: I4c95531c5461324c41c1ac5eb63cfb4ed00dea99
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add sensor_listener_proxy class 50/123650/2
kibak.yoon [Thu, 6 Apr 2017 09:52:33 +0000 (18:52 +0900)]
sensord: add sensor_listener_proxy class

- sensor_listener_proxy is a proxy of client's listener
- it listens sensor event as observer and controls sensors

Change-Id: I40b398f0701e7940a9893f54b896568debb3ed36
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add application_sensor_handler skeleton class 49/123649/2
kibak.yoon [Thu, 6 Apr 2017 09:49:55 +0000 (18:49 +0900)]
sensord: add application_sensor_handler skeleton class

- application_sensor_handler will be created by application
- application_sensor_handler provides:
  - events from application to observers(listeners)

Change-Id: Ic33e1c164ddfc98766eec6e82b2b537ccf4c5a6a
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add external_sensor_handler class 48/123648/2
kibak.yoon [Thu, 6 Apr 2017 09:47:29 +0000 (18:47 +0900)]
sensord: add external_sensor_handler class

- external_sensor_handler provides:
  - controls for operating external_sensor
  - controls for operation policy
  - listening event from notifier and notify it to observers

Change-Id: I3213c7798873833b8bb5e0307275fd2a3bd52bf6
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add fusion_sensor_handler class 47/123647/2
kibak.yoon [Thu, 6 Apr 2017 09:45:57 +0000 (18:45 +0900)]
sensord: add fusion_sensor_handler class

- fusion_sensor_handler provides:
  - sensor information
  - controls for operating required sensors
  - controls for operation policy

Change-Id: Id1f6d7d6dce67611a00c5f9e2880f4d2178cb145
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add physical_sensor_handler class 46/123646/1
kibak.yoon [Thu, 6 Apr 2017 09:43:32 +0000 (18:43 +0900)]
sensord: add physical_sensor_handler class

- physical_sensor_handler provides:
  - controls for operating sensor HAL(sensor_device)
  - controls for operation policy

Change-Id: I4c5d6b2d99847485ffd8beec1a9634b20ce45e71
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add loader to load sensor plugins 28/123628/2
kibak.yoon [Thu, 6 Apr 2017 08:54:20 +0000 (17:54 +0900)]
sensord: add loader to load sensor plugins

- it loads sensor_device/physical_sensor/fusion_sensor/external_sensor

Change-Id: Ia340e4041900d9a69a0553acc34473cf218a0f95
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add physical_sensor/fusion_sensor/external_sensor interfaces 01/123601/4
kibak.yoon [Thu, 6 Apr 2017 07:58:05 +0000 (16:58 +0900)]
sensord: add physical_sensor/fusion_sensor/external_sensor interfaces

- add sensor information structure(sensor_info2_t)..

Change-Id: I9daca248bc3671b77c3f37c8547575a9ab2903f5
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: implement sensor_handler class 98/123598/1
kibak.yoon [Thu, 6 Apr 2017 07:45:06 +0000 (16:45 +0900)]
sensord: implement sensor_handler class

- sensor_handler has:
  - a common logic of publisher
  - sensor control interface

Change-Id: Ifbc32db62b96996d01041f6b7855b07ae07115b0
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add sensor_publisher and sensor_observer interfaces 17/123417/2
kibak.yoon [Wed, 5 Apr 2017 10:54:34 +0000 (19:54 +0900)]
sensord: add sensor_publisher and sensor_observer interfaces

- observer pattern

Change-Id: I7c0f859a48faca21f1cf51fede816cc84c9b016e
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add the basic implementation of the server-side 83/123383/1
kibak.yoon [Wed, 5 Apr 2017 09:26:20 +0000 (18:26 +0900)]
sensord: add the basic implementation of the server-side

- server provides:
  - controls for the event_loop which manages all I/O events.
- server has:
  - event_loop
  - sensor_manager
  - server_channel_handler

* it is singleton class.

Change-Id: I6d7266f3ec68a4f576428bf4d7c2e91b699a4064
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add handlers to main for new failures 82/123382/1
kibak.yoon [Wed, 5 Apr 2017 08:04:32 +0000 (17:04 +0900)]
sensord: add handlers to main for new failures

- if new(memory allocation) is failed, on_new_failed will be called.
- this patch refers to https://review.tizen.org/gerrit/#/c/123204/

Change-Id: I1817e376fb256992266a78d078cdc15ad00b6a58
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add permission_checker for checking privileges 81/123381/1
kibak.yoon [Wed, 5 Apr 2017 07:20:26 +0000 (16:20 +0900)]
sensord: add permission_checker for checking privileges

- permission_checker provides two way to check privilege:
  - by string
  - by sensor_permission_t(enum)

- [TBD] in the future, we will only check privilege with string.
- [TBD] since there is a direct dependency on cynara,
        it will be separated.

Change-Id: Ic7ddac594bebb669a9643992ef7f52f1c36dcdfb
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: move dbus_listener from client to server 80/123380/1
kibak.yoon [Wed, 5 Apr 2017 07:15:30 +0000 (16:15 +0900)]
sensord: move dbus_listener from client to server

- dbus_listener is a helper class for listening dbus signal.
- it will listen AXIS_ORIENTATED policy from other framework.

Change-Id: I1705d87ebd0ab0a231f7bfccba28ba217ead9b70
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: implement sensor_listener class for clients 87/123287/2
kibak.yoon [Wed, 5 Apr 2017 06:33:47 +0000 (15:33 +0900)]
sensord: implement sensor_listener class for clients

- sensor_listener provides:
  - controls for sensor actions such as start and stop.
  - controls for changing sensor settings
  - listening for sensor events from server

Change-Id: I7216b282cc3429d0864b4343d65ff192951b1038
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: implement sensor_manager class for clients 61/123261/6
kibak.yoon [Wed, 5 Apr 2017 05:42:25 +0000 (14:42 +0900)]
sensord: implement sensor_manager class for clients

- sensor_manager provides:
  - store sensor information and manages all sensor handles
  - check whether the sensor is supported or not

- [TBD]listen an event that the application sensor is connected or disconnected

Change-Id: Icd38a74058170162bbfa8c7df6d1bdcc41d80e2d
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensor: api: implement internal api using classes 46/123246/5
kibak.yoon [Wed, 5 Apr 2017 04:50:49 +0000 (13:50 +0900)]
sensor: api: implement internal api using classes

- check invalid parameters.
- call proper operations/functions.

Change-Id: I61b9813a3f77cfd116a8ea72ee417f4cb7356640
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: api: add skeleton code of internal apis 24/123224/3
kibak.yoon [Wed, 5 Apr 2017 04:06:01 +0000 (13:06 +0900)]
sensord: api: add skeleton code of internal apis

- sensor_manager can stores and manages all of sensors.
- sensor_listener can listen sensor event and modify sensor configuation
  (interval, option, batch_latency, attributes and so on)

- rename client.cpp to sensor_internal.cpp

Change-Id: I15b74b777ba70d9c7b7d7a2c597fabf91f259b2c
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: clean up sensor_info class to support URI as name 18/123218/3
kibak.yoon [Wed, 5 Apr 2017 03:21:11 +0000 (12:21 +0900)]
sensord: clean up sensor_info class to support URI as name

- sensor_info class has sensor information and
  can support serialize/deserialize information between client and server.
- URI(type and name) is supported

- TODO-LIST
  - some information is redundant or requires a clear distinction

Change-Id: I3f40376f37cccbb003d865b7558b5fc55a3b141f
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: add util functions to sensor:utils namepsace 90/123190/3
kibak.yoon [Wed, 5 Apr 2017 01:50:34 +0000 (10:50 +0900)]
sensord: add util functions to sensor:utils namepsace

- change sensor_type_t to uri
- get timestamp
- get client name

Change-Id: I3aabf426176306b31a61c4da987281f19664ac62
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: ipc: add unit testcases 81/123181/3
kibak.yoon [Wed, 5 Apr 2017 01:29:52 +0000 (10:29 +0900)]
sensord: ipc: add unit testcases

- test a connection between ipc_client and ipc_server
- test 2 clients
- test 100 clients
- test 1 client with 2 channels
- test 30 clients with large message
- test 3 normal client and 1 client with small recv buffer
- test 3 normal client and 1 client witch sleeps 10 seconds

Change-Id: I33b2e782872b51d42fc4a68b84bd5d6fe758964f
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: remove build warnings in ipc-utils 75/123175/1
kibak.yoon [Wed, 5 Apr 2017 01:19:13 +0000 (10:19 +0900)]
sensord: remove build warnings in ipc-utils

- warning: control reaches end of non-void function [-Wreturn-type]
- warning: ignoring return value [-Wunused-result]

Change-Id: Id172b9e32bfe45543b16dc9a0726bc1cc0c11441
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: ipc: add ipc_server class 66/123166/1
kibak.yoon [Wed, 5 Apr 2017 00:57:43 +0000 (09:57 +0900)]
sensord: ipc: add ipc_server class

- ipc_server class is a helper for server
- ipc_server class that makes it easy to bind/listen/accept a channel to use
  for server.
- it creates and bind/accepts socket/channel/channel_event_handler

Change-Id: If79e27a6babcf73126b56f65e750176a9ddd5c78
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: ipc: add ipc_client class 58/123158/2
kibak.yoon [Tue, 4 Apr 2017 12:30:31 +0000 (21:30 +0900)]
sensord: ipc: add ipc_client class

- ipc_client class is a helper for client.
- ipc_client class that makes it easy to connect a channel to use for clients.
- it creates and connects socket/channel/channel event_handler.

Change-Id: If75a4ab542d3623a785ccf8bccbd66628b9646db
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: ipc: add channel class 57/123157/2
kibak.yoon [Tue, 4 Apr 2017 12:15:45 +0000 (21:15 +0900)]
sensord: ipc: add channel class

- channel class is a nexus to a socket which is capable of I/O operations,
  such as read, write, connect, and bind.
- channel class provides:
  - the current state of the channel.
  - the configuration parameters of the channel.
  - the I/O operations that the channel supports.
- channel class can support synchronous/asynchronous send/read call.
- channel_handler:
  - is called by all I/O events(connect/disconnect/read and error)

Change-Id: I85365e7cb443e969653353a83f8110ab690c4303
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: ipc: add message class 14/123114/2
kibak.yoon [Tue, 4 Apr 2017 12:02:29 +0000 (21:02 +0900)]
sensord: ipc: add message class

- this class is a helper class for enconding/decoding the byte data.
- message object includes the message header automatically.
  - this header provides message id/type/size/error.

Change-Id: I03dc830baebf7a9bceac97013e9931f333f8f9d2
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: ipc: add event_loop class 01/123101/3
kibak.yoon [Tue, 4 Apr 2017 11:13:14 +0000 (20:13 +0900)]
sensord: ipc: add event_loop class

- event_loop class is a wrapper of g_main_loop.
- event_loop class has the role of I/O multiplexing.
- event_handler interface can be added to event_loop.

- it would be better to make event_loop interface to use the other main_loop..
  but now, it is not necessary yet.

- todo-list
  - add/remove idle handler

Change-Id: I74dd0636d43319e64fa2701f9b3c662e3f31c575
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: ipc: add socket class 81/123081/5
kibak.yoon [Tue, 4 Apr 2017 09:43:36 +0000 (18:43 +0900)]
sensord: ipc: add socket class

- socket class is a wrapper class of unix domain socket
- supported socket types : stream_socket, seqpacket_socket

- TC : $ sensorctl test auto ipc_socket
  - [PASS] sensor_ipc_socket.socket_p_0
  - [PASS] sensor_ipc_socket.socket_p_10
  - [PASS] sensor_ipc_socket.socket_p_1000

Change-Id: I2cb7fcb360d4a9a0c87c77d3e2b39c2bb0c06380
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: clean up command-related types and log-related files 67/123067/5
kibak.yoon [Tue, 4 Apr 2017 09:22:21 +0000 (18:22 +0900)]
sensord: clean up command-related types and log-related files

- remove sensor_log.cpp
- rename command_common.h to command_types.h

Change-Id: I01635838c0a11f466b183b3766ee013a19dee6b8
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: clean up cmake configurations 66/123066/1
kibak.yoon [Tue, 4 Apr 2017 09:09:50 +0000 (18:09 +0900)]
sensord: clean up cmake configurations

- fix typos
- use uppercase letters in commands
- use CMAKE_LD_LIBS macro to link dl library
- the sensord executable binary no longer contains a sensor code

Change-Id: I23dbdfea814ef2961eea63e8eec9e85e2a88f9eb
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensorctl: modify sensorctl to fix some issues 65/123065/1
kibak.yoon [Tue, 4 Apr 2017 09:02:53 +0000 (18:02 +0900)]
sensorctl: modify sensorctl to fix some issues

- prints sensor information with their types
- change is_running type from bool to std::atomic<bool>
- change sensor name from auto_rotation to rotation only
- if there are two or more sensors of the same type, you can select them

Change-Id: If277104ea324c1ae0da675a6e50ce677a8bbc6c9
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: change sensord systemd socket files and name 43/123043/3
kibak.yoon [Tue, 4 Apr 2017 08:34:07 +0000 (17:34 +0900)]
sensord: change sensord systemd socket files and name

- change socket file name from sensord_command.socket to .sensord.socket
- change socket file location from /tmp/ to /run/
- remove sensor_event.socket(useless)

Change-Id: If855c7a3f4c45778b309c8a932a6da1eb17519ca
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: remove sensor_common.h 34/123034/3
kibak.yoon [Tue, 4 Apr 2017 08:06:05 +0000 (17:06 +0900)]
sensord: remove sensor_common.h

- sensor_common.h is not really meaningful.
- move definitions from sensor_common.h to sensor_types.h.

Change-Id: I458bd6f9400ccef31063c524e9a74555f234f84d
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: refactoring: remove regacy code 21/114021/2
kibak.yoon [Thu, 9 Feb 2017 11:18:20 +0000 (20:18 +0900)]
sensord: refactoring: remove regacy code

Change-Id: I4ed2735fd80ab5c9345a03d87ce312c00502c3e2
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
7 years agosensord: refactoring sensorctl for testing modules 20/114020/2
kibak.yoon [Mon, 19 Dec 2016 13:52:37 +0000 (22:52 +0900)]
sensord: refactoring sensorctl for testing modules

- To refactoring, there was the following changes.
  * add test_bench to create testcases easily
  * clean tester/injector/info/loopback files

- testing command examples
  $ sensorctl test accelerometer /* test accelerometer sensor manually */
  $ sensorctl test auto all      /* test all testcases automatically with full-log */
  $ sensorctl test auto socket 0 /* test socket module automatically without full-log */
  $ sensorctl info all
  $ sensorctl inject

Change-Id: Ie888c81f85d282eab77a8e1227d26710a85e9c61
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>