crystalspace.jbind.impl.csutil.cfgmgr
Class csConfigManager

java.lang.Object
  extended bycrystalspace.jbind.impl.csNativeObject
      extended bycrystalspace.jbind.impl.csutil.scf.csBase
          extended bycrystalspace.jbind.impl.csutil.cfgfile.csConfigFile
              extended bycrystalspace.jbind.impl.csutil.cfgmgr.csConfigManager
All Implemented Interfaces:
iBase, iConfigFile, iConfigManager, iPointer

public class csConfigManager
extends csConfigFile
implements iConfigManager

Author:
Quentin Anciaux

Field Summary
 
Fields inherited from class crystalspace.jbind.impl.csNativeObject
ImplFactory, nPointer
 
Fields inherited from interface crystalspace.jbind.interfaces.iutil.cfgmgr.iConfigManager
ConfigPriorityApplication, ConfigPriorityCmdLine, ConfigPriorityPlugin, ConfigPriorityUserApp, ConfigPriorityUserGlobal, PriorityHigh, PriorityLow, PriorityMax, PriorityMedium, PriorityMin, PriorityVeryHigh, PriorityVeryLow
 
Constructor Summary
csConfigManager(iPointer nPointer)
           
 
Method Summary
 void addDomain(iConfigFile config, int priority)
          Add a configuration domain.
 iConfigFile addDomain(java.lang.String path, iVFS vfs, int priority)
          Add a configuration domain by loading it from a file.
 void flushRemoved()
          Flush all removed configuration files (only required in optimize mode);.
 int getDomainPriority(iConfigFile config)
          Return the priority of a configuration domain.
 int getDomainPriority(java.lang.String path)
          Return the priority of a configuration domain.
 iConfigFile getDynamicDomain()
          Return a pointer to the dynamic configuration domain.
 int getDynamicDomainPriority()
          Return the priority of the dynamic configuration domain.
static java.lang.Class getInterfaceClass()
           
static java.lang.String getInterfaceName()
           
static int getInterfaceVersion()
           
 java.lang.String getName()
          Return the name of the interface
 int getVersion()
          Return the version of the interface
static void initSCF()
           
protected  boolean isNativePointerValidSafe(long pointer)
           
 iConfigFile lookupDomain(java.lang.String path)
          Find the iConfigFile object for a registered domain.
 void removeDomain(iConfigFile config)
          Remove a configuration domain.
 void removeDomain(java.lang.String path)
          Remove a configuration domain.
 void setDomainPriority(iConfigFile config, int priority)
          Set the priority of a registered configuration domain.
 void setDomainPriority(java.lang.String path, int priority)
          Set the priority of a configuration domain.
 boolean setDynamicDomain(iConfigFile config)
          Change the dynamic domain.
 void setDynamicDomainPriority(int priority)
          Set the priority of the dynamic configuration domain.
 
Methods inherited from class crystalspace.jbind.impl.csutil.cfgfile.csConfigFile
clear, deleteKey, enumerate, enumerate, getBool, getBool, getComment, getEOFComment, getFileName, getFloat, getFloat, getInt, getInt, getStr, getStr, getVFS, keyExists, load, load, load, load, save, save, save, setBool, setComment, setEOFComment, setFileName, setFloat, setInt, setStr, subsectionExists
 
Methods inherited from class crystalspace.jbind.impl.csutil.scf.csBase
decRef, equals, finalize, getRefCount, incRef, nDelete, queryInterface, queryInterfaceSafe
 
Methods inherited from class crystalspace.jbind.impl.csNativeObject
changePointer, getPointer, getPointer, getPointerArray, hashCode, isMemoryOwner, isNativePointerValid, newNativeObject, setMemoryOwner, toString
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface crystalspace.jbind.interfaces.iutil.cfgfile.iConfigFile
clear, deleteKey, enumerate, enumerate, getBool, getBool, getComment, getEOFComment, getFileName, getFloat, getFloat, getInt, getInt, getStr, getStr, getVFS, keyExists, load, load, load, load, save, save, save, setBool, setComment, setEOFComment, setFileName, setFloat, setInt, setStr, subsectionExists
 
Methods inherited from interface crystalspace.jbind.interfaces.iutil.scf.iBase
decRef, getRefCount, incRef, queryInterface, queryInterfaceSafe
 
Methods inherited from interface crystalspace.jbind.interfaces.iPointer
changePointer, getPointer, isMemoryOwner, setMemoryOwner
 

Constructor Detail

csConfigManager

public csConfigManager(iPointer nPointer)
Parameters:
nPointer -
Method Detail

getVersion

public int getVersion()
Description copied from interface: iBase
Return the version of the interface

Specified by:
getVersion in interface iBase
Overrides:
getVersion in class csConfigFile

getName

public java.lang.String getName()
Description copied from interface: iBase
Return the name of the interface

Specified by:
getName in interface iBase
Overrides:
getName in class csConfigFile

initSCF

public static void initSCF()

getInterfaceVersion

public static int getInterfaceVersion()

getInterfaceName

public static java.lang.String getInterfaceName()

getInterfaceClass

public static java.lang.Class getInterfaceClass()

isNativePointerValidSafe

protected boolean isNativePointerValidSafe(long pointer)
Overrides:
isNativePointerValidSafe in class csConfigFile
See Also:
csNativeObject.isNativePointerValidSafe(long)

addDomain

public void addDomain(iConfigFile config,
                      int priority)
Description copied from interface: iConfigManager
Add a configuration domain. The configuration manager invokes IncRef(); upon the incoming iConfigFile. Implemented in csConfigManager.

