source: trunk/third/oaf/docs/INTERNALS @ 15503

Revision 15503, 1.3 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r15502, which included commits to RCS files with non-trunk default branches.
Line 
1Objects:
2 ActivationContext:
3        One per session.
4        Performs queries on object directories.
5        Gets an amalgamated list
6
7 ObjectDirectory:
8        Normally, one per user-system tuple.
9        Maintains a database of objects.
10        Activates objects upon request.
11
12 ImplementationID (pseudo):
13        Uniquely identifies an implementation.
14
15 ActivationID (pseudo):
16        ImplementationID, plus whatever other contextual information is necessary
17        to activate the server (hostname, OD class, etc.)
18
19Use cases:
20
21        Panel applet
221. User wants a new panel applet.
232. Panel asks ActivationContext->activate("impl_id")
243. AC asks ODs who has impl_id available.
254. AC looks through OD query results, looks for one that matches the requirements
26   and preferences.
27        (a) Narrow down list to those which match requirements.
28        (b) Sort by preferences.
29        (c) Choose first on list.
305. AC asks OD to activate server.
316. AC returns result.
32
33        Bonobo component
341. User gets list of bonobo components
35        (a) Query the AC for all objects that meet requirements, sort by preferences.
362. User chooses.
373. Proceed similar to above case from step 2.
38
39        Editor
401. App says "give me an IDL:Editor:1.0".
412. AC searches through ODs
42        (a) Narrow down list to those which match requirements.
43        (b) Sort by preferences.
44        (c) Choose first on list.
45
46XXX how to use defaults?
Note: See TracBrowser for help on using the repository browser.