4 * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Ja-young Gu <jygu@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
21 #ifndef __TCORE_CO_MODEM_H__
22 #define __TCORE_CO_MODEM_H__
24 #include <core_object.h>
29 struct tcore_modem_operations {
30 TReturn (*power_on)(CoreObject *o, UserRequest *ur);
31 TReturn (*power_off)(CoreObject *o, UserRequest *ur);
32 TReturn (*power_reset)(CoreObject *o, UserRequest *ur);
33 TReturn (*set_flight_mode)(CoreObject *o, UserRequest *ur);
34 TReturn (*get_imei)(CoreObject *o, UserRequest *ur);
35 TReturn (*get_version)(CoreObject *o, UserRequest *ur);
36 TReturn (*get_sn)(CoreObject *o, UserRequest *ur);
37 TReturn (*dun_pin_ctrl)(CoreObject *o, UserRequest *ur);
41 CoreObject* tcore_modem_new(TcorePlugin *p, const char *name, struct tcore_modem_operations *ops, TcoreHal *hal);
42 void tcore_modem_free(CoreObject *o);
44 TReturn tcore_modem_set_flight_mode_state(CoreObject *o, gboolean flag);
45 gboolean tcore_modem_get_flight_mode_state(CoreObject *o);
46 TReturn tcore_modem_set_powered(CoreObject *o, gboolean pwr);
47 gboolean tcore_modem_get_powered(CoreObject *o);