************ Report of Week3 **********************
This week, I finished the skeleton code for *ring-client-iot*.
I am doing my work under ring-daemon/bin directory now. Like dbus client and rest client, I create my own iot directoy for my iot client. To make it compile ok, I also modify the
configure.ac under ring-daemon directory. At the same time, I modify the Makefile.am and main.cpp to compile my own iot client.
After all this compile stuff setting done, with
./autogen.sh
./configure --with-iot
make
We can get our ring client iot under ring-daemon/bin/ directory now.
Up to now, the iot client can register a Ring Account, it can also receive and send Ring text messages. Actually, we just do some wrapper of the dring API, like *configurationmanager*, *callmanager*,*presencemanager*,*videomanager*. This is what we do in dbus/rest client. Then I create a main loop for the iot client. In the loop, we will poll events, for which part I just handle the receiving a message by installed a incomingAccountMessage handler. We will also send our message to the destination, even though the message and destination are all hardcoded.
This just contains my work part, not all the ring daemon code. By the way, the ring daemon is based on Ring beta2.
Plan for week4:
- change Makefile to realize the compilation of ring client iot independent with the ring daemon. Since the ring daemon src code can provide us with a *libring.a* static library, maybe we just need the libring.a locally and write a Makefile. I am wondering if the automake tools are still needed.
- reconsidering the account register process of Ring. I once tried to import Ring Account that we have created using gnome-ring using the .local/share/ring/b67a55fbac7b06a0/export.gz by the *importAccounts* API, but it failed. Then I use the *addAccount* API to create a new Ring Account. It worked, but the code is ugly, you can see it here(
https://github.com/SimpCosm/ring-client-iot/blob/master/iot/iotclient.cpp). And everytime I start the iot client process, I have to create a new Ring Account. This can be bothering, and I have to deal with it. To do this, I need to have a deep understanding about the Ring account stuff.