Bug 27670

Summary: Update to spec 0.19.5 (Observer.Recover, ContactInfo)
Product: Telepathy Reporter: Simon McVittie <smcv>
Component: tp-qtAssignee: Andre Moreira Magalhaes <andrunko>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: enhancement    
Priority: high Keywords: patch
Version: git master   
Hardware: Other   
OS: All   
URL: http://git.collabora.co.uk/?p=user/andrunko/telepathy-qt4.git;a=shortlog;h=refs/heads/spec-0.19.5
Whiteboard: review+
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 27671, 27677    

Description Simon McVittie 2010-04-15 13:58:25 UTC
I've just released telepathy-spec 0.19.4. New stable API:

* Observer has a boolean property, Recover (for loggers etc. which want restarting whenever they crash while an interesting channel exists), which should probably behave a bit like Handler.BypassApproval in C++

* ContactInfo is now considered stable, so you can safely generate code for it
Comment 1 Simon McVittie 2010-04-15 14:00:16 UTC
Bug #27671 is high-level API for ContactInfo, which I think is out of scope for this bug.
Comment 2 Simon McVittie 2010-04-15 14:13:08 UTC
Sigh. Make that 0.19.5 - in 0.19.4, Contact_Info_Flags was a <tp:enum>, whereas it should have been a <tp:flags>.
Comment 3 Andre Moreira Magalhaes 2010-04-15 15:12:05 UTC
Updated to spec 0.19.5, added some missing tp:type flags needed by the code generator.

The Recover flag support will be in another bug and the generated code for ContactInfo will be added in the patches for bug#27671
Comment 4 Simon McVittie 2010-04-16 04:58:36 UTC
The patches look good. I've applied the types one to the spec, too; any chance you could supply a patch for specparser.py, or a checking script, or something, that verifies that all the types Qt needs are given?

(Am I right in thinking the answer is: any parameter that is a struct, a mapping other than a{sv}, or an array other than as?)

(In reply to comment #3)
> The Recover flag support will be in another bug

Bug #27677, in fact.
Comment 5 Andre Moreira Magalhaes 2010-04-16 06:30:14 UTC
(In reply to comment #4)
> The patches look good. I've applied the types one to the spec, too; any chance
> you could supply a patch for specparser.py, or a checking script, or something,
> that verifies that all the types Qt needs are given?
I will check this after I finish some other stuff here.
 
> (Am I right in thinking the answer is: any parameter that is a struct, a
> mapping other than a{sv}, or an array other than as?)
Yep, here are the know types that don't need tp:type defined:

            'y' : ('uchar', False, None),
            'b' : ('bool', False, 'BoolList'),
            'n' : ('short', False, 'ShortList'),
            'q' : ('ushort', False, 'UShortList'),
            'i' : ('int', False, 'IntList'),
            'u' : ('uint', False, 'UIntList'),
            'x' : ('qlonglong', False, 'LongLongList'),
            't' : ('qulonglong', False, 'ULongLongList'),
            'd' : ('double', False, 'DoubleList'),
            's' : ('QString', True, None),
            'v' : ('QDBusVariant', True, None),
            'o' : ('QDBusObjectPath', True, 'ObjectPathList'),
            'g' : ('QDBusSignature', True, 'SignatureList'),
            'as' : ('QStringList', True, None),
            'ay' : ('QByteArray', True, None),
            'av' : ('QVariantList', True, None),
            'a{sv}' : ('QVariantMap', True, None)
Comment 6 Andre Moreira Magalhaes 2010-04-16 06:35:33 UTC
Merged upstream. It will be in next release 0.3.2

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.