GPPointFileInfo\Interfaces.cs
Creating a non-trival custom GP tool - inputs, outputs, and responding to environment settings
GPPointFileInfo\Interfaces.cs
// Copyright 2008 ESRI
// 
// All rights reserved under the copyright laws of the United States
// and applicable international laws, treaties, and conventions.
// 
// You may freely redistribute and use this sample code, with or
// without modification, provided you include the original copyright
// notice and use restrictions.
// 
// See use restrictions at <your ArcGIS install location>/developerkit/userestrictions.txt.
// 

using System;

namespace GPPointFileInfo
{
    public interface ICoordinateSystem
    {
        ESRI.ArcGIS.Geometry.ISpatialReference SpatialReference { get; }
    }

    public interface IESConfigKeyword
    {
        string Value { get; }
    }

    public interface IESExtent
    {
        ESRI.ArcGIS.Geometry.IEnvelope Envelope { get; }
    }

    public interface IESOutputCoordinateSystem : ICoordinateSystem
    {
    }

    public interface IESOutputZFlag
    {
        string Value { get; }
    }

    public interface IESOverwriteOutput
    {
        bool Value { get; }
    }

    public interface IESScratchWorkspace
    {
        string Path { get; }
    }

    public interface IESSpatialGrid
    {
        double Value { get; }
    }

    public interface IESSpatialGrid1 : IESSpatialGrid
    {
    }

    public interface IESSpatialGrid2 : IESSpatialGrid
    {
    }

    public interface IESSpatialGrid3 : IESSpatialGrid
    {
    }

    public interface IGPEnvironmentManager
    {
        ESRI.ArcGIS.Geodatabase.IGPValue GetGPValue(string environmentName);
    }

    public interface IGPInputCoordinateSystem : ICoordinateSystem
    {
    }

    public interface IGPInputFileFormat
    {
        string FileFormat { get; }
    }

    public interface IGPInputFileSuffix
    {
        string FileSuffix { get; }
    }

    public interface IGPInputFolder
    {
        string Folder { get; }
    }

    public interface IGPMessages
    {
        void AddError(string message);
        void AddFatal(string message);
        void AddInfo(string message);
        void AddWarn(string message);
    }

    public interface IGPOutputFeatureClass
    {
        ESRI.ArcGIS.Geodatabase.IFeatureClass FeatureClass { get; }
        double MinAvgPtSpc { get; }
    }

    public interface IGPOutputGeometryDimensions
    {
        string GeometryDimensions { get; }
    }

    public interface IGPRecurseInputSubfolders
    {
        bool RecurseSubfolders { get; }
    }

    public interface IInputFile
    {
        int Index { get; }
        string Name { get; }
        string Path { get; }
    }

    public interface IInputFileArray
    {
        int Length { get; }
        System.IO.FileInfo this[int i] { get; }
    }

    public interface ILicensedProducts
    {
        void Initialize();
        void Shutdown();
        bool IsLicensed { get; }
        ESRI.ArcGIS.esriSystem.esriLicenseProductCode LicensedProduct { get; }
    }

    public interface ILicenseManager
    {
        void Initialize();
        void Shutdown();
        bool IsLicensed { get; }
    }

    public interface IOutputFeatureBuffer
    {
        ESRI.ArcGIS.Geodatabase.IFeatureBuffer FeatureBuffer { get; }
    }

    public interface IOutputFeatureCursor
    {
        void Flush();
        void InsertFeatureBuffer(IOutputFeatureBuffer outputFeatureBuffer);
    }

    public interface IOutputHasZ
    {
        bool HasZ { get; }
    }

    public interface IParameterValueArray
    {
        ESRI.ArcGIS.Geodatabase.IGPValue GetGPValue(int parameterIndex);
    }

    public interface ISpatialReference
    {
        bool IsUnknown { get; }
        ESRI.ArcGIS.Geometry.ISpatialReference SpatialReference { get; }
    }

    interface ITrackCancel
    {
        void Cancel();
        bool IsCancelPressed { get; }
    }
}