<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in sbus_codegen</title>
    <link>http://src.iws.cs.ovgu.de/source/rss/sssd-io/src/sbus/sbus_codegen</link>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2005</copyright>
    <generator>Java</generator>
    <item>
        <title>python: Changing class declaration from old to new-style type
    
    Resolves:
    https://pagure.io/SSSD/sssd/issue/3517
    
    Signed-off-by: Lukas Slebodnik &lt;lslebodn@redhat.com&gt;
    Reviewed-by: Fabiano Fidêncio &lt;fidencio@redhat.com&gt;
    Reviewed-by: Lukáš Slebodník &lt;lslebodn@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - b07852825eeb63a78e1b3863e42b3f328430da18</description>
        <pubDate></pubDate>
        <dc:creator>amitkuma &lt;amitkuma@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>codegen: Remove util.h from generated files
    
    Reviewed-by: Fabiano Fidêncio &lt;fidencio@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - 054900ab42a8b865a2257f94c66484e0a022a90c</description>
        <pubDate></pubDate>
        <dc:creator>Lukas Slebodnik &lt;lslebodn@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>sbus: add a{sas} get invoker
    
    Reviewed-by: Jakub Hrozek &lt;jhrozek@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - ac744223411099a862a747e7168a30255c003bf7</description>
        <pubDate></pubDate>
        <dc:creator>Pavel Březina  &lt;pbrezina@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>sbus_codegen: Port to python3
    
    Resolves:
    https://fedorahosted.org/sssd/ticket/2017
    
    Reviewed-by: Petr Viktorin &lt;pviktori@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - e239b5bedd877e6c5002b22ea11926a12b4c781c</description>
        <pubDate></pubDate>
        <dc:creator>Lukas Slebodnik &lt;lslebodn@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>sbus codegen: do not prefix getters with iface name
    
    Prefixing getters with C name of the interface is just
    redundant since it is the same as the name of the structure
    that contains those fields.
    
    The following structure:
    struct test_pilot {
      $type test_pilot_get_name;
    }
    
    changes to:
    struct test_pilot {
      $type get_name;
    }
    
    Reviewed-by: Jakub Hrozek &lt;jhrozek@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - 4e5d19f659d8c545c4ed3c307c95cfe4f2ca33cb</description>
        <pubDate></pubDate>
        <dc:creator>Pavel Březina  &lt;pbrezina@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>sbus: use hard coded getters instead of generated
    
    Properties are single value of a small number of predefined D-Bus
    types. There is no need to generate them with codegen. Actually,
    the source generator for property getters is already quite mess
    with branching for array, strings and object paths. Adding any
    more complex type in the future (such as dictionary) would require
    even more branching or creating a separate path for it.
    
    Hard coding the getters will simplify creating new ones for more
    complex types. This patch also reduces lots of code duplication
    and creates a simple function for GetAll.
    
    Reviewed-by: Jakub Hrozek &lt;jhrozek@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - df4e1db5d41c903ae57fd880acc76a0ad84aa7b2</description>
        <pubDate></pubDate>
        <dc:creator>Pavel Březina  &lt;pbrezina@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>Remove strict requirements of python2
    
    * fix hashbangs
    * remove strict requirements of python2 in build system
    
    Resolves:
    https://fedorahosted.org/sssd/ticket/2017
    
    Reviewed-by: Petr Viktorin &lt;pviktori@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - e8058322725ba050014777ee2484f7e833ab1e3a</description>
        <pubDate></pubDate>
        <dc:creator>Lukas Slebodnik &lt;lslebodn@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>sbus: unify naming of handler data variable
    
    We used three different names to express handler data:
    - pvt
    - instace_data
    - handler_data
    
    Reviewed-by: Jakub Hrozek &lt;jhrozek@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - 66277b21179d95f6e96abed01a20ccbccf27ce99</description>
        <pubDate></pubDate>
        <dc:creator>Pavel Březina  &lt;pbrezina@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>Use python2 in shebang for python scripts.
    
    https://fedorahosted.org/sssd/ticket/2356
    
    The python scripts are not tested with python3 and /usr/bin/python can be
    symbolic link to python3 on some distributions.
    
    Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - 73b68aa708e1ffa0e0ab5b021fa93ff3a0f484b1</description>
        <pubDate></pubDate>
        <dc:creator>Lukas Slebodnik &lt;lslebodn@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>SBUS: Implement org.freedesktop.DBus.Properties.GetAll for primitive types
    
    This patch implements the GetAll method of the
    org.freedesktop.DBus.Properties interface by iterating over the
    available getters and putting all the results into a single getter.
    
    The patch includes a unit test that exercies all currently supported
    array types.
    
    Reviewed-by: Pavel Březina &lt;pbrezina@redhat.com&gt;
    Reviewed-by: Lukáš Slebodník &lt;lslebodn@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - 4f7f714e118e95896fac5239c7a8b529c39a4758</description>
        <pubDate></pubDate>
        <dc:creator>Jakub Hrozek &lt;jhrozek@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>SBUS: Return / if an object path getter returns NULL
    
    Reviewed-by: Stef Walter &lt;stefw@redhat.com&gt;
    Reviewed-by: Pavel Březina &lt;pbrezina@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - 5de968e80ade1c02d1907834dcff95e9fc9ad10a</description>
        <pubDate></pubDate>
        <dc:creator>Jakub Hrozek &lt;jhrozek@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>SBUS: Return empty string if a string getter returns NULL
    
    In line with getters never returning errors, a getter should return an
    empty string instead of NULL in case a string-like property in SSSD is
    not set.
    
    Reviewed-by: Stef Walter &lt;stefw@redhat.com&gt;
    Reviewed-by: Pavel Březina &lt;pbrezina@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - 58229439447d5617913a5a2e173b78105c694842</description>
        <pubDate></pubDate>
        <dc:creator>Pavel Březina  &lt;pbrezina@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>SBUS: Implement org.freedesktop.DBus.Properties.Get for primitive types
    
    This patch implements type-safe getters for primitive types and their
    arrays.  The patch includes unit tests of all supported types and arrays
    of these types.
    
    All getter are synchronous. The getters never fail, instead, they return
    a default or 'not defined' value.  Making the getters synchronous and
    always returning a value will make it significantly easier to implement
    the GetAll method.
    
    Reviewed-by: Stef Walter &lt;stefw@redhat.com&gt;
    Reviewed-by: Pavel Březina &lt;pbrezina@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - 90e04eae7e54ec892a6f239783df94dab5d1ed9a</description>
        <pubDate></pubDate>
        <dc:creator>Jakub Hrozek &lt;jhrozek@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>SBUS: Start implementing property access
    
    This patch adds the basis of SBUS getters and setters. A new module,
    sssd_dbus_properties.c would contain handlers for the property methods
    like Get, Set and GetAll.
    
    Type-safe property access works in a similar fashion like type-safe
    method calls - the invoker calls the getter which returns the primitive
    type, which is in turn marshalled into variant by the invoker.
    
    This patch does not contain the complete functionality, see later
    patches that continue implementing the getters and setters.
    
    Reviewed-by: Stef Walter &lt;stefw@redhat.com&gt;
    Reviewed-by: Pavel Březina &lt;pbrezina@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - 1319e71fd1680ca4864afe0b1aca2b8c8e4a1ee4</description>
        <pubDate></pubDate>
        <dc:creator>Stef Walter &lt;stefw@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>sbus: Add type-safe DBus method handlers and finish functions
    
    Type safe method handlers allow methods not to have to do tedious
    unwrapping and wrapping of DBus method call messages or replies.
    
    Arguments of the following DBus types are supported in type-safe
    method handlers. In addition arrays of these are supported.
    
     y: uint8_t
     b: bool     (but no arrays, yet)
     n: int16_t
     q: uint16_t
     i: int32_t
     u: uint32_t
     x: int64_t
     t: uint64_t
     d: double
     s: char *   (utf8 string)
     o: char *   (object path)
    
    As an exception, arrays of booleans are not supported, but could be
    added later. Other more complex types could be added later if desired.
    If a method has other argument types, then it must be marked as having
    a raw handler (see below).
    
    Internally each method can have a type specific invoker function which
    unpacks the incoming arguments and invokes the method handler with the
    correct arguments.
    
    Each method also has a finish which accepts the type-safe out arguments
    (ie: return values) and builds the reply message. Like other request
    'finish' functions, these free the request talloc context, and are to
    be used in place of sbus_request_finish() or friends.
    
    Raw method handlers parse their own method arguments, and prepare their
    own reply (ideally using sbus_request_finish() helpers). They can also
    do strange things like have variable arguments. To mark a DBus method
    as having a raw method handler use the following annotation:
    
    &lt;annotation name="org.freedesktop.sssd.RawHandler" value="true"/&gt;
    
    Raw methods do not have invokers or finish functions.
    
    I've left all of the internal peer to peer communication using raw
    method handlers. No code changes here.</title>
        <description>/sssd-io/src/sbus/sbus_codegen - dff909d473f43a6bd0f0286fa2d279c0ebe945c6</description>
        <pubDate></pubDate>
        <dc:creator>Stef Walter &lt;stefw@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>sbus: Generate constants from interface definitions
    
    This is not strictly necessary, but avoids duplicating data
    in mulitple places, and makes the interface definitions
    benefit dbus callers (a little).
    
    After applying this commit you may need to 'make clean' as
    the codegen has changed.
    
    Reviewed-by: Jakub Hrozek &lt;jhrozek@redhat.com&gt;
    Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
    Reviewed-by: Lukáš Slebodník &lt;lslebodn@redhat.com&gt;
    Reviewed-by: Simo Sorce &lt;simo@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - c2cc119de8eac712c040b3993f41c967ff2278de</description>
        <pubDate></pubDate>
        <dc:creator>Stef Walter &lt;stefw@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>sbus: Add sbus_vtable and update codegen to support it
    
    Each interface is a vtable structure derived from
    sbus_vtable, in the sense that it has an sbus_vtable
    struct as its first argument. This lets us upcast the
    interface vtable structure to an sbus_vtable and dispatch
    to it dynamically and cleanly.
    
    The interface metadata contains information about which
    vtable offset in the interface metadata should be dispatched
    to for a given function. This is a common scheme, not only
    among dbus implementations, but also compiled languages.
    
    Currently all the vtable functions are of type
    sbus_msg_handler_fn. These are the handlers we are familiar
    with and perform raw processing of the message. Later commits
    will introduce type safe handlers that levelage compile checking
    and automatic argument packing/unpacking.
    
    Although this may seem contrived now, the remainder of the
    dbus infrastructure work will build on this, including
    ofd.Properties, ofd.ObjectManager, ofd.Introspect, compiler
    checked type safe unpacking/packing, etc.
    
    The codegen now generates vtable structures for each interface
    along-side the metadata, and fills in vtable offsets
    appropriately.
    
    It is obviously still possible to hand-craft such vtables and
    metadata if needed for a special case.
    
    Once again examples output can be found at:
    
      src/tests/sbus_codegen_tests_generated.h
    
    Reviewed-by: Jakub Hrozek &lt;jhrozek@redhat.com&gt;
    Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
    Reviewed-by: Lukáš Slebodník &lt;lslebodn@redhat.com&gt;
    Reviewed-by: Simo Sorce &lt;simo@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - fcd8093c58638dc7c4f9cddfc97f273b94ce2ead</description>
        <pubDate></pubDate>
        <dc:creator>Stef Walter &lt;stefw@redhat.com&gt;</dc:creator>
    </item>

    <item>
        <title>sbus: Add meta data structures and code generator
    
    These metadata structures hold the information about all the
    details of a DBus interface. They are typically generated from
    the canonical XML form of the DBus interface, although they
    may also be hand crafted.
    
    Add some handy functions for looking up methods, props, signals,
    in the metadata of an interface. Currently lookups are just done
    by looking through an array. If performance becomes an issue (ie:
    very large interfaces) it would be really easy to sort things
    and use bsearch().
    
    Later commits will include some definitions using this metadata
    and related functions.
    
    DBus interfaces are defined here:
    
    http://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format
    
    The introspection data format has become the standard way to represent a
    DBus interface. For many examples see /usr/share/dbus-1/interfaces/ on a
    typical linux machine.
    
    A word about annotations. These are extra flags or values that can be
    assigned to anything. So far, the codegen supports this annotation:
    
    org.freedesktop.DBus.GLib.CSymbol
     - An annotation specified in the specification that tells us what C symbol
       to generate for a given interface or method. By default the codegen will
       build up a symbol name from the DBus name.
    
    It is possible to confuse the code generator into producing invalid
    C code (with strange method names, for example), but the C compiler
    catches such silliness right away.
    
    Add tests testing basic features of the codegen and poking through
    the metadata it creates. Also test the metadata lookup functions.
    
    Generated code is checked in for easy discovery.
    
    An example of the XML interface definitions can be found at:
    
      src/tests/sbus_codegen_tests.xml
    
    And an example of the generated header can be found here:
    
      src/tests/sbus_codegen_tests_generated.h
    
    Reviewed-by: Jakub Hrozek &lt;jhrozek@redhat.com&gt;
    Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
    Reviewed-by: Lukáš Slebodník &lt;lslebodn@redhat.com&gt;
    Reviewed-by: Simo Sorce &lt;simo@redhat.com&gt;</title>
        <description>/sssd-io/src/sbus/sbus_codegen - b699c4d7f85a5404be1d1ee9450331aea869b886</description>
        <pubDate></pubDate>
        <dc:creator>Stef Walter &lt;stefw@redhat.com&gt;</dc:creator>
    </item>

</channel>
</rss>

