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 earjack(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, &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);
63 _R("[NG] ---- %s", __func__);
65 _R("[OK] ---- %s : V(%s %s)",
66 __func__, device_change_types[index].name, device_change_types[index].status);
67 dbus_message_unref(msg);
68 dbus_error_free(&err);
69 sleep(TEST_WAIT_TIME_INTERVAL);
73 static void unit(char *unit, char *status)
77 for (index = 0; index < ARRAY_SIZE(device_change_types); index++) {
78 if (strcmp(unit, device_change_types[index].name) != 0 ||
79 strcmp(status, device_change_types[index].status) != 0)
85 static void earjack_init(void *data)
90 for (index = 0; index < ARRAY_SIZE(device_change_types); index++)
94 static void earjack_exit(void *data)
99 static int earjack_unit(int argc, char **argv)
108 unit(argv[2], argv[3]);
113 static const struct test_ops earjack_test_ops = {
114 .priority = TEST_PRIORITY_NORMAL,
116 .init = earjack_init,
117 .exit = earjack_exit,
118 .unit = earjack_unit,
121 TEST_OPS_REGISTER(&earjack_test_ops)