Automation API Overview

For an introduction to the Automation API, please see the Introduction to the Automation API.

Objects

The Automation API exposes a number of different objects. These are described in the table below.

Object Description
Merge.Application Main application object. Other objects are accessed through this.
TextComparison Represents a text file comparison window.
BinaryComparison Represents a binary file comparison window.
ImageComparison Represents a image file comparison window.
FolderComparison Represents a folder comparison window.
Preferences Provides access to the three Merge preferences objects, LongPreferences, DoublePreferences and StringPreferences.
LongPreferences Provides access to Merge preferences that are represented by long integers.
DoublePreferences Provides access to Merge preferences that are represented by doubles.
StringPreferences Provides access to Merge preferences that are represented by strings.
ThreeWayMergeActions Represents a collection of actions required to perform a manual three-way merge into a common ancestor file.
ThreeWayMergeAction Represents a three-way merging action.
Filters Represents a collection of file/folder filters.
Filter Represents a file/folder filter.
FilterPattern Represents a pattern for use in a file/folder filter.
Encodings Represents a collection of encodings.
Encoding Represents a character encoding, used to open and save files.

Enumerations

Enumeration Description
ChangeStyle Defines the various types of changes that can occur between two files.
ConfigDouble Defines constants for the various preferences made available by the DoublePreferences Object.
ConfigLong Defines constants for the various preferences made available by the LongPreferences Object.
ConfigString Defines constants for the various preferences made available by the StringPreferences Object.
FileComparisonError Defines the possible causes of errors when comparing files.
FileComparisonResult Defines the possible outcomes of a file comparison.
FileType Defines constants for types of file system item.
FileViewType Defines constants for the various possible layouts of the file comparison window.
FolderComparisonResult Defines constants for the various possible results of a folder comparison.
FolderComparisonThoroughness Defines constants for file comparison thoroughness in folder comparisons.
FolderFileType Defines constants for the various possible types of files in the results of a folder comparison.
LineEndingStyle Defines constants for line ending styles
PageOrientation Defines constants for printer page orientations.
Whitespace Defines constants for whitespace significance in file comparisons.
ThreeWayMergeActionType Defines constants for three-way merging actions.
FolderSortOrder Defines constants for creating a custom sort order for folder comparison windows.
PatternFilter Defines constants for the type (include/exclude) of a file/folder filter pattern.
PatternMatch Defines constants for the type of item (files and/or folders) matched by a filter pattern.

Virtual File System interfaces

The Automation API contains a number of interfaces that can be implemented by plugin components to add support for additional file systems to Merge. Examples of plugin file systems include the Win32 file system, SCM repository file systems, and potentially HTTP and FTP file systems. Please see the IFileSystem Interface topic for more information.

Interface Description
IContinueOperation Implemented by Merge to enable lengthy operations to be cancelled by the user.
IFile Implemented by components that represent a file within the file system.
IFileStream Implemented by components that represent a stream of data within the file system.
IFileSystem Implemented by components that provide a file system to Merge.
IFileSystemInit Implemented by components that provide a file system to Merge.
IFileSystemItem Implemented by components that represent a file or folder within the file system.
IFileSystemItemIcon Implemented by components that represent a file or folder within the file system.
IFileSystemItemVersionInformation Implemented by components that represent a file or folder within the file system.
IFileSystemItemComparableUrl Implemented by components that represent a file or folder within the file system.
IFolder Implemented by components that represent a folder within the file system.
IFolderContents Implemented by components that represent the contents of a folder within the file system.
IHost Implemented by Merge to provide services to plugin components.
IHostConfig Implemented by Merge to provide configuration-storage services to plugin components.
IHostUI Implemented by Merge to provide user-interface services to plugin components.
IUrlCollection Implemented by components that represent a collection of URLs.

Virtual File System enumerations

Enumeration Description
Capability Defines constants for file system capabilities.
CapabilityLevel Defines constants for levels of file system capability implementation quality.