Skip to content

Releases: b-com-software-basis/xpcf

xpcf/2.5.2/win

24 Jun 09:34

Choose a tag to compare

xpcf/2.5.2/linux

24 Jun 09:40

Choose a tag to compare

Fix win compilation

2.5.1

30 Mar 20:50

Choose a tag to compare

Merge branch 'develop'

xpcf/2.5.1/win

31 Mar 13:34

Choose a tag to compare

Merge branch 'develop'

xpcf/2.5.1/mac

30 Mar 20:53

Choose a tag to compare

Merge branch 'develop'

xpcf/2.5.1/linux

21 Jun 15:15

Choose a tag to compare

Merge branch 'develop'

xpcf 2.5.1 for android

28 Jan 18:12

Choose a tag to compare

Pre-release
xpcf/2.5.1/android

feat[scripts]: update remaken version

2.5.0

12 Dec 16:53

Choose a tag to compare

update xpcf version to 2.5.0
update builddefs-qmake to v4.8.1
feat[build_script]: add build and packaging scripts for xpcf. add grpc build and packaging scripts.
feat[build] Add remaken packaging installation folder support. To install remaken build in the packaging structure, uncomment CONFIG += package_remaken.
feat[project] Add packagedependencies-android.txt
feat[doc]: update README, add remoting feature information. Add a chapter about XPCF Factories
feat[factory]:

  • add bindLocal and bind methods for explicit bindings
  • add factory context management tests (Empty, shared and cloned factory tests)
  • add multiple factory contexts. The factory also provides access to IAliasManager and IRegistryManager (through bindTo<>)
  • provide load methods on IFactory to populate an empty context
  • add IFactory interface bind template helpers
  • simplify IComponentManager interface. provide access to IFactory from IComponentManager
  • provide the ability to get a new factory context
    feat[gitignore]: add .gitignore file
    feat[SWIG]:
  • improve syntax, add macro for attribute with one argument
  • add attributes definitions for swig compatibility
    feat[cppast]:
  • improve cppast build for linux
  • update cppast commit version
    doc[xpcf_grpc.drawio]: add overview tab
    feat[TU grpc]: improve client and server configuration
    fix: minor xpcf wizard bugfixes
    feat: add GrpcHelper class to manage grpc credentials
    feat[remoting TU]: remoting unit tests implementation in progress
    feat[grpc]:
  • add grpc package 1.37.1 from artifactory public repository
  • add packagedependencies-win.txt for grpc.
    feat[remoting]:
  • provide DSL and serializable interfaces
  • add documentation chapter about xpcf remoting features
  • provide probes in serialize/deserialize methods
  • provide max send and receive message size properties
  • provide log about registered services
  • message size handling: add DSL keywords to handle client message size upon interfaces
    feat[xpcf_grpc_server]:
  • use working directory as default directory to search for xpcf configuration file
  • initialize m_serverCredentials default value
  • properties: expose grpc_server parameters through environment variables
  • add grpc service multibind in xpcf_grpc_server
    feat[xpcf_grpc_gen]:
  • split configuration file and project file generation. Add XmlHelpers to ease xml generation. Improve AST parser to parse xpcf traits and retrieve uuid...
  • gather source and header files in a .pri file
  • add MockGenerator component for mock generation
  • add xml configuration file generation.
  • handle const char * strings to std::string transcription for remote access.
  • properly handle enum and std::string parameters and return types.
  • handle interface inheritance during code generation.
  • code generation handle cross-reference search for inner incomplete types (for instance, enumerations declared in class ...).
  • add protoc and protobuf detection from remaken package (when not available, tries to use grpc from brew for mac and linux)
  • add ASTParser type parser component to manage c++ ast parsing. It maintains the AST structure and will serve to identify types cross references.
  • enhance attribute grammar to allow to set client and server components uuids upon interface. Fix enum translation toward protobuf type. Add ignore attribute to specify that a class or a method must be ignored - hence no code is generated for the class or method with this attribute set.
  • project, module, server and proxy code generation from type parsing
  • provide grpc/protoc call to generate grpc and protobuf files from .proto
  • add protobuf reserved keywords transcription. Prevent ClassDescriptor copy construction (loses information while copied, moreover the AST constructed in xpcf_grpc_gen is based upon const refs and several cppast types don't handle copy construction).
  • add RemoteServiceGenerator meta component to handle generators chaining
  • add cppast build script - check cppast build directory exists in xpcf_grpc_gen.pro file
  • use BindingRange concept to implement chain of responsibility pattern for remoting code generation
    feat[ISerializable]: add std::chrono platform independent serialization support
    feat[cli]: put cli project and source file in cli folder
    feat[xpcf]:
  • provide BindingRange mask implementation
  • add logs in AliasManager, Factory ..
  • add RemotingException class
  • add ConfigurationException class to distinguish errors occuring during the configuration phase of a component
  • update BindingRange values to allow values gathering using binary operations
  • add BindingRange concept to xpcf Factory : allows to define the component resolution range while binding an interface to a component.
  • binding ranges:
  • move BindindRange and BindingScope enumerations from IComponentManager inner enum to xpcf namespace
  • set bindingRangeMask type as uint8_t to allow binding range flag masks. Mask support is still a work in progress
  • add xpcf/remoting interfaces for grpc handling
  • add xpcf_grpc_server application project
  • add xpcf_grpc_gen tool project

2.5.0-alpha

23 Jul 15:08

Choose a tag to compare

2.5.0-alpha Pre-release
Pre-release
fix: add deque include declaration

update xpcf to 2.4.0, builddefs-qmake to 4.6.1, CHANGELOG.md

19 Aug 10:03

Choose a tag to compare

feat[properties]: add the ability to provide specific properties set in injection configuration.
feat[multibind]: first multibind implementation