Thanks all. The document explains many. Unfortunately I still failed :( I can see provider in context-commander now, it names "session:com.intel.meego.provi...@contextkit-dbus" After a while, commander reports:
2010-03-25 09:22:41 [libcontextsubscriber] WARNING [provider.cpp:267:void ContextSubscriber::Provider::onPluginSubscribeFailed(QString, QString)] "Screen.IsCovered" "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken."- 2010-03-25 09:22:41 [libcontextsubscriber] WARNING [provider.cpp:267:void ContextSubscriber::Provider::onPluginSubscribeFailed(QString, QString)] "Screen.TopEdge" "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken." From d-feet, I can see bus name "com.intel.meego.provider", strangely there is nothing in "Object Paths"! however, context-provider-example rightly register its paths, I can see "/org/maemo/contextkit/Example/Count" ... I tried to address the issue in source of contextkit, it seems ServiceBackend::registerProperty will throw out error if failed registers a object path, but I didn't see that. I have to admit I am not familiar with DBUS, could you give me some tips? The API of contextkit is very simple, it hard finds what I missed. Thank you in advanced. > -----Original Message----- > From: Marius Vollmer [mailto:[email protected]] > Sent: Wednesday, March 24, 2010 2:32 PM > To: Zhang, Xing Z > Cc: meego-dev > Subject: Re: Context provider (Connecting to deprecated signal) > > "ext Zhang, Xing Z" <[email protected]> writes: > > > I am trying to write a provider for properties “Screen.TopEdge” > and > > “Screen.IsCoevered”. When provider starting, it complains “Connecting to > > deprecated signal QDBusConnectionInterface::serviceOwnerChanged > > (QString,QString,QString)”. > > As Rusty has said, this is very likely not the reason why things don't > work for you. > > > From the contextkit-commander, TopEdge/IsCoverded show UNKNOWN and > no > > provider listed in last column. > > This means that no provider was declared for the property. You need to > drop a file into /usr/share/contextkit/providers and run > update-contextkit-providers. See here for more details: > > > http://zagadka.vm.bytemark.co.uk/docboy/contextkit-doc/html/context-provid > ers.html > > Your file must be named "com.intel.meego.provider.context" and it should > probably contain this: > > <provider bus="session" > service="com.intel.meego.provider"> > <key name="Screen.TopEdge"/> > <key name="Screen.IsCovered"/> > </provider> > > See "Providing core properties" for why there is no type and > documentation in your declaration. > > > Also have a look at the example provider here: > > http://maemo.gitorious.org/maemo-af/contextkit-provider-example > > (I guess we should clean that example up a bit, it has accumulated some > cruft from earlier versions...) _______________________________________________ MeeGo-dev mailing list [email protected] http://lists.meego.com/listinfo/meego-dev
