For the C plug-ins, ARPluginCreateInstance and ARPluginDeleteInstance
are called each time a plug-in is called.
These 3 are called when the plug-in server starts:
ARPluginIdentify ()
ARPluginSetProperties ()
ARPluginInitialization ()
ARPluginDeleteInstance is called before the plug-in call (from an end
user) exits.
ARPluginTermination is called for each plug-in when the plug-in server
terminates.
The idea here is:
- ARPluginInitialization and ARPluginTermination allow you to set up
global resources.
- ARPluginCreateInstance and ARPluginDeleteInstance allow you to set
up resources specific to a single call to the plugin.
- ARPluginIdentify sets up the data that is mandatory to the
functioning of the plug-in (i.e., who am I, what version am I, ...).
- ARPluginSetProperties exposes pointers to various functions that are
provided by the plug-in server.
Axton Grams
On 10/4/07, Carey Matthew Black <[EMAIL PROTECTED]> wrote:
> Jarl,
>
> I think there might be a bit of confusion due to the terms used...
>
> I think it is more like this...
>
>
> Ref: Integrating-710.pdf pg 102
> Figure 7-2: C plug-in call sequence
>
> ARPluginIdentify ()
> ARPluginSetProperties ()
> ARPluginInitialization ()
> ARPluginCreateInstance() -- one or more times
>
> AREA, ARDBC, or AR Filter calls --
> I think this is per Filter Action
>
> ARPluginDeleteInstance ()
> ARPluginTermination ()
>
>
> I think... the plugin server calls the first 4 methods as soon as _it_
> starts up. Then when the ARS Server talks to the Plugin Server the
> only things that are done are the "AREA, ARDBC, or AR Filter calls"
> portion(s) of the code.
>
> I think this makes some sense too. But I do not think it prevents the
> "AREA, ARDBC, or AR Filter calls" from doing things like spawning new
> threads (ARPluginCreateInstance() ) or other calls to the previous
> methods. ( With a possible exception of the ARPluginIdentify ()
> method. I doubt the Plugin Server would deal with a loaded plugin
> trying to change its identity very well. But I could be wrong about.)
>
>
> Then... when the Plugin server is being shut down I think the
> ARPluginDeleteInstance () and ARPluginTermination () methods are
> called.
>
>
> So in summary "when the plugin loads" is when the Plugin Server reads
> and loads the plugin into memory on startup. (And not when a Plugin
> Call from the ARS server is executed.) The plugins are "standing
> daemons" that wait and listen for inquiries.
>
> But that is just my read of things. (Reality might be very different
> than what the docs indicate.)
>
> --
> Carey Matthew Black
> Remedy Skilled Professional (RSP)
> ARS = Action Request System(Remedy)
>
> Love, then teach
> Solution = People + Process + Tools
> Fast, Accurate, Cheap.... Pick two.
>
>
> On 10/4/07, Jarl Grøneng <[EMAIL PROTECTED]> wrote:
> > Hugo,
> >
> > The documentation of the java plugin states this:
> >
> > public void initialize(ARPluginContext context) throws ARException {}
> > "An initialization routine called once at startup load time for each
> > plugin that is loaded. The plugin can do all its initialization and
> > setup in this method."
> >
> > I see benefits running initialize when the plugin loads.
> >
> > --
> > Jarl
>
> _______________________________________________________________________________
> UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where the
> Answers Are"
>
_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where the
Answers Are"