ECMA2 Framework
Home
  • Home
  • Using the Framework
    • Getting started
    • Definining the schema
    • Definining capabilites
    • Defining configuration parameters
    • Using the ProducerConsumerImportProvider
    • Building single-file assemblies
  • Additional resources
    • Example projects
      • Lithnet Okta Management Agent
      • Simple example
    • Troubleshooting
    • Change log
  • Advanced
    • API Reference
      • CapabilitiesConfigurationAttribute
      • CheckboxParameterAttribute
      • ConnectivityConfigurationAttribute
      • DataParameterAttribute
      • DividerParameterAttribute
      • DropdownParameterAttribute
      • Ecma2FrameworkOptions
      • EncryptedStringParameterAttribute
      • ExportContext
      • FileParameterAttribute
      • GlobalConfigurationAttribute
      • ICapabilitiesProvider
      • IConfigParameters
      • IConfigParametersProvider
      • IContextInitializer
      • ICSEntryChangeCollection
      • IEcmaStartup
      • ImportContext
      • IObjectExportProvider
      • IObjectImportProvider
      • IObjectPasswordProvider
      • ISchemaProvider
      • LabelParameterAttribute
      • MultilineTextboxParameterAttribute
      • ParameterAttribute
      • PartitionConfigurationAttribute
      • PasswordContext
      • ProducerConsumerImportProvider<TObject>
      • RunStepConfigurationAttribute
      • SchemaConfigurationAttribute
      • StringParameterAttribute
      • UIParameterAttribute
Powered by GitBook
On this page
  1. Using the Framework

Definining capabilites

MIM needs to know what capabilities your management agent has. In order to achieve this, we need to create a new class that inherits from ICapabilitiesProvider.

Here is an example of a CapabilitiesProvider class that implements the GetCapabilitiesAsync method:

using System.Threading.Tasks;
using Microsoft.MetadirectoryServices;

namespace Lithnet.Ecma2Framework.Example
{
    public class CapabilitiesProvider : ICapabilitiesProvider
    {
        public Task<MACapabilities> GetCapabilitiesAsync(IConfigParameters configParameters)
        {
            return Task.FromResult(
                new MACapabilities
                {
                    ConcurrentOperation = true,
                    DeltaImport = false,
                    DistinguishedNameStyle = MADistinguishedNameStyle.Generic,
                    SupportExport = false,
                    SupportImport = true
                });
        }
    }
}
PreviousDefinining the schemaNextDefining configuration parameters

Last updated 1 year ago