package rose;

import com.linar.jintegra.*;
/**
 * Proxy for COM Interface 'IRoseApplication'. Generated 1/31/00 1:49:58 PM
 * from 'C:\Program Files\Rational\Rose 2000\rationalrose.tlb'<P>
 * Generated using version 1.3.1  of <B>J-Integra[tm]</B> -- pure Java/COM integration technology from Linar Ltd.
 * See  <A HREF="http://www.linar.com/">http://www.linar.com/</A><P>
 */
public class IRoseApplicationProxy extends com.linar.jintegra.Dispatch implements IRoseApplication {

  protected String getJintegraVersion() { return "1.3.1"; }

  public static final Class targetClass = rose.IRoseApplication.class;

  public IRoseApplicationProxy(String CLSID, String host, AuthInfo authInfo) throws java.net.UnknownHostException, java.io.IOException{
    super(CLSID, IRoseApplication.IID, host, authInfo);
  }

  /** For internal use only */
  public IRoseApplicationProxy() {}

  public IRoseApplicationProxy(Object obj) throws java.io.IOException {
    super(obj, IRoseApplication.IID);
  }

  protected IRoseApplicationProxy(Object obj, String iid) throws java.io.IOException {
    super(obj, iid);
  }

  protected IRoseApplicationProxy(String CLSID, String iid, String host, AuthInfo authInfo) throws java.io.IOException {
    super(CLSID, iid, host, authInfo);
  }

  public void addListener(String iidStr, Object theListener, Object theSource) throws java.io.IOException {
    super.addListener(iidStr, theListener, theSource);
  }

  public void removeListener(String iidStr, Object theListener) throws java.io.IOException {
    super.removeListener(iidStr, theListener);
  }

