Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Znav
nextAdvanced Plug-in Topics
prevPlug-in API

Plug-ins are installed using a configuration property of the following form:

Wiki Markup
{zcode}
Ice.Plugin.Name=entry_point [arg ...]
{zcode}

In most cases you can assign an arbitrary name to a plug-in. In the case of IceSSL, however, the plug-in requires that its name be IceSSL.

The value of entry_point is a language-specific representation of the plug-in's factory. In C++, it consists of the path name of the shared library or DLL containing the factory function, along with the name of the factory function. In Java and .NET, the entry point specifies the factory class.

The language-specific nature of plug-in properties can present a problem when applications that are written in multiple implementation languages attempt to share a configuration file. Ice supports an alternate syntax for plug-in properties that alleviates this issue:

Wiki Markup
{zcode}
Ice.Plugin.name.cpp=...    # C++ plug-in
Ice.Plugin.name.java=...   # Java plug-in
Ice.Plugin.name.clr=...    # .NET (Common Language Runtime) plug-in
{zcode}

Plug-in properties having a suffix of .cpp, .java, or .clr are loaded only by the appropriate Ice run time and ignored by others.

After extracting the plug-in's entry point from the property value, any remaining text is parsed using semantics similar to that of command-line arguments. Whitespace separates the arguments, and any arguments that contain whitespace must be enclosed in quotes:

Wiki Markup
{zcode}
Ice.Plugin.MyPlugin=entry_point --load "C:\Data Files\config.dat"
{zcode}

Ice passes these arguments to the plug-in's entry point during loading.

Ztop

See Also

Zret
Znav
nextAdvanced Plug-in Topics
prevPlug-in API