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.
20 static const struct device_change_type {
23 } device_change_types [] = {
30 static int test(int index)
37 param[0] = METHOD_SET_DEVICE;
39 param[2] = device_change_types[index].name;
40 param[3] = device_change_types[index].status;
42 msg = dbus_method_sync_with_reply(DEVICED_BUS_NAME,
44 DEVICED_INTERFACE_SYSNOTI,
45 METHOD_SET_DEVICE, "siss", param);
47 _E("fail : %s %s %s %s",
48 DEVICED_BUS_NAME, DEVICED_PATH_SYSNOTI, DEVICED_INTERFACE_SYSNOTI,
53 dbus_error_init(&err);
55 ret = dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &ret_val, DBUS_TYPE_INVALID);
57 _E("no message : [%s:%s]", err.name, err.message);
58 dbus_error_free(&err);
61 _I("%s %s", device_change_types[index].name, device_change_types[index].status);
62 dbus_message_unref(msg);
63 dbus_error_free(&err);
64 sleep(TEST_WAIT_TIME_INTERVAL);
68 static void unit(char *unit, char *status)
72 for (index = 0; index < ARRAY_SIZE(device_change_types); index++) {
73 if (strcmp(unit, device_change_types[index].name) != 0 ||
74 strcmp(status, device_change_types[index].status) != 0)
80 static void earjack_init(void *data)
85 for (index = 0; index < ARRAY_SIZE(device_change_types); index++)
89 static void earjack_exit(void *data)
94 static int earjack_unit(int argc, char **argv)
103 unit(argv[1], argv[2]);
108 static const struct test_ops earjack_test_ops = {
109 .priority = TEST_PRIORITY_NORMAL,
111 .init = earjack_init,
112 .exit = earjack_exit,
113 .unit = earjack_unit,
116 TEST_OPS_REGISTER(&earjack_test_ops)