Create a Custom Callback Handler

If an application requires a callback (for example, to allow the client framework to provide notification of synchronization results) create a custom callback handler.

// Interface file
#import "SUPDefaultCallbackHandler.h"

@interface CallbackHandler : SUPDefaultCallbackHandler
{
}

@end


// Implementation file

#import "CallbackHandler.H"
#import "SUPSynchronizationStatus.h"


@implementation CallbackHandler

+ (CallbackHandler*)getInstance
{
  CallbackHandler* _me_1 = [[CallbackHandler alloc] init];
    
  [_me_1 autorelease];
  return _me_1;
}

//The onSynchronize method overrides the 
//onSynchronize method from SUPDefaultCallbackHandler.

- (SUPSynchronizationActionType)onSynchronize:(SUPObjectList *)syncGroupList withContext:(SUPSynchronizationContext *)context
{
    
  switch ([context status]) {
      case SUPSynchronizationStatus_STARTING:
          // perform necessary action
          break;
      case SUPSynchronizationStatus_ERROR:
          // perform necessary action
          break; 
      case SUPSynchronizationStatus_FINISHING:
          // perform necessary action
          break; 
      case SUPSynchronizationStatus_ASYNC_REPLAY_UPLOADED:
          // perform necessary action
          break; 
      case SUPSynchronizationStatus_ASYNC_REPLAY_COMPLETED:
          // perform necessary action
          break; 
      case SUPSynchronizationStatus_DOWNLOADING:
          // perform necessary action
          break; 
      case SUPSynchronizationStatus_STARTING_ON_NOTIFICATION:
          // perform necessary action
          break; 
      case SUPSynchronizationStatus_UPLOADING:
          // perform necessary action
          break; 
      default:
          break;
  }
    
    
  return SUPSynchronizationAction_CONTINUE;
}

@end