1 karl 1.1.2.1 Title: Building static providers for OpenPegasus embedded systems
2 Date: 1 November 2007
3 Status: Draft
|
4 karl 1.1.2.2 Reference: pegasus PEP 309
|
5 karl 1.1.2.1
|
6 karl 1.1.2.3 NOTE: The static provider functionality and registration changed and
7 this readme MUST BE redone. 20 Dec 2007. For the moment, please see
8 the new readme readme.StaticProviderRegistration. KS
9
10
|
11 karl 1.1.2.2 Overview of the Static Provider Functionality
|
12 karl 1.1.2.1
|
13 karl 1.1.2.2 For embedded system implementations of OpenPegasus, the dynamic shared
14 library model for provider implementation sometimes does not work
15 (see PEP 305 for background). Therefore, a static model for
16 providers has been implemented whereby the providers become part
17 of the server image, directly linked into the server.
18
19 Note that this feature is based on the existing provider linking
20 mechanism for control providers in Pegasus but with cleaner
21 interfaces.
|
22 karl 1.1.2.1
23 Building Static Providers
24
|
25 karl 1.1.2.2 NOTE: There is an example of the building of providers in the
26 directory pegauss/vxworks.providers with two simple sample
27 providers.
28
29 Building providers is very similar to the standard provider build
30 except that only the libraries are build, not shared libraries.
31
32 Note that the interfaces are exactly the same between the static
33 providers and normal pegasus providers and that exactly the same
34 provider interface functionality is supported.
35
36 There is an example of building static providers in the directory
37
38 pegaus/vxworks/providers
|
39 karl 1.1.2.1
40 Installing Static Providers
|
41 karl 1.1.2.2
42 The installation/registration process for static providers is
43 completely different than for dynamic providers. Whereas dynamic
44 providers are installed with a registration process that uses
45 instances of provider classes to define the provider and its
46 capabilities, the static provider is installed as part of the
47 creation of the server image (linked) and registered as part of
48 the startup process for the OpenPegasus server.
49
50 Once a provider has been coded and compiled it is built into the
51 startup OpenPegasus provider registration by defining the provider
52 information in a table that is defined in the server startup code.
53
54 NOTE: For the moment, PEP 309 provides the definition of how to
55 build this table.
56
57 There is an example of this table defined in the file
58
59 pegasus/vxworks/cimserver/cimserver.cpp
60
|