removed wrong contacts, added authors
[platform/core/location/lbs-location.git] / location / module / module-internal.h
1 /*
2  * libslp-location
3  *
4  * Copyright (c) 2010-2013 Samsung Electronics Co., Ltd. All rights reserved.
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 #ifndef __MODULE_INTERNAL_H__
20 #define __MODULE_INTERNAL_H__
21
22 #include <gmodule.h>
23 #include "location-module.h"
24
25 G_BEGIN_DECLS
26
27 /**
28  * @file module-internal.h
29  * @brief This file contains the internal definitions and structures related to module.
30  */
31
32 typedef struct {
33         GModule *module;
34         char *name;
35         char *path;
36 } GMod;
37
38 typedef struct {
39         GMod *gmod;
40         gpointer handler;
41         gpointer(*init)(LocModGpsOps *ops);
42         void (*shutdown)(gpointer handle);
43         LocModGpsOps ops;
44 } LocationGpsMod;
45
46 typedef struct {
47         GMod *gmod;
48         gpointer handler;
49         gpointer(*init)(LocModWpsOps *ops);
50         void (*shutdown)(gpointer handle);
51         LocModWpsOps ops;
52 } LocationWpsMod;
53
54 typedef struct {
55         GMod *gmod;
56         gpointer handler;
57         gpointer(*init)(LocModPassiveOps *ops);
58         void (*shutdown)(gpointer handle);
59         LocModPassiveOps ops;
60 } LocationPassiveMod;
61
62 gboolean module_init(void);
63 gpointer module_new(const char *module_name);
64 void module_free(gpointer mod, const char *module_name);
65 gboolean module_is_supported(const char *module_name);
66 gchar *mod_get_realpath(const gchar *module_name);
67
68 G_END_DECLS
69
70 #endif