OpenPegasus SDK (Software Developer Kit) Packaging Definition
Abstract: This document defines the recommended set of files for inclusion in this release of the OpenPegasus SDK.Note 1: The recommendations defined in this document are not intended to document the feature set included in any vendor's OpenPegasus-based product. Rather, the purpose of this document is to provide input to vendors when making product decisions.
Note 2: This DOCUMENt DOES NOT define the
OpenPegasus External Interface. For example, there are include files
packaged in the OpenPegasus SDK which include experimental interfaces that are
NOT part of the External Interface Definition and subject to change in the next
release. Refer to the "OpenPegasus External Interface Definition"
document, ExternalInterface.html, in the pegasus/doc directory in CVS
for the definition of the OpenPegasus external interface.
Note 3: Below mentioned SDK installation directories will change if the PEGASUS_FLAVOR option is set. See PEP#350 for more details.
#ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
/** Experimental Interface
Initialize from a plain C-String that allows UTF-8:
@param str Specifies the name of the String instance.
@param utfFlag Specifies the name of the character constructor.
*/
String(const char* str, const char* utfFlag);
#endif
This section documents the recommended set of include files to be included in this release of the OpenPegasus SDK. Files in this section are expected to be rooted in a single directory $(PEGASUS_INCLUDE_DIR.)
Operating System | $(PEGASUS_INCLUDE_DIR) | Directory | |
---|---|---|---|
Owner Group |
Permissions | ||
Linux | /usr/include | root/root | drwxr-xr-x |
HP-UX | /opt/wbem/include |
Source Location: $(PEGASUS_ROOT)/pegasus/src/Pegasus/Client
Staging Location: $(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_INCLUDE_DIR)/Pegasus/Client
Target Location: $(PEGASUS_INCLUDE_DIR)/Pegasus/Client
ClientOpPerformanceDataHandler.h
Linkage.h
Source Location: $(PEGASUS_ROOT)/pegasus/src/Pegasus/Common
Staging Location: $(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_INCLUDE_DIR)/Pegasus/Common
Target Location: $(PEGASUS_INCLUDE_DIR)/Pegasus/Common
AcceptLanguagesList.h
Array.h
ArrayInter.h
CIMClass.h
CIMDateTime.h
CIMFlavor.h
CIMIndication.h
CIMInstance.h
CIMMethod.h
CIMName.h
CIMObject.h
CIMObjectPath.h
CIMOperationType.h
CIMParamValue.h
CIMParameter.h
CIMProperty.h
CIMPropertyList.h
CIMQualifier.h
CIMQualifierDecl.h
CIMScope.h
CIMStatusCode.h
CIMType.h
CIMValue.h
Char16.h
Config.h
ContentLanguagesList.h
Exception.h
LanguageTag.h
Linkage.h
OperationContext.h
Platform_$(PEGASUS_PLATFORM).h
ResponseHandler.h
SSLContext.h
String.h
Source Location: $(PEGASUS_ROOT)/pegasus/src/Pegasus/Consumer
Staging Location: $(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_INCLUDE_DIR)/Pegasus/Consumer
Target Location: $(PEGASUS_INCLUDE_DIR)/Pegasus/Consumer
These include files are used to build OpenPegasus C++ Providers.
Source Location: $(PEGASUS_ROOT)/pegasus/src/Pegasus/Provider
Staging Location: $(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_INCLUDE_DIR)/Pegasus/Provider
Target Location: $(PEGASUS_INCLUDE_DIR)/Pegasus/Provider
These include files are used to build OpenPegasus CMPI C Providers.
Source Location: $(PEGASUS_ROOT)/pegasus/src/Pegasus/Provider/CMPI
Staging Location:
$(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_INCLUDE_DIR)/Pegasus/Provider/CMPI
Target Location: $(PEGASUS_INCLUDE_DIR)/Pegasus/Provider/CMPI
This section documents the recommended set of documentation files to be included in this release of the OpenPegasus SDK.
The following files are used by DOC++ to generate documentation that describes the C++ Client, Common, Consumer and Provider Interfaces. The DOC++ files are rooted in a single directory.
Operating System | $(PEGASUS_HTML_DIR) | Directory | |
---|---|---|---|
Owner Group |
Permissions | ||
Linux | /usr/share/Pegasus/html | root/pegasus | drwxr-xr-x |
HP-UX | /opt/wbem/html |
Note: Because of the number and dynamic nature of the doc++ generated files, the actual list of files packaged in the SDK is not included in this document.
The list of files required to build the API documentation include:
Source Location: $(PEGASUS_ROOT)/pegasus/doc/SDK
Generated HTML Staging Location:
$(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_HTML_DIR)
Generated HTML Target Location:
$(PEGASUS_HTML_DIR)
Makefile
PageFooter.html
PageHeader.html
Doxyfile
index.html
Files in this section are expected to be rooted in a single directory $(PEGASUS_DOC_DIR).
Operating System | $(PEGASUS_DOC_DIR) | Directory | |
---|---|---|---|
Owner Group |
Permissions | ||
Linux | /usr/share/doc/tog-pegasus-2.11 | root/pegasus | drwxr-xr-x |
HP-UX | /opt/wbem/doc |
The following documents are included as part of the SDK.
Staging Location: $(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_DOC_DIR)
Target Location: $(PEGASUS_DOC_DIR)
File Name | Source Location |
---|---|
SecurityGuidelinesForDevelopers.html | pegasus/doc |
This section documents the recommended set of sample programs to be included in this release of the OpenPegasus SDK. Files in this section are expected to be rooted in a single directory $(PEGASUS_SAMPLES_DIR).
Operating System | $(PEGASUS_SAMPLES_DIR) | Directory | |
---|---|---|---|
Owner Group |
Permissions | ||
Linux | /usr/share/Pegasus/samples | root/pegasus | drwxr-xr-x |
HP-UX | /opt/wbem/samples |
The following table describes the permissions that should be assigned to the files in the $(PEGASUS_SAMPLES_DIR) directory and subdirectories
Operating System | File | |
---|---|---|
Owner/Group | Permissions | |
Linux | root/pegasus | -rw-r--r-- |
HP-UX | bin/bin | |
OpenVMS | system |
The following table describes the permissions that should be assigned to the $(PEGASUS_SAMPLES_DIR) subdirectories.
Operating System | File | |
---|---|---|
Owner/Group | Permissions | |
Linux | root/pegasus | drwxr-xr-x |
HP-UX | bin/bin | |
OpenVMS | system |
The OpenPegasus SDK includes both Client and Provider sample programs.
The $(PEGASUS_SAMPLES_DIR) directory contains the master makefile and configuration file for building and testing the sample Clients and Providers.
Target Location: $(PEGASUS_SAMPLES_DIR)
File Name | Source Location |
---|---|
Makefile | pegasus/src/SDK/samples |
Target Location: $(PEGASUS_SAMPLES_DIR)/mak
File Name | Source Location |
---|---|
SDKEnvVar.mak | This file is generated. |
build.mak | pegasus/src/SDK/samples/mak |
common.mak | pegasus/src/SDK/samples/mak |
config.mak | pegasus/src/SDK/samples/mak |
library.mak | pegasus/src/SDK/samples/mak |
program.mak | pegasus/src/SDK/samples/mak |
recurse.mak | pegasus/src/SDK/samples/mak |
$(PEGASUS_PLATFORM).mak | pegasus/src/SDK/samples/mak |
Target Location: $(PEGASUS_SAMPLES_DIR)/Clients
File Name | Source Location |
---|---|
Makefile | pegasus/src/SDK/samples/Clients |
There are four C++ CIM Client examples are package with the OpenPegasus SDK.
Target Location: $(PEGASUS_SAMPLES_DIR)/Clients/DefaultC++
File Name | Source Location |
---|---|
Makefile | pegasus/src/SDK/samples/Clients/DefaultC++ |
Target Location: $(PEGASUS_SAMPLES_DIR)/Clients/DefaultC++/EnumInstances
File Name | Source Location |
---|---|
EnumInstances.cpp | pegasus/src/SDK/samples/Clients/DefaultC++/EnumInstances |
Makefile | pegasus/src/SDK/samples/Clients/DefaultC++/EnumInstances |
Target Location: $(PEGASUS_SAMPLES_DIR)/Clients/DefaultC++/InvokeMethod
File Name | Source Location |
---|---|
InvokeMethod.cpp | pegasus/src/SDK/samples/Clients/DefaultC++/InvokeMethod |
Makefile | pegasus/src/SDK/samples/Clients/DefaultC++/InvokeMethod |
Target Location: $(PEGASUS_SAMPLES_DIR)/Clients/DefaultC++/SendTestIndications
File Name | Source Location |
---|---|
SendTestIndications.cpp | pegasus/src/SDK/samples/Clients/DefaultC++/SendTestIndications |
Makefile | pegasus/src/SDK/samples/Clients/DefaultC++/SendTestIndications |
Target Location: $(PEGASUS_SAMPLES_DIR)/Clients/DefaultC++/Associations
File Name | Source Location |
---|---|
AssociationTestClient.cpp | pegasus/src/SDK/samples/Clients/DefaultC++/Associations |
Makefile | pegasus/src/SDK/samples/Clients/DefaultC++/Associations |
Target Location: $(PEGASUS_SAMPLES_DIR)/Providers
File Name | Source Location |
---|---|
Makefile | pegasus/src/SDK/samples/Providers |
This release of the OpenPegasus SDK includes MOF files from version 2.31 of the DMTF CIM Schema.
Variable | Value |
---|---|
PEGASUS_CIM_SCHEMA | 228 |
Target Location: $(PEGASUS_SAMPLES_DIR)/Providers/Load
File Name | Source Location |
---|---|
Makefile | pegasus/src/SDK/samples/Providers/Load |
IndicationProviderR.mof | pegasus/src/SDK/samples/Providers/Load |
InstanceProviderR.mof | pegasus/src/SDK/samples/Providers/Load |
MethodProviderR.mof | pegasus/src/SDK/samples/Providers/Load |
SimpleDisplayConsumerR.mof | pegasus/src/SDK/samples/Providers/Load |
SampleProviderSchema.mof | pegasus/src/SDK/samples/Providers/Load |
AssociationProvider.mof | pegasus/src/SDK/samples/Providers/Load |
AssociationProviderR.mof | pegasus/src/SDK/samples/Providers/Load |
CWS_FilesAndDir.mof | pegasus/src/SDK/samples/Providers/Load |
CWS_FilesAndDirR.mof | pegasus/src/SDK/samples/Providers/Load |
SDK_CIM_Schema.mof | pegasus/src/SDK/samples/Providers/Load |
Target Location: $(PEGASUS_SAMPLES_DIR)/Providers/Load/$(PEGASUS_CIM_SCHEMA)/DMTF
File Name | Source Location |
---|---|
qualifiers.mof | pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF |
qualifiers_optional.mof | pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF |
Target Location: $(PEGASUS_SAMPLES_DIR)/Providers/Load/$(PEGASUS_CIM_SCHEMA)/DMTF/Core
File Name | Source Location |
---|---|
CIM_Component.mof | pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/Core |
CIM_LogicalElement.mof | pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/Core |
CIM_ManagedElement.mof | pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/Core |
CIM_ManagedSystemElement.mof | pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/Core |
Target Location: $(PEGASUS_SAMPLES_DIR)/Providers/Load/$(PEGASUS_CIM_SCHEMA)/DMTF/Event
File Name | Source Location |
---|---|
CIM_Indication.mof | pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/Event |
Target Location: $(PEGASUS_SAMPLES_DIR)/Providers/Load/$(PEGASUS_CIM_SCHEMA)/DMTF/System
File Name | Source Location |
---|---|
CIM_DataFile.mof | pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/System |
CIM_DirectoryContainsFile.mof | pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/System |
CIM_Directory.mof | pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/System |
CIM_LogicalFile.mof | pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/System |
The target destination directory for the C++ Provider sample programs is $(SAMPLE_DESTPATH)/Providers/DefaultC++.
File Name | Source Location |
---|---|
Makefile | pegasus/src/SDK/samples/Providers/DefaultC++ |
Target Location: $(PEGASUS_SAMPLES_DIR)/Providers/DefaultC++/InstanceProvider
File Name | Source Location |
---|---|
EnumerateInstancesrspgood.xml | pegasus/src/SDK/samples/Providers/DefaultC++/InstanceProvider |
EnumerateInstances.xml | pegasus/src/SDK/samples/Providers/DefaultC++/InstanceProvider |
InstanceProvider.cpp | pegasus/src/SDK/samples/Providers/DefaultC++/InstanceProvider |
InstanceProvider.h | pegasus/src/SDK/samples/Providers/DefaultC++/InstanceProvider |
InstanceProviderMain.cpp | pegasus/src/SDK/samples/Providers/DefaultC++/InstanceProvider |
Makefile | pegasus/src/SDK/samples/Providers/DefaultC++/InstanceProvider |
Target Location: $(PEGASUS_SAMPLES_DIR)/Providers/DefaultC++/MethodProvider
File Name | Source Location |
---|---|
InvokeMethodrspgood.xml | pegasus/src/SDK/samples/Providers/DefaultC++/MethodProvider |
InvokeMethod.xml | pegasus/src/SDK/samples/Providers/DefaultC++/MethodProvider |
MethodProviderMain.cpp | pegasus/src/SDK/samples/Providers/DefaultC++/MethodProvider |
MethodProvider.cpp | pegasus/src/SDK/samples/Providers/DefaultC++/MethodProvider |
MethodProvider.h | pegasus/src/SDK/samples/Providers/DefaultC++/MethodProvider |
Makefile | pegasus/src/SDK/samples/Providers/DefaultC++/MethodProvider |
Target Location: $(PEGASUS_SAMPLES_DIR)/Providers/DefaultC++/IndicationProvider
File Name | Source Location |
---|---|
IndicationProvider.cpp | pegasus/src/SDK/samples/Providers/DefaultC++/IndicationProvider |
IndicationProvider.h | pegasus/src/SDK/samples/Providers/DefaultC++/IndicationProvider |
IndicationProviderMain.cpp | pegasus/src/SDK/samples/Providers/DefaultC++/IndicationProvider |
Makefile | pegasus/src/SDK/samples/Providers/DefaultC++/IndicationProvider |
Target Location: $(PEGASUS_SAMPLES_DIR)/Providers/DefaultC++/AssociationProvider
File Name | Source Location |
---|---|
Makefile | pegasus/src/SDK/samples/Providers/DefaultC++/AssociationProvider |
AssociationProvider.cpp | pegasus/src/SDK/samples/Providers/DefaultC++/AssociationProvider |
AssociationProvider.h | pegasus/src/SDK/samples/Providers/DefaultC++/AssociationProvider |
AssociationProviderMain.cpp | pegasus/src/SDK/samples/Providers/DefaultC++/AssociationProvider |
Target Location: $(PEGASUS_SAMPLES_DIR)/Providers/DefaultC++/SimpleDisplayConsumer
File Name | Source Location |
---|---|
Makefile | pegasus/src/SDK/samples/Providers/DefaultC++/SimpleDisplayConsumer |
SimpleDisplayConsumer.cpp | pegasus/src/SDK/samples/Providers/DefaultC++/SimpleDisplayConsumer |
SimpleDisplayConsumer.h | pegasus/src/SDK/samples/Providers/DefaultC++/SimpleDisplayConsumer |
SimpleDisplayConsumerMain.cpp | pegasus/src/SDK/samples/Providers/DefaultC++/SimpleDisplayConsumer |
The target destination directory for the CMPI C Provider sample programs is $(SAMPLE_DESTPATH)/Providers/CMPI.
File Name | Source Location |
---|---|
Makefile | pegasus/src/SDK/samples/Providers/CMPI |
Target Location: $(PEGASUS_SAMPLES_DIR)/Providers/CMPI/FilesAndDirectories
File Name | Source Location |
---|---|
CWS_Directory.c | pegasus/src/SDK/samples/Providers/CMPI/FilesAndDirectories |
CWS_DirectoryContainsFile.c | pegasus/src/SDK/samples/Providers/CMPI/FilesAndDirectories |
CWS_FileUtils.c | pegasus/src/SDK/samples/Providers/CMPI/FilesAndDirectories |
CWS_FileUtils.h | pegasus/src/SDK/samples/Providers/CMPI/FilesAndDirectories |
CWS_PlainFile.c | pegasus/src/SDK/samples/Providers/CMPI/FilesAndDirectories |
Makefile | pegasus/src/SDK/samples/Providers/CMPI/FilesAndDirectories |
File Name | Source Location |
---|---|
cwssimdata.c | pegasus/src/SDK/samples/Providers/CMPI/CWS_Util |
cwsutil.c | pegasus/src/SDK/samples/Providers/CMPI/CWS_Util |
cwsutil.h | pegasus/src/SDK/samples/Providers/CMPI/CWS_Util |
Makefile | pegasus/src/SDK/samples/Providers/CMPI/CWS_Util |
The makefile pegasus/mak/SDKMakefile can be used to stage the OpenPegasus SDK.
This command will create three master SDK directories.
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.
Template last modified: March 26th 2006 by Martin Kirk
Template version: 1.11