sequenceDiagram
participant ClientApp
participant O as opae.PluginManager
Note over O: Initalize can be implicit
ClientApp->>O: Initialize(cfile)
O->>O: ParseConfig(cfile)
loop ForEach(N in NativePlugins)
O->>O: InitializeAdapterTable() -> a_table
O->>N: PluginConfigure(a_table, cdata)
N->>N: FillAdapterTable(a_table)
opt
O->>N: Initialize()
end
end
loop ForEach(P in OtherPlugins)
O->>O: LoadPlugin(P)
participant P
activate P
O->>O: InitializeAdapterTable()->a_table
O->>P: PluginConfigure(a_table, cdata)
opt
O->>P: Initialize()
end
deactivate P
end