jiyong.min [Mon, 6 Apr 2020 04:03:04 +0000 (13:03 +0900)]
Remove null check for nullable function
Change-Id: If724198ed0343a528ce749c88042a8e147ec3918
jiyong.min [Thu, 26 Mar 2020 04:16:02 +0000 (13:16 +0900)]
Remove unused code
Change-Id: Iae56504825e2142a6ed2fc4e563150d78d20fb62
jiyong.min [Wed, 11 Mar 2020 04:50:47 +0000 (13:50 +0900)]
Rename and relocate the functions for dbus & socket IPC
- dbus IPC functions
all functions except socket IPC functions
- socket IPC functions
__make_service_connection
_mc_ipc_send_message_to_server
_mc_ipc_service_connection
Change-Id: I7cf1ccb706fa1151a0da963ca338304ff3935451
jiyong.min [Wed, 11 Mar 2020 04:32:25 +0000 (13:32 +0900)]
Remove redundant static function
Change-Id: I952404ccd78ba7eca9c1aae678f9b25c795b6bd2
jiyong.min [Wed, 11 Mar 2020 04:29:45 +0000 (13:29 +0900)]
Remove unnecessary allocation
- The 'playback' is allocated by _mc_db_get_playback_info() function,
so it is redundant allocation before calling the function.
Change-Id: I0a6d90db3b85e0b2d841c7cc368bb6cbc74d3b8c
jiyong.min [Tue, 10 Mar 2020 04:30:54 +0000 (13:30 +0900)]
Remove unnecessary variables at dbus listener
Change-Id: I0116e1d67200f0e6ece96ca5744534120cfbea47
jiyong.min [Wed, 4 Mar 2020 06:07:53 +0000 (15:07 +0900)]
Unify duplicated code regarding error handling
Change-Id: I85036d0b31671f60345a361df9b3af8efa153711
jiyong.min [Tue, 3 Mar 2020 05:42:19 +0000 (14:42 +0900)]
Fix resource leak for 'query_list' and retrieve 'sql_str_free' function
Change-Id: I247fdeaa76fcbc1aa83c2b85be9da3402e31570c
jiyong.min [Tue, 3 Mar 2020 04:00:31 +0000 (13:00 +0900)]
Seperate parsing and updating database to reduce CC(cyclomatic complexity)
Change-Id: I5087a4bd1970e9f013b2609dd27c1fd544f4ac93
jiyong.min [Tue, 3 Mar 2020 03:25:31 +0000 (12:25 +0900)]
Seperate 'params' variable from parsing and updating database
Change-Id: I99023a723c8c56aaa9f9d9295d5fce2fca7d065b
jiyong.min [Tue, 3 Mar 2020 02:47:01 +0000 (11:47 +0900)]
Remove duplicated conditions
Change-Id: Ia9b557deef1bbc418d16a97e69e63977dbbf243b
jiyong.min [Tue, 11 Feb 2020 06:54:17 +0000 (15:54 +0900)]
Replace 'g_main_is_running' to 'g_main_loop_is_running' for glib update
Change-Id: Icfd3a29e7110cc46bfb8dfbdf496fe4e09482cc3
jiyong.min [Mon, 20 Jan 2020 05:34:34 +0000 (14:34 +0900)]
Fix coverity issue
- Use after free (USE_AFTER_FREE)
Returns after free '_dst'
- Use macro(g_list_next) and add to check return value in loop
Change-Id: Ie08c5fd02a4ad3c80d7d2c054c2ac34cccb3777a
jiyong.min [Thu, 16 Jan 2020 00:38:19 +0000 (09:38 +0900)]
Change select query of __mc_db_get_record due to wrong result
Change-Id: I82faa60ab52ec8757a92bd7989a1bbc7a80f9578
hj kim [Wed, 15 Jan 2020 07:27:07 +0000 (16:27 +0900)]
Fix build error
Change-Id: I5935f6d070d757baae0ca4b912125c35ebe9c18b
hj kim [Wed, 15 Jan 2020 07:02:54 +0000 (16:02 +0900)]
Version up
Change-Id: I6e9740c833bb3ed436e0a035da3f01ded5e2649b
hj kim [Tue, 14 Jan 2020 01:38:41 +0000 (10:38 +0900)]
Apply Tizen naming convetion for protected(global) functions in internal header
Change-Id: I37dcb730361428ff787b3b36bd2fbdc97b35a2b0
hj kim [Wed, 15 Jan 2020 06:26:52 +0000 (06:26 +0000)]
Merge "unify duplicated code regarding g_dbus_connection_emit_signal" into tizen
hj kim [Tue, 14 Jan 2020 00:54:48 +0000 (09:54 +0900)]
unify duplicated code regarding g_dbus_connection_emit_signal
Change-Id: I36635dc166f5de31b5b282d45bad31e1f1ce3b1e
hj kim [Tue, 14 Jan 2020 00:22:22 +0000 (09:22 +0900)]
updating duplicated code regarding getting value from db
Change-Id: Iafd589a36cbfed804c4bb2eb114223097cb76fd5
hj kim [Mon, 13 Jan 2020 23:54:13 +0000 (08:54 +0900)]
Remove duplicated codes
Change-Id: I1b1feb67b594544f09a725f4d3248d2c651b4b8b
hj kim [Tue, 14 Jan 2020 01:09:59 +0000 (10:09 +0900)]
unify duplicated code regarding command_available
Change-Id: I60137f3cd1efc81f8614a8c2d5913f97fc285cf9
hj kim [Tue, 14 Jan 2020 00:43:01 +0000 (09:43 +0900)]
Remove useless parameter checking code
Change-Id: I3901fb99a19be0489743d52eeedd33cbc67b4362
hj kim [Mon, 13 Jan 2020 08:43:24 +0000 (17:43 +0900)]
Apply Tizen naming convetion for protected(global) functions in internal header
Change-Id: I1b2d3c26a58f2a82c924f5569938b133cf3eaf52
hj kim [Mon, 13 Jan 2020 08:15:24 +0000 (17:15 +0900)]
Remove duplicated code and redundant parameter
Change-Id: I8abe4d8d6eb0f59b6887393126d640bb034bdf24
jiyong.min [Fri, 10 Jan 2020 02:10:14 +0000 (11:10 +0900)]
Fix wrong return value
Change-Id: I6a4935cb30decc1638162cb2ce86cf0926332455
hj kim [Thu, 9 Jan 2020 01:41:49 +0000 (10:41 +0900)]
Apply Tizen naming convention for internal functions.
Change-Id: I6dc03a36252d181e96f3774368732f79dda9aa27
jiyong.min [Mon, 6 Jan 2020 01:52:45 +0000 (10:52 +0900)]
Fix to use valid GList in app_dead handler
Change-Id: I752ce18675b1f671e21c323b57a5600e6ea40505
jiyong.min [Mon, 30 Dec 2019 23:38:28 +0000 (08:38 +0900)]
Fix crash while playlist is updated
Change-Id: I16a71c09a3e867a95cdf5b3498ed9487ee4c4c59
jiyong.min [Thu, 28 Nov 2019 06:10:50 +0000 (15:10 +0900)]
Code refactoring for using GList
- The loop to find listener over the GList are replaced to 'g_list_find_custom()'.
- The 'g_list_length()' is not fast because GList does not keep track of the number of items.
To reduce the 'g_list_length()' call, using index for a loop over the list are replaced
to using iterator.
To visit all elements in the list, use a loop over the list:
GList *l;
for (l = list; l != NULL; l = l->next)
{
// do something with l->data
}
reference: https://developer.gnome.org/glib/stable/glib-Doubly-Linked-Lists.html
Change-Id: Ic916d5ef9157b3c7574631b975351507f860fcb5
jiyong.min [Mon, 16 Dec 2019 05:15:35 +0000 (14:15 +0900)]
Add coverage exception macros
Change-Id: Idc1fd2c8b4352451b78400b93ee35c1829bcaf23
jiyong.min [Thu, 26 Dec 2019 05:23:16 +0000 (14:23 +0900)]
Fix build error due to toolchain upgrade (gcc6->gcc9)
error: cast between incompatible function types
error: '%s' directive argument is null [-Werror=format-overflow=]
Change-Id: I3f8186e0cd44c8e166728e119793ac1eacc95b81
jiyong.min [Mon, 7 Oct 2019 08:04:09 +0000 (17:04 +0900)]
Relocate ability initialization from library to daemon
- To reduce socket communication
Change-Id: Ice9a2d6212eeb63dfd3f6e7b7b5cb9a34151ffa9
Jiyong Min [Mon, 7 Oct 2019 03:23:35 +0000 (03:23 +0000)]
Merge "Remove unused retval" into tizen
hj kim [Wed, 2 Oct 2019 08:04:25 +0000 (17:04 +0900)]
Change code not to send msg when media controller server set default values while launching
Change-Id: Ifce00a85e7abd2651e4f668b0e4a7351dc4db5ed
jiyong.min [Mon, 7 Oct 2019 01:55:10 +0000 (10:55 +0900)]
Remove unused retval
Change-Id: I5880aeaaf0fb8cda36492272eb2aa5acbfdd00b4
hj kim [Wed, 2 Oct 2019 07:08:39 +0000 (16:08 +0900)]
Bug fix of test code
Change-Id: I8e1c3a0335140923c7259047477e351e448d1d11
jiyong.min [Thu, 26 Sep 2019 02:14:55 +0000 (11:14 +0900)]
Add recovery logics for removed tables
Change-Id: If904c7dc7869962ec7ba8c1ea4433e07d7090c47
hj kim [Wed, 24 Jul 2019 08:41:57 +0000 (17:41 +0900)]
[ACR-1444]Add functions for subtitle, display mode, display rotation, 360 mode
Change-Id: I9fd94669658a0de717445f7571003f46f79f96c6
jiyong.min [Thu, 5 Sep 2019 02:22:42 +0000 (11:22 +0900)]
Improve '__mc_client_unregister_filter_listener' function to fix issue
- Issue
After filter_listener were unregistered, listener callback was still invoked.
- Cause
When all filters were unregistered, filter_interface should be unregistered, but normal_interface was used.
- Solution
When filter is unregistered, it is changed to use 'mc_ipc_unregister_filter_listener'.
After that, unregistering filter will use filter_interface(interface + server_name).
Change-Id: I356c1c0d96fd3297e6f3f61e3b906980d3e2f2ef
hj kim [Tue, 27 Aug 2019 08:40:15 +0000 (17:40 +0900)]
Update code to remove SAM violation (GV, PP)
Change-Id: I11345dc1eb6433c91ade42b28321d7354e236bc0
INSUN PYO [Tue, 27 Aug 2019 01:13:53 +0000 (10:13 +0900)]
Delete meaningless configuration
If the socket and service prefix names are the same, then Sockets(in .service) and Service(in .socket) are not needed.
Specifying Sokcets and Service is needed for certain functions, so using it without reason confuses the developer.
Change-Id: I6bf969f4a4abc2e59a6885a852bb1909ad861e77
Signed-off-by: INSUN PYO <insun.pyo@samsung.com>
hj kim [Wed, 14 Aug 2019 01:48:34 +0000 (10:48 +0900)]
Change mc_client_get_ability_support() to mc_client_get_server_ability_support()
Change-Id: Ifce4e6ec68fcdc4b7a648afc8a4c3b5f366d5f3b
hj kim [Mon, 12 Aug 2019 10:32:53 +0000 (19:32 +0900)]
Remove check EACCESS and Fix log position to avoid errno change. (errno can be changed when using dlog)
The media-controller daemon can return EACCESS to the client when the daemon creates a commication socket temporarily.
For this reason, if client get EACCESSn, client must retry the connection.
Change-Id: If7753f8a2590365f4edba2ba6d4183207d0ddf0e
hj kim [Fri, 19 Jul 2019 07:08:33 +0000 (16:08 +0900)]
[ACR-1428] Add functions for ability
Change-Id: Ice6c525465f6e741ceb483a39f9c78585c4d3903
jiyong.min [Thu, 8 Aug 2019 01:52:15 +0000 (10:52 +0900)]
Remove duplicate codes for releasing listener
Change-Id: Ib25f7e12c768a9655d7c44b7abbdf9b3429ee1d4
jiyong.min [Tue, 6 Aug 2019 07:06:28 +0000 (16:06 +0900)]
Add to restart service when ondemand is not enabled.
Change-Id: I24340e840cfff21d68a14792d177b29c64207c00
Minje Ahn [Thu, 1 Aug 2019 04:00:01 +0000 (13:00 +0900)]
Modify the condition expression
Change-Id: Ie18f8fa16d6ed2ea7399d49c3af97c89979ee243
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
jiyong.min [Mon, 5 Aug 2019 00:11:12 +0000 (09:11 +0900)]
Modify subscribe for MC_SUBSCRIPTION_TYPE_PLAYBACK_ABILITY
- After mc_client_subscribe is called for MC_SUBSCRIPTION_TYPE_PLABACK_ABILITY,
mc_playback_ability_updated_cb is not invoked
When mc_client_subscribe is called, wrong user_data was pased.
Change-Id: I1184b5ef76b996b631219d6ccbe9c4ae0f6ba960
Minje Ahn [Thu, 1 Aug 2019 02:26:12 +0000 (11:26 +0900)]
Change return type of mc_db_disconnect()
Change-Id: I183a54a6d2154afdaa13e23def10e6c31c87289b
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Minje Ahn [Thu, 25 Jul 2019 02:22:42 +0000 (11:22 +0900)]
Add for upgrade from 5.0 to 5.5
Change-Id: I72ad8f0aeafaeeda01f08114fc5a05c90be4345d
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
jiyong.min [Thu, 25 Jul 2019 05:33:06 +0000 (14:33 +0900)]
Add logic to apply duplication of search keywords
Change-Id: I35ca0e04e6deebab44ca901c0fcb592989b3bdce
jiyong.min [Thu, 25 Jul 2019 01:38:16 +0000 (10:38 +0900)]
Add static at _destroy_search_list
Change-Id: If1162098d948be58c04d283de4e97e41c59f21f7
hj kim [Tue, 16 Jul 2019 02:45:02 +0000 (11:45 +0900)]
Restore removed APIs for compatibility
Change-Id: Ic16ac2081c1b1c20a438fef064835a81a9b7500f
jiyong.min [Wed, 10 Jul 2019 08:11:32 +0000 (17:11 +0900)]
Change the server check for activate and exist
Change-Id: I93199e12482b38dc39e978eac3ff5da8d5f6babb
Jiyong Min [Wed, 10 Jul 2019 05:45:33 +0000 (05:45 +0000)]
Merge "[ACR-1411] Add new error for ability not supported" into tizen
hj kim [Wed, 10 Jul 2019 02:18:07 +0000 (11:18 +0900)]
search keyword can be NULL if category is not determined
Change-Id: I40a70bb32c17401c6dbedf136fb537527308901a
jiyong.min [Tue, 4 Jun 2019 23:42:44 +0000 (08:42 +0900)]
[ACR-1411] Add new error for ability not supported
Change-Id: I7cd47f659b30873664315fabce17474ef49075ae
jiyong.min [Wed, 3 Jul 2019 02:40:36 +0000 (11:40 +0900)]
Add to free 'msg', 'creds', and 'source' due to memory leak issue
Change-Id: Iea97415f5e4c8abfb963cb5906882dc0dbc6ccaf
hj kim [Thu, 4 Jul 2019 06:59:02 +0000 (06:59 +0000)]
Merge "Use __mc_db_get_record() on mc_db_get_latest_server_info" into tizen
Jiyong Min [Thu, 4 Jul 2019 06:53:33 +0000 (06:53 +0000)]
Merge "Remove unnecessary setting" into tizen
Minje Ahn [Tue, 2 Jul 2019 00:37:08 +0000 (09:37 +0900)]
Use __mc_db_get_record() on mc_db_get_latest_server_info
Change-Id: Ie4a0c2eea5df448f5d554b29e2260606b51fe3e5
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Jiyong Min [Thu, 4 Jul 2019 06:49:37 +0000 (06:49 +0000)]
Merge "Add restriction for setting content type" into tizen
Minje Ahn [Tue, 2 Jul 2019 01:43:45 +0000 (10:43 +0900)]
Remove check for gcov
Change-Id: I08d37b05d3c89ffd262aeff917db1b0c9a98e344
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
INSUN PYO [Tue, 2 Jul 2019 01:25:29 +0000 (10:25 +0900)]
Remove unnecessary setting
Change-Id: I583842cf32200d4956abf89b149f4bf379e91b59
Minje Ahn [Tue, 2 Jul 2019 00:33:37 +0000 (09:33 +0900)]
Update description
Change-Id: Icdfa353005dfa51ecb312f716215cebcac07545a
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Minje Ahn [Tue, 2 Jul 2019 00:32:20 +0000 (09:32 +0900)]
Fix build error
Change-Id: I99ae6d6a8baf61f5dbf687d6f361ae8a85e27344
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Minje Ahn [Mon, 1 Jul 2019 23:16:36 +0000 (08:16 +0900)]
Add for line coverage
Change-Id: Iaeb8873f285a16ce1feade31350e40b74deddaae
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
hj kim [Mon, 1 Jul 2019 01:47:33 +0000 (10:47 +0900)]
Add restriction for setting content type
Change-Id: I214d4930fdf3ec7815906f857ed5bae62a8f5d66
hj kim [Fri, 28 Jun 2019 02:53:41 +0000 (11:53 +0900)]
Bug fix of adding playlist item into media db
Change-Id: Ibeeb4937e5aec2f44477443160e0d426bbfeb8ec
hj kim [Mon, 24 Jun 2019 02:08:50 +0000 (02:08 +0000)]
Merge "Modify API descriptions regarding the ACR-1355" into tizen
Minje Ahn [Thu, 20 Jun 2019 04:00:18 +0000 (13:00 +0900)]
Add error type when no record
Change-Id: I645be2b7262098da16c615f24f383dbc25d63edc
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Minje Ahn [Thu, 13 Jun 2019 04:59:44 +0000 (13:59 +0900)]
Delete function for count-only
Change-Id: I01420453bdf44e1f3707ed0fc9095f16d4edeeb1
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
hj kim [Fri, 14 Jun 2019 07:02:28 +0000 (16:02 +0900)]
Modify API descriptions regarding the ACR-1355
Change-Id: I65e03ec0e0c7c18277708cf46d8b2e2e65fec4c0
hj kim [Fri, 14 Jun 2019 05:31:35 +0000 (05:31 +0000)]
Merge "Add function for single result" into tizen
hj kim [Fri, 14 Jun 2019 04:58:25 +0000 (04:58 +0000)]
Merge "Modify shift operation to use 64-bit operand" into tizen
Minje Ahn [Fri, 14 Jun 2019 03:30:29 +0000 (12:30 +0900)]
Modify some error log
Change-Id: Iaed608bebd12bc088fafa63785b681036c97074d
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Minje Ahn [Thu, 13 Jun 2019 02:19:48 +0000 (11:19 +0900)]
Add function for single result
Change-Id: I321a0064b6a638eb715bb26513b6ec1ca6a94b31
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Minje Ahn [Tue, 11 Jun 2019 08:12:00 +0000 (17:12 +0900)]
Add user version
Change-Id: I620cf35a6eae94ea957d0e1d1ae163ca56294675
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Minje Ahn [Tue, 11 Jun 2019 06:49:38 +0000 (15:49 +0900)]
Change the database structure
1. Use server_info table instead of each app tables
2. Separate metadata and server information
3. Add triggers for initialization
4. Modify some queries
Change-Id: I232eb0da625edf384ecc87b793c2610bfaf1b92d
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
jiyong.min [Tue, 11 Jun 2019 07:44:33 +0000 (16:44 +0900)]
Modify shift operation to use 64-bit operand
Change-Id: Ie5efa19b8c59a9ca8d79f0ac7332eef7da3b3c7b
hj kim [Fri, 14 Jun 2019 02:23:16 +0000 (11:23 +0900)]
Change not to return error even if there is a same playlist
Change-Id: Ifc04bc913af420ce9c7fcf502b11be61efc9764b
hj kim [Tue, 11 Jun 2019 06:37:54 +0000 (15:37 +0900)]
update code of checking condition
Change-Id: I1090e86d2bfc978b0d28f25294a7bf716d02d3de
hj kim [Tue, 11 Jun 2019 04:35:33 +0000 (13:35 +0900)]
Update API description
Change-Id: If2fcb1f5dfbb98bf09c07cfd8e43782c9b4df58e
Minje Ahn [Tue, 11 Jun 2019 00:48:41 +0000 (09:48 +0900)]
Update playlist related query
Change-Id: I5e76183980b246ca8b0fd3fbf0ecd6bf4bdf9fcb
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Minje Ahn [Mon, 10 Jun 2019 23:30:04 +0000 (08:30 +0900)]
Update latest_server related query
Change-Id: I0ab81aa519aaef12e1fdbe638eb76c6c534e780f
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Minje Ahn [Mon, 10 Jun 2019 23:06:17 +0000 (08:06 +0900)]
Modify to work only on server
Change-Id: If84b91fb82230b78f77fc34116ef43d3bfd38be3
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Minje Ahn [Mon, 10 Jun 2019 07:00:58 +0000 (16:00 +0900)]
Merge server_list and client_list into app_list
Change-Id: I6b2a0f1bfc25301b90f0c28dda12d966e50c5fe8
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Minje Ahn [Mon, 10 Jun 2019 01:46:49 +0000 (10:46 +0900)]
Code cleanup
Change-Id: I42a31cfc3285399dff03673c09d96df6f883f5c8
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
jiyong.min [Mon, 10 Jun 2019 00:08:20 +0000 (09:08 +0900)]
Change PLAYBACK_ACTION_ABILITY to 20
Change-Id: I5656b1e23cb3c987b8187fee3f3f83dd4960c7b1
hj kim [Wed, 5 Jun 2019 06:53:10 +0000 (06:53 +0000)]
Merge "Add APIs to check parameter range" into tizen
jiyong.min [Wed, 5 Jun 2019 06:26:45 +0000 (15:26 +0900)]
Add to update playback item index
Change-Id: I3fc972523b5232d38c8f7038f63fc91527816564
Jiyong Min [Wed, 5 Jun 2019 06:36:43 +0000 (06:36 +0000)]
Merge "Update API description" into tizen
hj kim [Wed, 5 Jun 2019 02:47:10 +0000 (11:47 +0900)]
Add APIs to check parameter range
Change-Id: I6c1abd56f738bf35b5209574bee3548063107472
hj kim [Mon, 3 Jun 2019 07:50:01 +0000 (16:50 +0900)]
Unify duplicated code
Change-Id: Iec77817366b05a948011aaeabe41bc9f19b8caa5
Minje Ahn [Mon, 3 Jun 2019 07:12:13 +0000 (16:12 +0900)]
Use sqlite3 instead of void type
Change-Id: I79ac6ad6dfa3cba5ce89bb44936836bcb4b43ad9
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Minje Ahn [Mon, 3 Jun 2019 06:16:17 +0000 (15:16 +0900)]
Code cleanup
Change-Id: I449546ad793f8ae9f2add7353f5f2acf399092e3
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
hj kim [Wed, 29 May 2019 02:49:01 +0000 (11:49 +0900)]
Update API description
Change-Id: Ibfcd8ef11ab2ccb6befdb2ad5e688ca741cf0d3a
hj kim [Fri, 31 May 2019 02:13:48 +0000 (11:13 +0900)]
Use mc_server_receive_event_e instead of mc_ability_e
Change-Id: Ie0bd3dfb40749983a43f03b64822e95319d652e1
hj kim [Fri, 31 May 2019 01:34:50 +0000 (10:34 +0900)]
Reduce code duplication regarding the getting ability
Change-Id: I67b7260d2ec9c6625c00b39119fface90a5f4805