If an application requires a callback (for example, to allow the client framework to provide notification of synchronization results) create a custom callback handler.
public class Test { public static void Main(String[] args) { ... SUP101DB.RegisterCallbackHandler(new MyCallbackHandler()); ... GenericList<ISynchronizationGroup> sgs = new GenericList<ISynchronizationGroup>(); sgs.Add(SUP101DB.GetSynchronizationGroup("sg1")); sgs.Add(SUP101DB.GetSynchronizationGroup("sg2")); SUP101DB.BeginSynchronize(sgs, "my test synchronization context"); } } public class MyCallbackHandler : Sybase.Persistence.DefaultCallbackHandler { public override Sybase.Persistence.SynchronizationAction OnSynchronize(Sybase.Collections.GenericList<Sybase.Persistence.ISynchronizationGroup> groups, Sybase.Persistence.SynchronizationContext context) { if (context == null { return Sybase.Persistence.SynchronizationAction.CANCEL; } if ("my test synchronization context".Equals(context.UserContext)) { return base.OnSynchronize(groups, context); } switch (context.Status) { case SynchronizationStatus.STARTING: if (WaitForMoreChanges()) { return SynchronizationAction.CANCEL; } else { return SynchronizationAction.CONTINUE; } default: return SynchronizationAction.CONTINUE; } return SynchronizationAction.CONTINUE; } }