Ok now I got it:
I can call simple methodes (see below)
But one problem I still have. i don't know what type 
Gypsy.Position.GetPosition returns.

When I call it with mdbus it returns:

#mdbus -s org.freedesktop.Gypsy /org/freedesktop/Gypsy 
org.freedesktop.Gypsy.Position.GetPosition

(dbus.Int32(0), dbus.Int32(0), dbus.Double(49.0120504), 
dbus.Double(8.4130935000000004), dbus.Double(172.148))

But when I call GetPosition I have to choose a TYPE and I don't know which!

QDBusReply<TYPE> reply = GPSDeviceInterface->call("GetPosition");

I tried to create one but it didn't work:

        typedef struct {
                long int  Fields;
                long int  TimeStamp;
                double Lat;
                double Lon;
                double Alt;
        } GypsyPosition;

any hints???

Greets
Michael
_______________________________________________________________-

For interested Some extractions of my current working Code:

#include <QtDBus>
#include <QDBusConnection>
#include <QDBusInterface>


// Connection to system bus
QDBusConnection GPSConnection = QDBusConnection::systemBus();

//check connection
if (GPSConnection.isConnected())
                qDebug() << "connected to system bus \n";
        else
                qFatal("Failed to connect to session bus");

// create a proxy object for method calls
GPSDeviceInterface = new 
QDBusInterface("org.freedesktop.Gypsy","/org/freedesktop/Gypsy","org.freedesktop.Gypsy.Device",QDBusConnection::systemBus());

//Call Method - returns 3 if Fix else returns 1
int
MokoGPS::GetFixStatus() 
{
        QDBusReply<int> reply = GPSDeviceInterface->call("GetFixStatus");
        FixStatus=reply.value();
        qDebug()<<"GetFixStatus Reply: "<<FixStatus<<"\n";
        return FixStatus;
}


_______________________________________________
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community

Reply via email to