version 1.6, 2005/03/01 06:18:02
|
version 1.8, 2006/02/18 03:27:11
|
|
|
CMPI Providers in a nutshell |
//%2006//////////////////////////////////////////////////////////////////////// |
|
// |
|
// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development |
|
// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. |
|
// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; |
|
// IBM Corp.; EMC Corporation, The Open Group. |
|
// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; |
|
// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. |
|
// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
// EMC Corporation; VERITAS Software Corporation; The Open Group. |
|
// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
// EMC Corporation; Symantec Corporation; The Open Group. |
|
// |
|
// Permission is hereby granted, free of charge, to any person obtaining a copy |
|
// of this software and associated documentation files (the "Software"), to |
|
// deal in the Software without restriction, including without limitation the |
|
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
|
// sell copies of the Software, and to permit persons to whom the Software is |
|
// furnished to do so, subject to the following conditions: |
|
// |
|
// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN |
|
// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED |
|
// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT |
|
// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR |
|
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
|
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN |
|
// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
|
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|
// |
|
//============================================================================== |
|
Common Management Programming Interface (CMPI) Providers in a nutshell |
============================ | ============================ |
| |
Viktor Mihajlovski <mihajlov@de.ibm.com> |
Aug 1st, 2005 |
Nov 14th 2003 |
|
| |
Pegasus 2.4 *NEWS* |
Pegasus 2.5 *NEWS* |
------------------ | ------------------ |
| |
The CMPI header files are being standardized and will be (possibly by the |
The CMPI macro header files (cmpimacs.h) shipped is OpenPegasus specific. This |
time you read this) frozen. However, since the OpenPegasus 2.4 release is |
will change once OpenGroup releases a specification with the macro definitions. |
anticipated prior to the anticipated freezing of the CMPI standard, |
|
the OpenPegasus 2.4 release will not provide the CMPI header files as |
The CMPI Function Table (cmpift.h) file and CMPI Data Types (cmpidt.h) file are |
part of the OpenPegasus 2.4 SDK. |
composed from the CMPI v1.0 specification + Technical Corrigenda and are |
|
binary compatible with the "historical implementations" and the 1.0 specification |
|
augmented with the Technical Corrigenda. |
| |
They can be found within CVS and the source tarball. Visit |
|
http://cvs.opengroup.org/cgi-bin/viewcvs.cgi/pegasus/src/Pegasus/Provider/CMPI/ to view the CMPI header files. |
|
| |
Build CMPI from sources | Build CMPI from sources |
----------------------- | ----------------------- |
|
|
The Common Manageability Programming Interface (CMPI) has been integrated into | The Common Manageability Programming Interface (CMPI) has been integrated into |
Pegasus as a pluggable provider manager. | Pegasus as a pluggable provider manager. |
| |
CMPI must be enabled during Pegasus build. |
CMPI is by default enabled on Linux. For other platforms it must be enabled |
|
during Pegasus build. |
|
|
For CMPI enablement, set the following environment variables prior to make: | For CMPI enablement, set the following environment variables prior to make: |
| |
PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=1 | PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=1 |
|
|
The packages prefixed by the string sblim-cmpi contain CMPI providers for | The packages prefixed by the string sblim-cmpi contain CMPI providers for |
various classes. See http://www-124.ibm.com/developerworks/projects/sblim . | various classes. See http://www-124.ibm.com/developerworks/projects/sblim . |
| |
|
Using CMPI with threads |
|
----------------------- |
|
|
|
CMPI provides API functions for low-level thread, mutex and conditional constructs. |
|
Hence you can compile your provider without needing to link to pthread or other |
|
threading library. |
|
|
|
However, the developer is responsible for memory management of these constructs and |
|
as well of exiting the threads before the cleanup function is exited. If this is not |
|
done, the thread will be forcefully terminated. This can have the nasty consequence of |
|
hanging CIMServer, or bringing down the CIMServer, or just the Out-of-Process Provider |
|
Agent if you run OpenPegasus with 'run-as-requester' configuration flag turned on. |
|
Please refer to the Admin Guide or the readme files for more details about this flag. |
| |
Using CQL with CMPI | Using CQL with CMPI |
------------------- | ------------------- |