com.esri.arcgis.system
Interface IExtensionConfig

All Superinterfaces:
Serializable
All Known Implementing Classes:
DddServerEnvironment, FMEExtensionHelper, IExtensionConfigProxy

public interface IExtensionConfig
extends Serializable

Provides access to members that describe an extension.

Remarks

The Extensions dialog in the ArcGIS applications allows users to turn extensions on and off. The IExtensionConfig interface is used to provide the Extension dialog with the name of the extension, a description of the extension, and specifies the state of the extension.

The esriExtensionState enumeration is used to specify whether the extension is enabled, disabled, or unavailable. The state of the extensions is user based. When an extension is installed, its default state is unchecked (esriESDisabled) and the user must knowingly check the extension on in the Extensions dialog box.

With a custom extension, you have full control over what happens when your extension is turned on or off. However, it is a good idea to follow the same design as the ArcGIS extensions. The following notes explain how the ArcGIS extensions work when they are turned on or off in the Extensions dialog.

When a user checks one of the ArcGIS extensions in the Extensions dialog box, the follow things occur:

When a user unchecks one of the ArcGIS extensions in the Extensions dialog box, the follow things occur:

The IExtensionConfig interface is independent of ESRI's licensing approach so as a developer you can incorporate a custom licensing solution. Alternatively, if your extension doesn't work with a license manager, then you don't have to worry about requesting and releasing a license. You could implement IExtensionConfig simply to enable and disable the tools on your extension's toolbar accordingly.

When To Use

If you want your extension to be exposed in the Extensions dialog, you would also implement the IExtensionConfig interface. The class module for your extension would implement both IExtension and IExtensionConfig.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

See Also:
IExtension

Method Summary
 String getDescription()
          Detailed description of the extension.
 String getProductName()
          Name of the extension.
 int getState()
          The state of the extension.
 void setState(int state)
          The state of the extension.
 

Method Detail

getProductName

String getProductName()
                      throws IOException,
                             AutomationException
Name of the extension.

Remarks

ProductName is the name that is displayed for this extension in the Extensions dialog.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDescription

String getDescription()
                      throws IOException,
                             AutomationException
Detailed description of the extension.

Remarks

Description is the text that is displayed for this extension in the About this extension box in the Extensions dialog.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The description
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getState

int getState()
             throws IOException,
                    AutomationException
The state of the extension.

Remarks

The esriExtensionState enumeration is used with this property to specify whether the extension is enabled, disabled, or unavailable. When the state is enabled, the extension is checked in the Extensions dialog. The checked state of the extension is saved in the user settings in the registry.

If the extension is terminated prematurely (for example, from interrupting a debugging session) the State will be set to 0.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
A com.esri.arcgis.system.esriExtensionState constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setState

void setState(int state)
              throws IOException,
                     AutomationException
The state of the extension.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
state - A com.esri.arcgis.system.esriExtensionState constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.