Migration guides

To migrate your Kanzi Studio projects to a newer version of Kanzi Connect always:

  • Refresh the services from the Kanzi Connect Server and in Kanzi Studio export the kzb files for that project.

  • Recompile Android libraries using the version of Kanzi that the version of Kanzi Connect to which you are moving supports. When building your Android application use Android Studio 4.0 and Android SDK Build Tools 30 or newer.

Migrating from Kanzi Connect 1.1.9 to Kanzi Connect 1.1.10

To migrate your Kanzi Studio projects from Kanzi Connect 1.1.9 to Kanzi Connect 1.1.10, no additional migration effort is required.

Migrating from Kanzi Connect 1.1.0 to 1.1.1

To migrate your Kanzi Studio projects form Kanzi Connect 1.1.0 to 1.1.1:

  • For service descriptions that you intend to modify in the Kanzi Connect Simulator, export the service and run the code generation. The initial run creates large delta for the generated code. From this version onwards, the changes are going to be more deterministic and easier to maintain in version control.

  • Recompile Android libraries using Kanzi 3.6.12. When building your Android application use Android Studio 4.0 and Android SDK Build Tools 30 or newer.

  • Update the Kanzi Connect application template:

    • In the Application/src/<ProjectName>.cpp replace:

      #if defined(IGNORE_SIGPIPE)
      #include <signal.h>
      
      static void ignore_sigpipe(void)
      {
      #if defined(__QNXNTO__)
          signal(SIGPIPE, SIG_IGN)
      #else
          struct sigaction act;
          memset(&act, 0, sizeof(act));
          act.sa_handler = SIG_IGN;
          act.sa_flags = SA_RESTART;
          (void)sigaction(SIGPIPE, &act, NULL);
      #endif
      }
      #endif
      

      with

      #if defined(IGNORE_SIGPIPE)
      #include <signal.h>
      
      #if !defined(__QNXNTO__)
          static struct sigaction g_act;
      #endif
      
      static void ignore_sigpipe(void)
      {
      #if defined(__QNXNTO__)
          signal(SIGPIPE, SIG_IGN)
      #else
          memset(&g_act, 0, sizeof(g_act));
          g_act.sa_handler = SIG_IGN;
          g_act.sa_flags = SA_RESTART;
          (void)sigaction(SIGPIPE, &g_act, NULL);
      #endif
      }
      #endif
      

      This change enhances the signal handler for the SIGPIPE.

    • Replace the Android-specific CMake file with a generic version at <KanziConnectInstallation>/templates/studio/connect_client_template/Application/CMakelist.txt.

      The generic version of the CMake file contains modifications to use the new CMake utilities and to make it consistent with the approach of the Kanzi Engine CMake files.

Migrating from Kanzi Connect 1.0.5 to 1.1.0

To migrate your Kanzi Studio projects form Kanzi Connect 1.0.5 to 1.1.0:

  • Consolidated the use of CMake with Kanzi Engine. Common interfaces are now defined in KanziConnectConfig.cmake.

  • Recompile Android libraries using Kanzi 3.6.12. When building your Android application use Android Studio 4.0 and Android SDK Build Tools 30 or newer.

Migrating from Kanzi Connect 1.0.4 to 1.0.5

To migrate your Kanzi Studio projects from Kanzi Connect 1.0.4 to 1.0.5:

  • Recompile Android libraries using Kanzi 3.6.11. When building your Android application use Android Studio 4.0 and Android SDK Build Tools 30 or newer.

  • Instead of SDK/output/android/bindings/kanziconnect-debug.aar and kanziconnect-release.aar use SDK/output/android_gradle/kanziconnect-debug.aar and kanziconnect-release.aar.

  • Updated the properties of the Input Service. If your application uses this service, refresh the services from the Kanzi Connect Server and export the kzb files.

Migrating from Kanzi Connect 1.0.3 to 1.0.4

