## org.apache.tools.ant.taskdefs.optional.dotnet
Class ImportTypelib

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.Task
              org.apache.tools.ant.taskdefs.optional.dotnet.ImportTypelib

All Implemented Interfaces:
  java.lang.Cloneable

    public class ImportTypelib

extends Task

Import a COM type library into the .NET framework.

This task is a wrapper to .NET's tlbimport; it imports a tlb file to a NET assembly by generating a binary assembly (.dll) that contains all the binding metadata. It uses date timestamps to minimise rebuilds.

Example

         <importtypelib
           srcfile="xerces.tlb"
           destfile="xerces.dll"
           namespace="Apache.Xerces"/>

Since:
  Ant 1.6

Field Summary

Fields inherited from class org.apache.tools.ant.Task
`target, taskName, taskType, wrapper`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`description, location, project`

Constructor Summary
`ImportTypelib()`

Method Summary
`void` `execute()` Create a typelib command
`void` `setDestFile(java.io.File destFile)` This method names the output file.
`void` `setExtraOptions(java.lang.String extraOptions)` set any extra options that are not yet supported by this task.
`void` `setNamespace(java.lang.String namespace)` This method sets what namespace the typelib is to be in.
`void` `setSrcFile(java.io.File srcFile)` This method sets which is the source .tlb file.
`void` `setUnsafe(boolean unsafe)` do you want unsafe code.
`void` `setUseSysArray(boolean useSysArray)` set this to map a COM SafeArray to the System.Array class
`protected void` `validate()` validation code

Methods inherited from class org.apache.tools.ant.Task
`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ImportTypelib

    public ImportTypelib()

Method Detail

### setDestFile

    public void setDestFile(java.io.File destFile)

  This method names the output file. This is an operation which is required to have been performed.

  Parameters:
    `destFile` - the output file.

### setNamespace

    public void setNamespace(java.lang.String namespace)

  This method sets what namespace the typelib is to be in. This is an operation which is required to have been performed.

  Parameters:
    `namespace` - the namespace to use.

### setSrcFile

    public void setSrcFile(java.io.File srcFile)

  This method sets which is the source .tlb file. This is an operation which is required to have been performed.

  Parameters:
    `srcFile` - the source file.

### setUnsafe

    public void setUnsafe(boolean unsafe)

  do you want unsafe code.

  Parameters:
    `unsafe` - a `boolean` value.

### setUseSysArray

    public void setUseSysArray(boolean useSysArray)

  set this to map a COM SafeArray to the System.Array class

  Parameters:
    `useSysArray` - a `boolean` value.

### setExtraOptions

    public void setExtraOptions(java.lang.String extraOptions)

  set any extra options that are not yet supported by this task.

  Parameters:
    `extraOptions` - the options to use.

### validate

    protected void validate()
                     throws BuildException

  validation code

  Throws:
    `BuildException` - if validation failed

### execute

    public void execute()
                 throws BuildException

  Create a typelib command

  Overrides:
    `execute` in class `Task`
  Throws:
    `BuildException` - if something goes wrong with the build