Windows and Windows Mobile

Changes required for Windows and Windows Mobile applications.

Application Changes Introduced in 2.1 ESD #2

Update and rebuild your application:

  1. The Application APIs (in the Application class) are required for managing applications registrations, connections, and context. Rewrite the initialization code in your application to use the Application APIs.

    For information on the Application interface, search for Application APIs in the Developer Guide for your platform.

  2. Callbacks related to application events are now contained in a separate ApplicationCallback interface. Rewrite your application code to use this interface.

    For information on the ApplicationCallback interface, search for Callback and Listener APIs in the Developer Guide for your platform.

  3. Replication-based synchronization clients require two data channels, a data channel for data synchronization, and a messaging channel for sending registration and push notifications to the client. Update your port configuration for both channels. See Sybase Control Center for Sybase Unwired Platform 2.1 ESD #2 > Administer > Unwired Server > Server Properties.
  4. To continue using server-initiated synchronization, you must write code for handling notifications. If change notifications are enabled for synchronization groups, you can implement the onSynchronize callback method to monitor this condition, and either allow or disallow default background synchronization.
    public int OnSynchronize(GenericList<ISynchronizationGroup> groups, SynchronizationContext context)
    {
      int status = context.Status;
      if (status == SynchronizationStatus.STARTING_ON_NOTIFICATION)
      {
        // There is changes on the synchronization group
        if (busy)
        {
          return SynchronizationAction.CANCEL;
        }
        else
        {
          return SynchronizationAction.CONTINUE;
        }
      }
    
      // return CONTINUE for all other status
      return SynchronizationAction.CONTINUE;
    }
  5. In 2.1 ESD #2, the new location of the required libraries is UnwiredPlatform_InstallDir\UnwiredPlatform\MobileSDK\ObjectAPI.

    Rebuild your project as follows:

    1. Reset the references of the following libraries for the appropriate device platform in the Visual Studio project according to the new location:
      • For Windows Mobile:
        • sup-client.dll – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\WM.
        • iAnywhere.Data.UltraLite.dll – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\WM\Ultralite.
        • iAnywhere.Data.UltraLite.resources.dll (several languages are supported) – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\WM\Ultralite\language.
      • For Windows:
        • sup-client.dll – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\Win32.
        • iAnywhere.Data.UltraLite.dll – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\Win32\Ultralite.
        • iAnywhere.Data.UltraLite.resources.dll (several languages are supported) – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\Win32\Ultralitelanguage.
    2. Remove the following libraries for the appropriate device platform as items in the Visual Studio project. The libraries are no longer required.
      • For Windows Mobile:
        • ulnet11.dll
        • mlcrsa11.dll (if HTTPS protocol is used)
        • PUtilTRU.dll
      • For Windows:
        • ulnet11.dll
        • mlcrsa11.dll (if HTTPS protocol is used)
        • mlczlib11.dll (if using compression)
    3. Add the following libraries for the appropriate device platform as items in the Visual Studio project. Set the "Build Action" to Content and "Copy to Output Directory" to Copy always.
      • For Windows Mobile:
        • ulnet12.dll – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\WM\Ultralite.
        • mlcrsa12.dll (if HTTPS protocol is used) – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\WM\Ultralite.
        • mlczlib12.dll (if HTTPS protocol is used) – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\WM\Ultralite.
        • CMessagingClient.dll – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\WM\DeviceType. The DeviceType can be Pocket PC or Smartphone as applicable.
      • For Windows:
        • ulnet12.dll – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\Win32\Ultralite.
        • mlcrsa12.dll (if HTTPS protocol is used) – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\Win32\Ultralite.
        • mlczlib12.dll (if using compression) - from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\Win32\Ultralite.
        • CMessagingClient.dll – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\Win32.
        • ECTrace.dll – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\Win32.
        • TravelerLib.dll – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\Win32.
        • zlib1.dll – from UnwiredPlatform_InstallDir\MobileSDK\ObjectAPI\Win32.