Specified by:
addDomain in interface iConfigManager
Parameters:
config -
priority -
See Also:
iConfigManager.addDomain(crystalspace.jbind.interfaces.iutil.cfgfile.iConfigFile, int)

addDomain

public iConfigFile addDomain(java.lang.String path,
                             iVFS vfs,
                             int priority)
Description copied from interface: iConfigManager
Add a configuration domain by loading it from a file. The new iConfigFile object which represents the loaded file is also returned. If you want to hold onto the iConfigFile even after it is removed from this object or after the configuration manager is destroyed, be sure to invoke IncRef(); or assign it to a csRef <>. The incoming iVFS may be null, in which case the path is assumed to point at a file in the pyhysical filesystem, rather than at a file in the public filesystem. Implemented in csConfigManager.

Specified by:
addDomain in interface iConfigManager
Parameters:
path -
vfs -
priority -
Returns:
See Also:
iConfigManager.addDomain(java.lang.String, crystalspace.jbind.interfaces.iutil.vfs.iVFS, int)

flushRemoved

public void flushRemoved()
Description copied from interface: iConfigManager
Flush all removed configuration files (only required in optimize mode);. Implemented in csConfigManager.

Specified by:
flushRemoved in interface iConfigManager
See Also:
iConfigManager.flushRemoved()

getDomainPriority

public int getDomainPriority(iConfigFile config)
Description copied from interface: iConfigManager
Return the priority of a configuration domain. If the domain is not registered, PriorityMedium is returned. Implemented in csConfigManager.

Specified by:
getDomainPriority in interface iConfigManager
Parameters:
config -
Returns:
See Also:
iConfigManager.getDomainPriority(crystalspace.jbind.interfaces.iutil.cfgfile.iConfigFile)

getDomainPriority

public int getDomainPriority(java.lang.String path)
Description copied from interface: iConfigManager
Return the priority of a configuration domain. If the domain is not registered, PriorityMedium is returned. Implemented in csConfigManager.

Specified by:
getDomainPriority in interface iConfigManager
Parameters:
path -
Returns:
See Also:
iConfigManager.getDomainPriority(java.lang.String)

getDynamicDomain

public iConfigFile getDynamicDomain()
Description copied from interface: iConfigManager
Return a pointer to the dynamic configuration domain. The returned pointer will remain valid as long as the domain is registered with the configuration manager. Implemented in csConfigManager.

Specified by:
getDynamicDomain in interface iConfigManager
Returns:
See Also:
iConfigManager.getDynamicDomain()

getDynamicDomainPriority

public int getDynamicDomainPriority()
Description copied from interface: iConfigManager
Return the priority of the dynamic configuration domain. Implemented in csConfigManager.

Specified by:
getDynamicDomainPriority in interface iConfigManager
Returns:
See Also:
iConfigManager.getDynamicDomainPriority()

lookupDomain

public iConfigFile lookupDomain(java.lang.String path)
Description copied from interface: iConfigManager
Find the iConfigFile object for a registered domain. Returns null if the domain is not registered. Implemented in csConfigManager.

Specified by:
lookupDomain in interface iConfigManager
Parameters:
path -
Returns:
See Also:
iConfigManager.lookupDomain(java.lang.String)

removeDomain

public void removeDomain(iConfigFile config)
Description copied from interface: iConfigManager
Remove a configuration domain. If registered, the configuration manager will relinquish its reference to the domain by invoking DecRef(); on it to balance the IncRef(); it performed when the domain was added. If the domain is not registered, the RemoveDomain(); request is ignored. It is not legal to remove the dynamic domain. Implemented in csConfigManager.

Specified by:
removeDomain in interface iConfigManager
Parameters:
config -
See Also:
iConfigManager.removeDomain(crystalspace.jbind.interfaces.iutil.cfgfile.iConfigFile)

removeDomain

public void removeDomain(java.lang.String path)
Description copied from interface: iConfigManager
Remove a configuration domain. Implemented in csConfigManager.

Specified by:
removeDomain in interface iConfigManager
Parameters:
path -
See Also:
iConfigManager.removeDomain(java.lang.String)

setDomainPriority

public void setDomainPriority(iConfigFile config,
                              int priority)
Description copied from interface: iConfigManager
Set the priority of a registered configuration domain. If the domain is not registered, the request is ignored. Implemented in csConfigManager.

Specified by:
setDomainPriority in interface iConfigManager
Parameters:
config -
priority -
See Also:
iConfigManager.setDomainPriority(crystalspace.jbind.interfaces.iutil.cfgfile.iConfigFile, int)

setDomainPriority

public void setDomainPriority(java.lang.String path,
                              int priority)
Description copied from interface: iConfigManager
Set the priority of a configuration domain. Implemented in csConfigManager.

Specified by:
setDomainPriority in interface iConfigManager
Parameters:
path -
priority -
See Also:
iConfigManager.setDomainPriority(java.lang.String, int)

setDynamicDomain

public boolean setDynamicDomain(iConfigFile config)
Description copied from interface: iConfigManager
Change the dynamic domain. The domain must already have been registered with AddDomain(); before calling this method. If the domain is not registered, then false is returned. Implemented in csConfigManager.

Specified by:
setDynamicDomain in interface iConfigManager
Parameters:
config -
Returns:
See Also:
iConfigManager.setDynamicDomain(crystalspace.jbind.interfaces.iutil.cfgfile.iConfigFile)

setDynamicDomainPriority

public void setDynamicDomainPriority(int priority)
Description copied from interface: iConfigManager
Set the priority of the dynamic configuration domain. Implemented in csConfigManager.

Specified by:
setDynamicDomainPriority in interface iConfigManager
Parameters:
priority -
See Also:
iConfigManager.setDynamicDomainPriority(int)