  /**
   * getPropertyByName. Get the value of a property dynamically at run-time, based on its name
   *
   * @return    return value.  The value of the property.
   * @param     name. The name of the property to get.
   * @exception java.lang.NoSuchFieldException If the property does not exit.
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public Object getPropertyByName(String name) throws NoSuchFieldException, java.io.IOException, com.linar.jintegra.AutomationException {
    com.linar.jintegra.Variant parameters[] = {};
    return super.invoke(name, super.getDispatchIdOfName(name), 2, parameters).getVARIANT();
  }

  /**
   * getPropertyByName. Get the value of a property dynamically at run-time, based on its name and a parameter value
   *
   * @return    return value.  The value of the property.
   * @param     name. The name of the property to get.
   * @param     rhs. Parameter used when getting the property.
   * @exception java.lang.NoSuchFieldException If the property does not exit.
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public Object getPropertyByName(String name, Object rhs) throws NoSuchFieldException, java.io.IOException, com.linar.jintegra.AutomationException {
    com.linar.jintegra.Variant parameters[] = {rhs == null ? new Variant("rhs", 10, 0x80020004L) : new Variant("rhs", 12, rhs)};
    return super.invoke(name, super.getDispatchIdOfName(name), 2, parameters).getVARIANT();
  }

  /**
   * invokeMethodByName. Invoke a method dynamically at run-time
   *
   * @return    return value.  The value returned by the method (null if none).
   * @param     name. The name of the method to be invoked
   * @param     parameters.  One element for each parameter.  Use primitive type wrappers
   *            to pass primitive types (eg Integer to pass an int).
   * @exception java.lang.NoSuchMethodException If the method does not exit.
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public Object invokeMethodByName(String name, Object[] parameters) throws NoSuchMethodException, java.io.IOException, com.linar.jintegra.AutomationException {
    com.linar.jintegra.Variant variantParameters[] = new com.linar.jintegra.Variant[parameters.length];
    for(int i = 0; i < parameters.length; i++) {
      variantParameters[i] = parameters[i] == null ? new Variant("p" + i, 10, 0x80020004L) :
	                                                   new Variant("p" + i, 12, parameters[i]);
    }
    try {
      return super.invoke(name, super.getDispatchIdOfName(name), 1, variantParameters).getVARIANT();
    } catch(NoSuchFieldException nsfe) {
      throw new NoSuchMethodException("There is no method called " + name);
    }
  }

  /**
   * getVisible. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean getVisible  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getVisible", 202, 2, parameters).getBOOL();
  }

  /**
   * setVisible. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setVisible  (
              boolean rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 11, rhs),};
    invoke("setVisible", 202, 4, parameters);
    return;
  }

  /**
   * getTop. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public short getTop  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getTop", 205, 2, parameters).getI2();
  }

  /**
   * setTop. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setTop  (
              short rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 2, rhs),};
    invoke("setTop", 205, 4, parameters);
    return;
  }

  /**
   * getLeft. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public short getLeft  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getLeft", 206, 2, parameters).getI2();
  }

  /**
   * setLeft. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setLeft  (
              short rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 2, rhs),};
    invoke("setLeft", 206, 4, parameters);
    return;
  }

  /**
   * getHeight. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public short getHeight  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getHeight", 207, 2, parameters).getI2();
  }

  /**
   * setHeight. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setHeight  (
              short rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 2, rhs),};
    invoke("setHeight", 207, 4, parameters);
    return;
  }

  /**
   * getWidth. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public short getWidth  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getWidth", 208, 2, parameters).getI2();
  }

  /**
   * setWidth. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setWidth  (
              short rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 2, rhs),};
    invoke("setWidth", 208, 4, parameters);
    return;
  }

  /**
   * getCurrentModel. 
   *
   * @return    return value.  An reference to a IRoseModel
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseModel getCurrentModel  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getCurrentModel", 209, 2, parameters).getDISPATCH();
    return res == null ? null : new IRoseModelProxy(res);
  }

  /**
   * setCurrentModel. 
   *
   * @param     rhs An reference to a IRoseModel)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setCurrentModel  (
              rose.IRoseModel rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setCurrentModel", 209, 4, parameters);
    return;
  }

  /**
   * getPathMap. 
   *
   * @return    return value.  An reference to a IRosePathMap
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRosePathMap getPathMap  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getPathMap", 224, 2, parameters).getDISPATCH();
    return res == null ? null : new IRosePathMapProxy(res);
  }

  /**
   * setPathMap. 
   *
   * @param     rhs An reference to a IRosePathMap)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setPathMap  (
              rose.IRosePathMap rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setPathMap", 224, 4, parameters);
    return;
  }

  /**
   * getVersion. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String getVersion  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getVersion", 231, 2, parameters).getBSTR();
  }

  /**
   * setVersion. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setVersion  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 8, rhs),};
    invoke("setVersion", 231, 4, parameters);
    return;
  }

  /**
   * getProductName. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String getProductName  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getProductName", 232, 2, parameters).getBSTR();
  }

  /**
   * setProductName. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setProductName  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 8, rhs),};
    invoke("setProductName", 232, 4, parameters);
    return;
  }

  /**
   * getApplicationPath. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String getApplicationPath  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getApplicationPath", 233, 2, parameters).getBSTR();
  }

  /**
   * setApplicationPath. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setApplicationPath  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 8, rhs),};
    invoke("setApplicationPath", 233, 4, parameters);
    return;
  }

  /**
   * getAddInManager. 
   *
   * @return    return value.  An reference to a IRoseAddInManager
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseAddInManager getAddInManager  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getAddInManager", 12544, 2, parameters).getDISPATCH();
    return res == null ? null : new IRoseAddInManagerProxy(res);
  }

  /**
   * setAddInManager. 
   *
   * @param     rhs An reference to a IRoseAddInManager)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setAddInManager  (
              rose.IRoseAddInManager rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setAddInManager", 12544, 4, parameters);
    return;
  }

  /**
   * getCommandLine. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String getCommandLine  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getCommandLine", 12586, 2, parameters).getBSTR();
  }

  /**
   * setCommandLine. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setCommandLine  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 8, rhs),};
    invoke("setCommandLine", 12586, 4, parameters);
    return;
  }

  /**
   * getIsInitialized. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean getIsInitialized  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getIsInitialized", 12809, 2, parameters).getBOOL();
  }

  /**
   * setIsInitialized. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setIsInitialized  (
              boolean rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 11, rhs),};
    invoke("setIsInitialized", 12809, 4, parameters);
    return;
  }

  /**
   * openModel. 
   *
   * @param     theModel The theModel (in)
   * @return    return value.  An reference to a IRoseModel
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseModel openModel  (
              String theModel) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theModel", 8, theModel),};
    Object res = invoke("openModel", 210, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseModelProxy(res);
  }

  /**
   * newModel. 
   *
   * @return    return value.  An reference to a IRoseModel
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseModel newModel  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("newModel", 211, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseModelProxy(res);
  }

  /**
   * exit. 
   *
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void exit  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    invoke("exit", 212, 1, parameters);
    return;
  }

  /**
   * writeErrorLog. 
   *
   * @param     theMsg The theMsg (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void writeErrorLog  (
              String theMsg) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theMsg", 8, theMsg),};
    invoke("writeErrorLog", 213, 1, parameters);
    return;
  }

  /**
   * save. 
   *
   * @param     bSaveUnits The bSaveUnits (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void save  (
              boolean bSaveUnits) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("bSaveUnits", 11, bSaveUnits),};
    invoke("save", 214, 1, parameters);
    return;
  }

  /**
   * saveAs. 
   *
   * @param     theFile The theFile (in)
   * @param     bSaveUnits The bSaveUnits (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void saveAs  (
              String theFile,
              boolean bSaveUnits) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theFile", 8, theFile),
                                         new Variant("bSaveUnits", 11, bSaveUnits),};
    invoke("saveAs", 215, 1, parameters);
    return;
  }

  /**
   * compileScriptFile. 
   *
   * @param     FileName The FileName (in)
   * @param     BinaryName The BinaryName (in)
   * @param     bDebug The bDebug (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void compileScriptFile  (
              String FileName,
              String BinaryName,
              boolean bDebug) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("FileName", 8, FileName),
                                         new Variant("BinaryName", 8, BinaryName),
                                         new Variant("bDebug", 11, bDebug),};
    invoke("compileScriptFile", 218, 1, parameters);
    return;
  }

  /**
   * openModelAsTemplate. 
   *
   * @param     szFileName The szFileName (in)
   * @return    return value.  An reference to a IRoseModel
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseModel openModelAsTemplate  (
              String szFileName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("szFileName", 8, szFileName),};
    Object res = invoke("openModelAsTemplate", 223, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseModelProxy(res);
  }

  /**
   * openScript. 
   *
   * @param     FileName The FileName (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void openScript  (
              String FileName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("FileName", 8, FileName),};
    invoke("openScript", 225, 1, parameters);
    return;
  }

  /**
   * newScript. 
   *
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void newScript  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    invoke("newScript", 226, 1, parameters);
    return;
  }

  /**
   * getLicensedApplication. 
   *
   * @param     theKey The theKey (in)
   * @return    return value.  An reference to a IRoseApplication
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseApplication getLicensedApplication  (
              String theKey) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theKey", 8, theKey),};
    Object res = invoke("getLicensedApplication", 235, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseApplicationProxy(res);
  }

  /**
   * executeScript. 
   *
   * @param     pFileName The pFileName (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void executeScript  (
              String pFileName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("pFileName", 8, pFileName),};
    invoke("executeScript", 236, 1, parameters);
    return;
  }

  /**
   * openURL. 
   *
   * @param     theURL The theURL (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean openURL  (
              String theURL) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theURL", 8, theURL),};
    return invoke("openURL", 12587, 1, parameters).getBOOL();
  }

  /**
   * openExternalDocument. 
   *
   * @param     FileName The FileName (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean openExternalDocument  (
              String FileName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("FileName", 8, FileName),};
    return invoke("openExternalDocument", 12588, 1, parameters).getBOOL();
  }

  /**
   * getProfileString. 
   *
   * @param     Section The Section (in)
   * @param     Entry The Entry (in)
   * @param     Default The Default (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String getProfileString  (
              String Section,
              String Entry,
              String Default) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("Section", 8, Section),
                                         new Variant("Entry", 8, Entry),
                                         new Variant("Default", 8, Default),};
    return invoke("getProfileString", 12589, 1, parameters).getBSTR();
  }

  /**
   * writeProfileString. 
   *
   * @param     Section The Section (in)
   * @param     Entry The Entry (in)
   * @param     Value The Value (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean writeProfileString  (
              String Section,
              String Entry,
              String Value) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("Section", 8, Section),
                                         new Variant("Entry", 8, Entry),
                                         new Variant("Value", 8, Value),};
    return invoke("writeProfileString", 12590, 1, parameters).getBOOL();
  }

  /**
   * updateBrowserOverlayImage. 
   *
   * @param     theItem An reference to a IRoseItem (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean updateBrowserOverlayImage  (
              rose.IRoseItem theItem) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theItem", 9, theItem),};
    return invoke("updateBrowserOverlayImage", 12679, 1, parameters).getBOOL();
  }

  /**
   * updateBrowserDocOverlayImage. 
   *
   * @param     theDocument An reference to a IRoseExternalDocument (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean updateBrowserDocOverlayImage  (
              rose.IRoseExternalDocument theDocument) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theDocument", 9, theDocument),};
    return invoke("updateBrowserDocOverlayImage", 12688, 1, parameters).getBOOL();
  }

  /**
   * openRoseModel. 
   *
   * @param     theModel The theModel (in)
   * @param     promptSubUnits The promptSubUnits (in)
   * @return    return value.  An reference to a IRoseModel
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseModel openRoseModel  (
              String theModel,
              boolean promptSubUnits) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theModel", 8, theModel),
                                         new Variant("promptSubUnits", 11, promptSubUnits),};
    Object res = invoke("openRoseModel", 12697, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseModelProxy(res);
  }

  /**
   * getRoseIniPath. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String getRoseIniPath  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getRoseIniPath", 12698, 1, parameters).getBSTR();
  }

  /** Dummy reference from interface to proxy to make sure proxy gets compiled */
  static final int xxDummy = 0;
}
