4 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6 * Licensed under the Apache License, Version 2.0 (the License);
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
21 #define METHOD_GET_CRADLE "GetCradle"
23 static const struct device_change_type {
26 } device_change_types [] = {
31 static int test_cradle(void)
37 msg = dbus_method_sync_with_reply(DEVICED_BUS_NAME,
39 DEVICED_INTERFACE_SYSNOTI,
40 METHOD_GET_CRADLE, NULL, NULL);
42 _E("fail : %s %s %s %s",
43 DEVICED_BUS_NAME, DEVICED_PATH_SYSNOTI, DEVICED_INTERFACE_SYSNOTI,
48 dbus_error_init(&err);
50 ret = dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &val,
53 _E("no message : [%s:%s]", err.name, err.message);
58 _R("[NG] ---- %s", __func__);
60 _R("[OK] ---- %s : V(%d)", __func__, val);
61 dbus_message_unref(msg);
62 dbus_error_free(&err);
63 sleep(TEST_WAIT_TIME_INTERVAL);
67 static int cradle(int index)
74 param[0] = METHOD_SET_DEVICE;
76 param[2] = device_change_types[index].name;
77 param[3] = device_change_types[index].status;
79 msg = dbus_method_sync_with_reply(DEVICED_BUS_NAME,
81 DEVICED_INTERFACE_SYSNOTI,
82 METHOD_SET_DEVICE, "siss", param);
84 _E("fail : %s %s %s %s",
85 DEVICED_BUS_NAME, DEVICED_PATH_SYSNOTI, DEVICED_INTERFACE_SYSNOTI,
90 dbus_error_init(&err);
92 ret = dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &val, DBUS_TYPE_INVALID);
94 _E("no message : [%s:%s]", err.name, err.message);
95 dbus_error_free(&err);
98 _I("%s %s", device_change_types[index].name, device_change_types[index].status);
100 _R("[NG] ---- %s", __func__);
102 _R("[OK] ---- %s : V(%s %s)",
103 __func__, device_change_types[index].name, device_change_types[index].status);
104 dbus_message_unref(msg);
105 dbus_error_free(&err);
106 sleep(TEST_WAIT_TIME_INTERVAL);
110 static void unit(char *unit, char *status)
114 for (index = 0; index < ARRAY_SIZE(device_change_types); index++) {
115 if (strcmp(unit, device_change_types[index].name) != 0 ||
116 strcmp(status, device_change_types[index].status) != 0)
123 static void cradle_init(void *data)
128 for (index = 0; index < ARRAY_SIZE(device_change_types); index++)
132 static void cradle_exit(void *data)
137 static int cradle_unit(int argc, char **argv)
146 unit(argv[1], argv[2]);
151 static const struct test_ops cradle_test_ops = {
152 .priority = TEST_PRIORITY_NORMAL,
159 TEST_OPS_REGISTER(&cradle_test_ops)