2027 Interface
Changes 0
I

IOpenFromCloudCallback

Description:
An interface that may be used to control Revit's behavior when opening a cloud model.
public interface IOpenFromCloudCallback
class OpenFromCloudCallback : IOpenFromCloudCallback
{
   public OpenConflictResult OnOpenConflict(OpenConflictScenario scenario)
   {
      switch (scenario)
      {
         case OpenConflictScenario.OutOfDate:
            // Continue to open the model so that I can save my local changes to the central model
            return OpenConflictResult.KeepLocalChanges;

         case OpenConflictScenario.VersionArchived:
            // My local model is far behind the central model, so discard my local changes regardless what they are
            return OpenConflictResult.DiscardLocalChangesAndOpenLatestVersion;

         case OpenConflictScenario.Relinquished:
         case OpenConflictScenario.Rollback:
            // Detach the loal model from its central model, to examine local changes
            return OpenConflictResult.DetachFromCentral;
      }

      return OpenConflictResult.Cancel;
   }
}

static Document OpenCloudModelWithCallback(Application application, ModelPath modelPath)
{
   OpenOptions options = new OpenOptions();
   OpenFromCloudCallback callback = new OpenFromCloudCallback();

   return application.OpenDocumentFile(modelPath, options, callback);
}
Name Return Type Description
M OnOpenConflict(OpenConflictScenario) OpenConflictResult A method called when the conflict is happen during the model opening.