using System.Runtime.InteropServices;

//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (http://www.swig.org).
// Version 3.0.5
//
// Do not make changes to this file unless you know what you are doing--modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------

namespace DocxFactory {

class WordProcessingMergerPINVOKE {

  protected class SWIGExceptionHelper {

    public delegate void ExceptionDelegate(string message);
    public delegate void ExceptionArgumentDelegate(string message, string paramName);

    static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException);
    static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException);
    static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException);
    static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException);
    static ExceptionDelegate invalidCastDelegate = new ExceptionDelegate(SetPendingInvalidCastException);
    static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException);
    static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException);
    static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException);
    static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException);
    static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException);
    static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException);

    static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException);
    static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException);
    static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException);

    [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="SWIGRegisterExceptionCallbacks_WordProcessingMerger")]
    public static extern void SWIGRegisterExceptionCallbacks_WordProcessingMerger(
                                ExceptionDelegate applicationDelegate,
                                ExceptionDelegate arithmeticDelegate,
                                ExceptionDelegate divideByZeroDelegate, 
                                ExceptionDelegate indexOutOfRangeDelegate, 
                                ExceptionDelegate invalidCastDelegate,
                                ExceptionDelegate invalidOperationDelegate,
                                ExceptionDelegate ioDelegate,
                                ExceptionDelegate nullReferenceDelegate,
                                ExceptionDelegate outOfMemoryDelegate, 
                                ExceptionDelegate overflowDelegate, 
                                ExceptionDelegate systemExceptionDelegate);

    [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_WordProcessingMerger")]
    public static extern void SWIGRegisterExceptionCallbacksArgument_WordProcessingMerger(
                                ExceptionArgumentDelegate argumentDelegate,
                                ExceptionArgumentDelegate argumentNullDelegate,
                                ExceptionArgumentDelegate argumentOutOfRangeDelegate);

    static void SetPendingApplicationException(string message) {
      SWIGPendingException.Set(new global::System.ApplicationException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingArithmeticException(string message) {
      SWIGPendingException.Set(new global::System.ArithmeticException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingDivideByZeroException(string message) {
      SWIGPendingException.Set(new global::System.DivideByZeroException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingIndexOutOfRangeException(string message) {
      SWIGPendingException.Set(new global::System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingInvalidCastException(string message) {
      SWIGPendingException.Set(new global::System.InvalidCastException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingInvalidOperationException(string message) {
      SWIGPendingException.Set(new global::System.InvalidOperationException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingIOException(string message) {
      SWIGPendingException.Set(new global::System.IO.IOException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingNullReferenceException(string message) {
      SWIGPendingException.Set(new global::System.NullReferenceException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingOutOfMemoryException(string message) {
      SWIGPendingException.Set(new global::System.OutOfMemoryException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingOverflowException(string message) {
      SWIGPendingException.Set(new global::System.OverflowException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingSystemException(string message) {
      SWIGPendingException.Set(new global::System.SystemException(message, SWIGPendingException.Retrieve()));
    }

    static void SetPendingArgumentException(string message, string paramName) {
      SWIGPendingException.Set(new global::System.ArgumentException(message, paramName, SWIGPendingException.Retrieve()));
    }
    static void SetPendingArgumentNullException(string message, string paramName) {
      global::System.Exception e = SWIGPendingException.Retrieve();
      if (e != null) message = message + " Inner Exception: " + e.Message;
      SWIGPendingException.Set(new global::System.ArgumentNullException(paramName, message));
    }
    static void SetPendingArgumentOutOfRangeException(string message, string paramName) {
      global::System.Exception e = SWIGPendingException.Retrieve();
      if (e != null) message = message + " Inner Exception: " + e.Message;
      SWIGPendingException.Set(new global::System.ArgumentOutOfRangeException(paramName, message));
    }

    static SWIGExceptionHelper() {
      SWIGRegisterExceptionCallbacks_WordProcessingMerger(
                                applicationDelegate,
                                arithmeticDelegate,
                                divideByZeroDelegate,
                                indexOutOfRangeDelegate,
                                invalidCastDelegate,
                                invalidOperationDelegate,
                                ioDelegate,
                                nullReferenceDelegate,
                                outOfMemoryDelegate,
                                overflowDelegate,
                                systemDelegate);

      SWIGRegisterExceptionCallbacksArgument_WordProcessingMerger(
                                argumentDelegate,
                                argumentNullDelegate,
                                argumentOutOfRangeDelegate);
    }
  }

  protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper();

  public class SWIGPendingException {
    [global::System.ThreadStatic]
    private static global::System.Exception pendingException = null;
    private static int numExceptionsPending = 0;

    public static bool Pending {
      get {
        bool pending = false;
        if (numExceptionsPending > 0)
          if (pendingException != null)
            pending = true;
        return pending;
      } 
    }

    public static void Set(global::System.Exception e) {
      if (pendingException != null)
        throw new global::System.ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e);
      pendingException = e;
      lock(typeof(WordProcessingMergerPINVOKE)) {
        numExceptionsPending++;
      }
    }

    public static global::System.Exception Retrieve() {
      global::System.Exception e = null;
      if (numExceptionsPending > 0) {
        if (pendingException != null) {
          e = pendingException;
          pendingException = null;
          lock(typeof(WordProcessingMergerPINVOKE)) {
            numExceptionsPending--;
          }
        }
      }
      return e;
    }
  }


  protected class SWIGStringHelper {

    public delegate string SWIGStringDelegate(string message);
    static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString);

    [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="SWIGRegisterStringCallback_WordProcessingMerger")]
    public static extern void SWIGRegisterStringCallback_WordProcessingMerger(SWIGStringDelegate stringDelegate);

    static string CreateString(string cString) {
      return cString;
    }

    static SWIGStringHelper() {
      SWIGRegisterStringCallback_WordProcessingMerger(stringDelegate);
    }
  }

  static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper();


  static WordProcessingMergerPINVOKE() {
  }


  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_Load")]
  public static extern void Load(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_Save")]
  public static extern void Save(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_Print")]
  public static extern void Print(string jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_Close")]
  public static extern void Close();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_Merge", CharSet=CharSet.Unicode)]
  public static extern void Merge(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetChartValue__SWIG_0", CharSet=CharSet.Unicode)]
  public static extern void SetChartValue__SWIG_0(string jarg1, string jarg2, string jarg3, string jarg4, double jarg5);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetChartValue__SWIG_1", CharSet=CharSet.Unicode)]
  public static extern void SetChartValue__SWIG_1(string jarg1, string jarg2, string jarg3, double jarg4, double jarg5);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetChartValue__SWIG_2")]
  public static extern void SetChartValue__SWIG_2(string jarg1, string jarg2, double jarg3, double jarg4, double jarg5);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetClipboardValue__SWIG_0", CharSet=CharSet.Unicode)]
  public static extern void SetClipboardValue__SWIG_0(string jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetClipboardValue__SWIG_1")]
  public static extern void SetClipboardValue__SWIG_1(string jarg1, string jarg2, double jarg3);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_Paste")]
  public static extern void Paste(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetUpdateTocMethod")]
  public static extern void SetUpdateTocMethod(byte jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetUpdateTocMethod")]
  public static extern byte GetUpdateTocMethod();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetFields")]
  public static extern string GetFields();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetItems")]
  public static extern string GetItems();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetItemParent")]
  public static extern string GetItemParent(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetItemFields")]
  public static extern string GetItemFields(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetCodePage")]
  public static extern void SetCodePage(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetNumFracSep")]
  public static extern void SetNumFracSep(char jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetNumThSep")]
  public static extern void SetNumThSep(char jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetDateFormat")]
  public static extern void SetDateFormat(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetYearOffset")]
  public static extern void SetYearOffset(ushort jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetFirstWeekDay")]
  public static extern void SetFirstWeekDay(ushort jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetWeekDayNames__SWIG_0")]
  public static extern void SetWeekDayNames__SWIG_0();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetWeekDayNames__SWIG_1", CharSet=CharSet.Unicode)]
  public static extern void SetWeekDayNames__SWIG_1(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetWeekDayNames__SWIG_2", CharSet=CharSet.Unicode)]
  public static extern void SetWeekDayNames__SWIG_2(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12, string jarg13, string jarg14);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetMonthNames__SWIG_0")]
  public static extern void SetMonthNames__SWIG_0();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetMonthNames__SWIG_1", CharSet=CharSet.Unicode)]
  public static extern void SetMonthNames__SWIG_1(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetMonthNames__SWIG_2", CharSet=CharSet.Unicode)]
  public static extern void SetMonthNames__SWIG_2(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12, string jarg13, string jarg14, string jarg15, string jarg16, string jarg17, string jarg18, string jarg19, string jarg20, string jarg21, string jarg22, string jarg23, string jarg24);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetCodePage")]
  public static extern string GetCodePage();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetNumFracSep")]
  public static extern char GetNumFracSep();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetNumThSep")]
  public static extern char GetNumThSep();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetDateFormat")]
  public static extern string GetDateFormat();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetYearOffset")]
  public static extern ushort GetYearOffset();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetFirstWeekDay")]
  public static extern ushort GetFirstWeekDay();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetWeekDayFullNames", CharSet=CharSet.Unicode)]
  public static extern string GetWeekDayFullNames();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetWeekDayShortNames", CharSet=CharSet.Unicode)]
  public static extern string GetWeekDayShortNames();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetMonthFullNames", CharSet=CharSet.Unicode)]
  public static extern string GetMonthFullNames();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetMonthShortNames", CharSet=CharSet.Unicode)]
  public static extern string GetMonthShortNames();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_SetTempDir")]
  public static extern void SetTempDir(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetTempDir")]
  public static extern string GetTempDir();

  [global::System.Runtime.InteropServices.DllImport("DocxFactoryCSharpExt", EntryPoint="CSharp_GetWorkDir")]
  public static extern string GetWorkDir();
}

}
