public FileCopyConfiguration CreateConfiguration()
        {
            FileCopyConfiguration c = handler.CreateConfiguration();

            c.Bind(this);
            return(c);
        }
        public FileCopyConfiguration Clone()
        {
            FileCopyConfiguration c = Handler.CreateConfiguration();

            c.CopyFrom(this);
            return(c);
        }
		static IFileCopyConfigurationEditor GetEditor (FileCopyConfiguration config)
		{
			foreach (IFileCopyConfigurationEditor editor in AddinManager.GetExtensionObjects ("/MonoDevelop/Deployment/FileCopyConfigurationEditors", false)) {
				if (editor.CanEdit (config))
					return editor;
			}
			return null;
		}
		void LoadConfiguration (FileCopyConfiguration config)
		{
			if (editorBox.Child != null)
				editorBox.Remove (editorBox.Child);
			
			IFileCopyConfigurationEditor editor = null;
			if (config != null)
				editor = GetEditor (config);
			
			if (editor != null)
				editorBox.Add (editor.CreateEditor (config));
			
			ShowAll ();
			
			currentConfig = config;
			if (ConfigurationChanged != null)
				ConfigurationChanged (this, EventArgs.Empty);
		}
 public virtual void CopyFrom(FileCopyConfiguration other)
 {
     handler   = other.handler;
     handlerId = other.handlerId;
 }
 internal void CopyFiles(IProgressMonitor monitor, IFileReplacePolicy replacePolicy, FileCopyConfiguration copyConfig, DeployFileCollection files, DeployContext context)
 {
     handler.CopyFiles(monitor, replacePolicy, copyConfig, files, context);
 }
		internal void CopyFiles (ProgressMonitor monitor, IFileReplacePolicy replacePolicy, FileCopyConfiguration copyConfig, DeployFileCollection files, DeployContext context)
		{
			handler.CopyFiles (monitor, replacePolicy, copyConfig, files, context);
		}
		public static bool HasEditor (FileCopyConfiguration config)
		{
			return GetEditor (config) != null;
		}
		public virtual void CopyFrom (FileCopyConfiguration other)
		{
			handler = other.handler;
			handlerId = other.handlerId;
		}
		public bool CanEdit (FileCopyConfiguration config)
		{
			return config != null && config.GetType () == typeof (LocalFileCopyConfiguration);
		}
		public Gtk.Widget CreateEditor (FileCopyConfiguration config)
		{
			return new LocalFileCopyConfigurationEditorWidget ((LocalFileCopyConfiguration) config);
		}