Permalink
Switch branches/tags
Nothing to show
Commits on Nov 15, 2014
  1. Add weather info example.

    respawner committed Sep 14, 2013
    Add an example code to demonstrate how to use the weather package
    in a simple program to retrieve a bunch of information.
    Fix the GWeatherInfoOverride JNI side.
  2. Coverage of classes and functions of GWeather.

    respawner committed Sep 11, 2013
    Add the necessary code to add the coverage of several classes and
    functions. Add also some overriders to to cover some methods that
    need to be overriden to handle out parameters.
  3. Starting the coverage of GWeather.

    respawner committed Sep 5, 2013
    Add required GIR file and module.
    Add public API stubs.
  4. Useless new line.

    respawner committed Sep 4, 2013
  5. Remove useless checks.

    respawner committed Aug 31, 2013
  6. Make org.gnome.glib.File package visible only.

    respawner committed Aug 30, 2013
    Remove the 'public' modifier of the File class signature and
    blacklist methods and constructors from RsvgHandle and GtkFileChooser
    that depend from GFile objects.
  7. Java package name overridein types.list.

    respawner committed Aug 29, 2013
    Use the new types.list file to provide a specific Java package name
    for a given module/GIR namespace. This is done by using the <module>
    element with the 'name' attribute being the module/GIR namespace and
    the 'java-package' attribute being the name to use in the Java
    context. This Java package name must at least start with an upper
    case letter because of its use in the Java class name in the
    translation layer.
    This change allows the removal of the packages-override.properties
    file and all the code associated to its parsing and use.
  8. Java class name override in types.list.

    respawner committed Aug 29, 2013
    Use the new types.list file to provide a specific Java name for a
    given C type. This is done by using the 'java-name' attribute of a
    <type> element. The parser will use the given Java name as name for
    the public API.
    This change allows the removal of the names-override.properties file
    and all the ode associated to its parsing and use.
  9. Change types.list format to use XML.

    respawner committed Aug 28, 2013
    Use XML format for the types.list file. It must contains a <list>
    element which will have <type> childs. Each <type> has a name that
    is the C name of a type and contains <header> childs that give
    headers files to include in the generated C code and <thing> childs
    that tell which function are to be ignored by the IntrospectionParser
    using the 'ignore' attribute.
    The idea behind using the XML format is to take advantage of our
    knowledge on parsing XML with a well working library and to extend
    the possibilty of what can be done with the types.list file.
  10. Introduce the IntrospectionRepository object.

    respawner committed Aug 28, 2013
    Add the IntrospectionRepository class which represents the
    <repository> element of GIR data. This object has references to the
    <namespace> elements that it contains, references to the headers that
    need to be included in the generated code and it also has knowledge
    of all the c:identifier-prefixes attributes values found in all the
    <namespace> elements found.
    The IntrospectionParser now takes IntrospectionRepository as input
    instead of Reader objects.
    This change is made to remove the hard code list of prefixes used
    before. For this we need to load every XML files into memory and
    grab the values of c:identifier-prefixes attributes. The <namespace>
    elements are then parsed by the IntrospectionParser as it used to be
    before.
  11. Renaming com.operationaldynamics.defsparser package.

    respawner committed Aug 28, 2013
    Rename the com.operationaldynamics.defsparser to
    com.operationaldynamics.parser which is a better name for it since it
    does not provide only a .defs parser but also a GIR parser now.
  12. Use UnnecessaryCodeException instead of IgnoreIntrospectionException.

    respawner committed Aug 28, 2013
    IgnoreIntrospectionException was an Exception subclass made to help
    the IntrospectionParser knows when it will have to skip the parsing
    of an element. UnnecessaryCodeException was made for this purpose
    but for the DefsParser instead. So it seens legit to use this already
    existing Exception subclass to handle the cases to ignore with the
    IntrospectionParser.
  13. Title case regex.

    respawner committed Aug 28, 2013
    Put title case regex as a static field to avoid it to be compiled
    several times. Thanks egore for commenting 3ed7608.
    SHA: 3ed7608
  14. IntrospectionParser to return Block[] instead of DefsFile.

    respawner committed Aug 26, 2013
    Change the IntrospectionParser method to parse data to return a map
    of Block arrays instead of a map of DefsFile. This allow to go back
    to the previous behaviour of a DefsFile (which is not adding or
    changing Block) and to override or add a Block before creating the
    DefsFile instance.
  15. Unit test to validate IntrospectionParser behaviour.

    respawner committed Aug 24, 2013
    Add tests to validate the IntrospectionParser behaviour.
    Change IntrospectionParser input to Reader instead of File. In this
    way it is possible to feed the parser with a String instead of a
    File.
    Add needed JARs to the classpath to compile and run tests.
  16. Better name for a method.

    respawner committed Aug 24, 2013
  17. Type investigation code refactoring.

    respawner committed Aug 24, 2013
    Remove functions used to guess a C type based on some infos.
    Add new functions to scan 'return-value' and 'parameter' elements and
    find the C type contained in each element.
  18. Fix constructor return value and enumerations.

    respawner committed Aug 17, 2013
    Define return values of constructors as owned by the caller.
    Fix enumerations parsing by getting values from the GIR data.
  19. Add special cases overriders.

    respawner committed Aug 17, 2013
    Add .defs data to override GIR so we can still use our hand craft
    code to handle group for Radio widgets.
    Override some constructors to handle memory return value properly.
    Override 'ref' method of PangoLayoutLine to avoid infinite loop.
  20. Remove useless code.

    respawner committed Aug 15, 2013
  21. Just cosmetic changes.

    respawner committed Aug 15, 2013
  22. Combined whitelist and blacklist.

    respawner committed Aug 14, 2013
    Add a file to combine whitelist and blacklist information. The file
    contains a list of C types (which are whitelisted) and for each type
    a list of things (function, method, etc) which are blacklisted.
    
    Fix some code public API and tests.
    Fix for some C type guessing for parameters.
  23. Handle GError** parameter.

    respawner committed Aug 13, 2013
    In the Introspection data the GError** parameters for constructors,
    methods, functions and signals that throw errors are implicit. They
    do not appear as parameters but as a function (or other thing)
    attribute called 'throws' with the value of '1'.
  24. Refactoring of a lot of code.

    respawner committed Aug 13, 2013
    This commit introduces a lot of changes such as:
      * Types to handle need to be whitelisted by adding them in the
        whitelist.txt file.
      * Providing a way to override the name of a class.
      * Providing a way to override GIR data with .defs data located in
        src/overriders.
      * Adding methods to Block and DefsFile classes to get information
        from a Block (fields) and add them in an existing DefsFile.
      * Factorizing the IntrospectionParser code.
      * Add utf8 and filename types as registered String types.
      * Removing .defs files that we needed before.
    
    There are still some known issues such as public API not matching the
    generated and errors throwing not handle yet.