import appuifw
import socket
import e32
import location

def bt_connect():
    global target
    global sock

    
    address,services = socket.bt_discover()

    target = (address,services.values()[0])
    sock.connect(target)

    record_data()

def record_data():
    global target
    global file
    global sock
    global texto
    global stop

    stop = 1
    salida = ''

    texto.add(u'Saving data ...\n')

    while (stop != 0 ):
        salida = sock.recv(1)
        if (salida == '\n'):
            file.write(u'|' + str(location.gsm_location()) + u'\n')
        else:
            file.write(salida)

    sock.close()
    texto.add(u'Stopped.\n') 

def bt_disconnect():
    global stop

    stop = 0
      

def exit_key_handler():
    global file
    global sock

    if (stop != 0): sock.close()
    file.close()
    app_lock.signal()
    

stop = 0
cerrado = 0

appuifw.app.screen='normal'
texto = appuifw.Text()
texto.clear()

appuifw.app.body = texto

texto.add(u'Welcome to gps-gsm logger0.1\n')
texto.add(u'Developed by Ignacio Lopez\n')

appuifw.app.title = u"GPS-GSM logger"

appuifw.app.menu = [(u"Connect",bt_connect),(u"Disconnect",bt_disconnect)]

sock=socket.socket(socket.AF_BT,socket.SOCK_STREAM)

file = open(u'e:\\gps-gsmtrack.txt',u'a')

app_lock = e32.Ao_lock()


appuifw.app.exit_key_handler = exit_key_handler

app_lock.wait()

