/* moko-gsmd-connection.h * * Authored By Michael 'Mickey' Lauer * Copyright (C) 2007 OpenMoko, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser Public License as published by * the Free Software Foundation; version 2 of the license. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Public License for more details. * * Current Version: $Rev$ ($Date: 2006/12/21 18:03:04 $) [$Author: mickey $] */ #ifndef _MOKO_GSMD_CONNECTION_H_ #define _MOKO_GSMD_CONNECTION_H_ #include G_BEGIN_DECLS #define MOKO_TYPE_GSMD_CONNECTION moko_gsmd_connection_get_type() #define MOKO_GSMD_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MOKO_TYPE_GSMD_CONNECTION, MokoGsmdConnection)) #define MOKO_GSMD_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MOKO_TYPE_GSMD_CONNECTION, MokoGsmdConnectionClass)) #define MOKO_IS_GSMD_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MOKO_TYPE_GSMD_CONNECTION)) #define MOKO_IS_GSMD_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MOKO_TYPE_GSMD_CONNECTION)) #define MOKO_GSMD_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MOKO_TYPE_GSMD_CONNECTION, MokoGsmdConnectionClass)) typedef struct { GObject parent; } MokoGsmdConnection; typedef struct { GObjectClass parent_class; } MokoGsmdConnectionClass; GType moko_gsmd_connection_get_type(); MokoGsmdConnection* moko_gsmd_connection_new(); // power void moko_gsmd_connection_set_antenna_power(MokoGsmdConnection* self, gboolean on); // pin void moko_gsmd_connection_send_pin(MokoGsmdConnection* self, const gchar* pin); // network void moko_gsmd_connection_network_register(MokoGsmdConnection* self); //TODO add type, i.e. MOKO_GSMD_CONNECTION_NETREG_AUTO // voice calls void moko_gsmd_connection_voice_accept(MokoGsmdConnection* self); void moko_gsmd_connection_voice_hangup(MokoGsmdConnection* self); void moko_gsmd_connection_voice_dial(MokoGsmdConnection* self, const gchar* number); void moko_gsmd_connection_voice_dtmf(MokoGsmdConnection* self, const gchar number); enum { MOKO_GSMD_CONNECTION_NETREG_NONE = 0, MOKO_GSMD_CONNECTION_NETREG_HOME = 1, MOKO_GSMD_CONNECTION_NETREG_SEARCHING = 2, MOKO_GSMD_CONNECTION_NETREG_DENIED = 3, MOKO_GSMD_CONNECTION_NETREG_ROAMING = 5, } MokoGsmdConnectionNetregType; enum { MOKO_GSMD_PROG_SETUP = 0, MOKO_GSMD_PROG_DISCONNECT = 1, MOKO_GSMD_PROG_ALERT = 2, MOKO_GSMD_PROG_CALL_PROCEED = 3, MOKO_GSMD_PROG_SYNC = 4, MOKO_GSMD_PROG_PROGRESS = 5, MOKO_GSMD_PROG_CONNECTED = 6, MOKO_GSMD_PROG_RELEASE = 7, MOKO_GSMD_PROG_REJECT = 8, MOKO_GSMD_PROG_UNKNOWN = 9, } MokoGsmdConnectionProgress; /* signals */ void moko_gsmd_connection_incoming_call(MokoGsmdConnection* self, int type); void moko_gsmd_connection_call_status_progress(MokoGsmdConnection* self, int type); void moko_gsmd_connection_pin_requested(MokoGsmdConnection* self, int type); // sms // gprs void moko_gsmd_connection_incoming_clip(MokoGsmdConnection* self, const char* number); void moko_gsmd_connection_network_registration(MokoGsmdConnection* self, int type, int lac, int cell); void moko_gsmd_connection_trigger_signal_strength_event(MokoGsmdConnection* self); void moko_gsmd_connection_signal_strength_changed(MokoGsmdConnection* self, int strength); G_END_DECLS #endif // _MOKO_GSMD_CONNECTION_H_