Re: [Bug 1643732] Re: service() method returns invalid service instance

2016-12-01 Thread Alberto Mardegan
On 30/11/2016 14:49, James Henstridge wrote: > For what it is worth, I think there is value in keeping the blank/no app > ID mode working for the benefit of trusted helpers that need to work on > behalf of a number of confined processes using different AppArmor > labels. You could special case

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-30 Thread James Henstridge
For what it is worth, I think there is value in keeping the blank/no app ID mode working for the benefit of trusted helpers that need to work on behalf of a number of confined processes using different AppArmor labels. You could special case storage-framework, but I doubt we'll be the last to

Re: [Bug 1643732] Re: service() method returns invalid service instance

2016-11-29 Thread Alberto Mardegan
Thanks for taking the time to explain the idea. :-) I have to tell you, that the new online-accounts-api is simpler than the other API we have, and it's so in virtue of its more limited scope: it was initially designed for click applications, or for unconfined services acting on behalf of a

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-29 Thread Michi Henning
Sorry about the status change, that must have been a mouse click that went astray :-( You are correct in that applications won't get any oauth tokens or the like. That's all handled by the storage framework. We pass the oauth token into the *provider* implementation, so the provider can

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-29 Thread Alberto Mardegan
Hi Michi, I guess you set the bug status to invalid by mistake? OK, it looks like I had a very wrong idea of how the storage framework would work. So let me recap my understanding, and please tell me if I got it wrong. You have your own UI to let the user configure which accounts to use, and to

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-29 Thread Michi Henning
Hi Alberto, thanks for the quick reply! The user shouldn't see storage framework when they authorize things in Online Accounts. The user doesn't even know what a storage service is. Besides, storage framework will be used for lots more things than just synchronisation. Eventually, for each

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-29 Thread Alberto Mardegan
If you are acting on behalf of other applications, you should use their applicationId; but in your case I believe that you really want your own applicationId. Let me try to explain why it's needed. In the Online Accounts panel in the system settings, when the user clicks on one existing account,

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-29 Thread Michi Henning
We don't have an application ID because the request comes from the registry, which acts on behalf of all sorts of applications. I don't understand the need for an ID. Right now, the getAccounts() method returns me the full list of accounts. I know that I have a google-drive account, an mcloud

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-22 Thread Alberto Mardegan
As I wrote, you need to specify an application ID when instantiating the manager: https://bugs.launchpad.net/ubuntu/+source/online-accounts- api/+bug/1638769/comments/7 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu.

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-22 Thread Michi Henning
Except for the trace I added, the code is in this branch: https://code.launchpad.net/~michihenning/storage-framework/registry The source file is here: http://bazaar.launchpad.net/~michihenning/storage- framework/registry/view/head:/src/registry/internal/ListAccountsHandler.cpp I have version

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-22 Thread Alberto Mardegan
Thanks Michi, but I really need to see the parameters for the GetAccount call, to see what applicationId you are passing. Besides that, I see that the D-Bus reply you pasted does not include the array of services: there isn't even an *empty* array, which suggests that the

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-22 Thread Michi Henning
** Changed in: online-accounts-api (Ubuntu) Status: Incomplete => New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1643732 Title: service() method returns invalid service instance To

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-21 Thread Michi Henning
And this is the relevant struct as reported by dbus-monitor: struct { uint32 1 array [ dict entry( string "authMethod" variant int32 2 ) dict entry( string "displayName"

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-21 Thread Michi Henning
Here is the relevant code: QList accounts; for (auto const& acct : manager_.availableAccounts()) { auto const it = BUS_NAMES.find(acct->serviceId()); if (it == BUS_NAMES.end()) { continue; } qDebug() << "using" << acct->serviceId();

[Bug 1643732] Re: service() method returns invalid service instance

2016-11-21 Thread Alberto Mardegan
Please attach the dbus-monitor (or equivalent app) logs. ** Changed in: online-accounts-api (Ubuntu) Status: New => Incomplete -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1643732 Title: