namespace zavai {
namespace gsm {
-// For a list of dbus services, look in /etc/dbus-1/system.d/
+public class GSM: zavai.Service
+{
+ public dynamic DBus.Object device;
+
+ public GSM()
+ {
+ name = "gsm.gsm";
+
+ device = zavai.registry.sbus.get_object(
+ "org.freesmartphone.ogpsd",
+ "/org/freesmartphone/GSM/Device",
+ "org.freesmartphone.Resource");
+ }
+
+ /// Request GPS resource
+ public override void start()
+ {
+ if (started) return;
+ try {
+ device.Enable();
+ zavai.log.info("Started GSM");
+ base.start();
+ } catch (GLib.Error e) {
+ zavai.log.error(e.message);
+ }
+ base.start();
+ }
+
+ // Release usage of GPS
+ public override void stop()
+ {
+ if (!started) return;
+ try {
+ device.Disable();
+ zavai.log.info("Stopped GSM");
+ base.stop();
+ } catch (GLib.Error e) {
+ zavai.log.error(e.message);
+ }
+ base.stop();
+ }
+}
+
public class GPRS: zavai.Service
{
public dynamic DBus.Object device;
{
if (started) return;
try {
+ //gsm.request(name);
device.ActivateContext(
zavai.config.gprs_apn,
zavai.config.gprs_user,
{
if (!started) return;
try {
+ //gsm.release(name);
device.DeactivateContext();
zavai.log.info("Stopped GPRS");
base.stop();
}
}
+public zavai.gsm.GSM gsm = null;
public zavai.gsm.GPRS gprs = null;
public void init()
{
+ gsm = new GSM();
gprs = new GPRS();
+ zavai.registry.register_service(gsm);
zavai.registry.register_service(gprs);
}