sensorctl test
[platform/core/system/sensord.git] / src / sensorctl / injector_context_orientation.cpp
1 /*
2  * sensorctl
3  *
4  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
5  *
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
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
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.
17  *
18  */
19
20 #include <stdio.h>
21 #include <glib.h>
22 #include <gio/gio.h>
23 #include <sensorctl_log.h>
24 #include "dbus_util.h"
25 #include "injector_manager.h"
26 #include "injector_context_orientation.h"
27
28 #define CONTEXT_ORIENTATION_SIGNAL      "orientation"
29
30 bool injector_context_orientation::inject(int option_count, char *options[])
31 {
32         GVariant *variant;
33
34         if (option_count == 0) {
35                 _E("ERROR: invalid argument\n");
36                 return false;
37         }
38
39         variant = make_variant_int(option_count, options);
40
41         if (variant == NULL)
42                 return false;
43
44         dbus_emit_signal(NULL,
45                         (gchar *)SENSORD_OBJ_PATH,
46                         (gchar *)SENSORD_INTERFACE_NAME,
47                         (gchar *)CONTEXT_ORIENTATION_SIGNAL,
48                         variant,
49                         NULL);
50
51         PRINT("set options to context: \n");
52         for(int i=0; i<option_count; ++i)
53                 PRINT("option %d: %s\n", i, options[i]);
54
55         return true;
56 }
57
58 REGISTER_INJECTOR(CONTEXT_SENSOR, CONTEXT_ORIENTATION_SIGNAL, injector_context_orientation)
59
60