To migrate your Kanzi Studio projects from Kanzi Connect 1.0.3 to 1.0.4:

  1. For services, run the code generation to take these changes into account:

    • In Kanzi Connect clients the interfaces that use a naked pointer or reference to Client class, now use ClientSharedPtr.

    • In Kanzi Connect services, the support for the Simulator and Scenario service requires additional code during service initialization.

    • Update to the service metadata so that you can use it it with the Simulator on systems other than Windows.

  2. Rebuild all your Kanzi Engine plugins, and Kanzi Connect services and clients with Kanzi 3.6.10.

  3. In Kanzi Studio 3.6.10 open your project and in the main menu select File > Export > Export All KZBs.

  4. Save and close your project.

Migrating from Kanzi Connect 1.0.1 to 1.0.3

To migrate your Kanzi Studio projects from Kanzi Connect 1.0.1 to 1.0.3:

  1. Rebuild all your Kanzi Engine plugins and Kanzi Connect services with Kanzi 3.6.9.

  2. In Kanzi Studio 3.6.9 open your project and in the main menu select File > Export > Export All KZBs.

  3. Save and close your project.

Moved header files

Moved these header files from SDK/sources/connect/core_services to SDK/include:

  • connection_service

    • client_id_manager.hpp

    • connection_manager.hpp

  • content_service

    • boost_base64_conversion.hpp

    • content_client.hpp

    • content_client_local.hpp

    • content_client_remote.hpp

    • content_loader.hpp

    • content_manager.hpp

    • content_provider.hpp

    • content_provider_collection.hpp

    • content_provider_creator.hpp

    • content_provider_introspection_interface.hpp

    • content_query.hpp

    • content_query_arguments.hpp

    • content_subscription.hpp

  • service_service

    • remote_service_host.hpp

    • service_host.hpp

    • service_manager.hpp

  • virtualfile_service

    • file_loader.hpp

    • file_transfer_entry.hpp

    • file_transfer_manager.hpp

    • virtualfileclient.hpp

    • virtualfilelocalclient.hpp

    • virtualfileprovider.hpp

    • virtualfileremoteclient.hpp

    • virtualfilerequesthandler.hpp

    • virtualfileresponse.hpp

    • virtualfileresponseinterface.hpp

    • virtualfileworkitem.hpp

    • virtualfile_service.hpp

Migrating from Kanzi Connect 1.0 to 1.0.1

To migrate your Kanzi Studio projects from Kanzi Connect 1.0 to 1.0.1:

  1. Rebuild all your Kanzi Engine plugins and Kanzi Connect services with Kanzi 3.6.8.

  2. In Kanzi Studio 3.6.8 open your project and in the main menu select File > Export > Export All KZBs.

  3. Save and close your project.

Migrating from Kanzi Connect to 0.9.9 or newer

Use this migration guide to update your Kanzi Connect applications from to 0.9.9 or newer.

Kanzi Connect namespace

Instead of kanzi namespace, Kanzi Connect now uses kanzi::connect namespace.

Migrating Kanzi Studio projects

To migrate your Kanzi Studio projects from Kanzi Connect to 0.9.9 or newer:

  1. Create a backup copy of the Kanzi Studio project that you want to migrate to Kanzi Connect 0.9.9 or newer.

  2. In Kanzi Studio in the main menu select Edit > User Preferences > Advanced tab and set the Start Preview when project is loaded to disabled.

    ../_images/start-preview-when-project-is-loaded.png
  3. In Kanzi Studio open the project that you want to migrate to Kanzi Connect 0.9.9 or newer.

  4. In the Library > Kanzi Engine Plugins, if the connect_datasource plugin is there, delete it.

  5. In the Library > Kanzi Engine Plugins, right-click the connect_services plugin and select Update Kanzi Engine Plugin.

    ../_images/update-connect_services-plugin.png
  6. In the Kanzi Studio main menu select Kanzi Connect > Kanzi Connect Editor. When you open the Kanzi Connect Editor, it makes the required changes to your Kanzi Studio project.

    ../_images/kanzi-connect-kanzi-connect-editor1.png
  7. Save the project and export the kzb file for the project.

Updating custom services

In Kanzi Connect 0.9.9 or newer dynamic_tls.hpp is no longer available.

To update a Kanzi Connect service that you created with the Kanzi Connect version to 0.9.9 or newer, generate the C++ code from the interface definition of that service and then build the service. See Tutorial: Create a custom Kanzi Connect service.