(file) Return to SDKPackaging.html CVS log (file) (dir) Up to [Pegasus] / pegasus / doc

File: [Pegasus] / pegasus / doc / SDKPackaging.html (download) / (as text)
Revision: 1.4, Thu Sep 11 11:31:07 2014 UTC (9 years, 7 months ago) by karl
Branch: MAIN
CVS Tags: RELEASE_2_14_1, RELEASE_2_14_0-RC2, RELEASE_2_14_0-RC1, RELEASE_2_14_0, RELEASE_2_14-root, RELEASE_2_14-branch, HEAD
Changes since 1.3: +1 -1 lines
BUG#: 9926
TITLE: Make CIMSchema 2.14 default for builds

DESCRIPTION: Added second patch to correct some changes forgotten
in the first one.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>







  <meta http-equiv="Content-Language" content="en-us">

  <meta name="GENERATOR" content="Microsoft FrontPage 6.0">

  <meta name="ProgId" content="FrontPage.Editor.Document">

  <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

  <title>PEP</title>

  <link rel="stylesheet" href="PEP352_SDKFile2.10.0-Dateien/info1.htm">

</head><body>

<hr>

<p align="center"><b><font size="4">OpenPegasus SDK (Software Developer Kit) Packaging Definition</font></b></p><b>Abstract:&nbsp;</b>This document defines the recommended set of files for 
inclusion in this release of the OpenPegasus SDK.

<p><b>Note 1: </b>The recommendations defined in this document are not
intended to document the feature set included in any vendor's
OpenPegasus-based product.&nbsp; Rather, the purpose of this document is to
provide input to vendors when making product decisions.</p>

<p><font face="Verdana"><b>Note 2:&nbsp;</b> This DOCUMENt DOES NOT define the 
OpenPegasus External Interface.&nbsp; 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 </font>&nbsp;"OpenPegasus External Interface Definition" 
document, ExternalInterface.html, in the pegasus/doc directory in CVS<font face="Verdana"> 
for the definition of the OpenPegasus external interface.&nbsp; <br>
</font></p>

<p><font face="Verdana"><span style="font-weight: bold;">Note 3</span>: Below mentioned SDK installation directories will change if the PEGASUS_FLAVOR option is set. See&nbsp; <a href="http://www.openpegasus.org/pp/uploads/40/21277/PEP350_MultiCIMOM.htm">PEP#350</a>&nbsp; for more details.<br>
</font></p>


<hr>
<h3>1. Style Guidelines for SDK Files</h3>



<ul>


   <li>All <b>experimental interfaces</b> should be 
       (a) enclosed within the PEGASUS_USE_EXPERIMENTAL_INTERACES 
       "ifdef" and (b) labeled as an "Experimental Interface" within 
       the DOC++ captured comment. E.g.,</li> 
   
      <pre>   <br>      #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES<br><br>      /** <b>Experimental Interface</b><br><br>      Initialize from a plain C-String that allows UTF-8:<br>      @param str Specifies the name of the String instance.<br>      @param utfFlag Specifies the name of the character constructor.<br>      */<br>      String(const char* str, const char* utfFlag);<br>    <br>      #endif</pre>
      
      <li>Developer names should not be included in
        SDK packaged files.</li> 
</ul>


<h3>2. SDK Include Files</h3>


<p>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.)</p>


<ul>


<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="606" height="146">
  <tbody><tr>
    <th rowspan="2" bgcolor="#cae6ca" width="151" height="10">Operating System</th>
    <th rowspan="2" bgcolor="#cae6ca" width="565" height="10">$(PEGASUS_INCLUDE_DIR)</th>
    <th colspan="2" bgcolor="#cae6ca" width="352" height="16">Directory</th>
  </tr>
  <tr>
    <th bgcolor="#cae6ca" width="186" height="10">Owner<br>
    Group</th>
    <th bgcolor="#cae6ca" width="166" height="10">Permissions</th>
  </tr>
  <tr>
    <td align="center" width="151" height="5">Linux</td>
    <td align="left" width="124">/usr/include</td>
    <td align="center" width="224" height="5">root/root</td>
    <td align="center" width="166" height="5">drwxr-xr-x</td>
  </tr>
  <tr>
    <td align="center" width="151" height="10">HP-UX</td>
    <td align="left" width="124">/opt/wbem/include</td>
    <td align="center" width="224" height="10"><br>
</td>
    <td align="center" width="166" height="10"><br>
</td>
  </tr>
  </tbody></table>
  
</ul>


<h4>2.1 Client Include Files</h4>


<p><b>Source Location:&nbsp;</b>$(PEGASUS_ROOT)/pegasus/src/Pegasus/Client</p>


<p><b>Staging Location:&nbsp;</b>$(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_INCLUDE_DIR)/Pegasus/Client</p>


<p><b>Target Location: </b>$(PEGASUS_INCLUDE_DIR)/Pegasus/Client</p>


<ul>

   CIMClientException.h<br>
   CIMClient.h<p>ClientOpPerformanceDataHandler.h<br>
   Linkage.h<br>
   </p>
</ul>

   
<h4>2.2 Common Include Files</h4>


<p><b>Source Location:&nbsp;</b>$(PEGASUS_ROOT)/pegasus/src/Pegasus/Common</p>


<p><b>Staging Location:&nbsp;</b>$(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_INCLUDE_DIR)/Pegasus/Common</p>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_INCLUDE_DIR)/Pegasus/Common</p>


<ul>

   &nbsp;<p>AcceptLanguagesList.h<br>
   Array.h<br>
   ArrayInter.h<br>
   CIMClass.h<br>
   CIMDateTime.h<br>
   CIMFlavor.h<br>
   CIMIndication.h<br>
   CIMInstance.h<br>
   CIMMethod.h<br>
   CIMName.h<br>
   CIMObject.h<br>
   CIMObjectPath.h<br>
   CIMOperationType.h<br>
   CIMParamValue.h<br>
   CIMParameter.h<br>
   CIMProperty.h<br>
   CIMPropertyList.h<br>
   CIMQualifier.h<br>
   CIMQualifierDecl.h<br>  
   CIMScope.h<br> 
   CIMStatusCode.h<br>
   CIMType.h<br>
   CIMValue.h<br>
   Char16.h<br>
   Config.h<br>
   ContentLanguagesList.h<br> 
   Exception.h<br>
   LanguageTag.h<br>
   Linkage.h<br>
   OperationContext.h<br>
   Platform_$(PEGASUS_PLATFORM).h<br>
   ResponseHandler.h<br>
   SSLContext.h<br>
   String.h<br>
   </p>
</ul>

   
<h4>2.3 Consumer Include Files</h4>


<p><b>Source Location:&nbsp;</b>$(PEGASUS_ROOT)/pegasus/src/Pegasus/Consumer</p>


<p><b>Staging Location:&nbsp;</b>$(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_INCLUDE_DIR)/Pegasus/Consumer</p>


<p><b>Target Location: </b>$(PEGASUS_INCLUDE_DIR)/Pegasus/Consumer</p>


<ul>

   CIMIndicationConsumer.h<br>
   Linkage.h<br>
</ul>

        
<h4>2.4 Provider Include Files</h4>


<h5>2.4.1 C++ Provider Include Files</h5>


<p>These include files are used to build OpenPegasus&nbsp; C++ Providers.</p>


<p><b>Source Location:&nbsp;</b>$(PEGASUS_ROOT)/pegasus/src/Pegasus/Provider</p>


<p><b>Staging Location:&nbsp;</b>$(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_INCLUDE_DIR)/Pegasus/Provider</p>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_INCLUDE_DIR)/Pegasus/Provider</p>

	
<ul>
	
   CIMAssociationProvider.h<br>
   CIMIndicationConsumerProvider.h<br>
   CIMIndicationProvider.h<br>
   CIMInstanceProvider.h<br>
   CIMMethodProvider.h<br>		
   CIMOMHandle.h<br>
   CIMProvider.h<br>
   Linkage.h<br>
   ProviderException.h<br>
</ul>


<h5>2.4.2 CMPI C Provider Include Files</h5>


<p>These include files are used to build OpenPegasus&nbsp; CMPI C Providers.</p>


<p><b>Source Location:&nbsp;</b>$(PEGASUS_ROOT)/pegasus/src/Pegasus/Provider/CMPI</p>


<p><b>Staging Location:&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b>$(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_INCLUDE_DIR)/Pegasus/Provider/CMPI</p>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_INCLUDE_DIR)/Pegasus/Provider/CMPI</p>

<ul>
	
   cmpidt.h<br>
   cmpift.h<br>
   cmpimacs.h<br>
   cmpios.h<br>
   cmpipl.h<br>
</ul>


    
<h3>3. Documentation Files</h3>


<p>This section documents the recommended set of documentation
files to be included in this release of the OpenPegasus SDK. </p>


<h4>3.1 DOC++ Generated Files</h4>


<p>The following files are used by DOC++ to generate documentation that describes the C++ Client, Common, 
Consumer and Provider Interfaces.&nbsp; The DOC++ files are rooted in a single 
directory.</p>


<p>&nbsp;</p>


<ul>


<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="606" height="146">
  <tbody><tr>
    <th rowspan="2" bgcolor="#cae6ca" width="151" height="10">Operating System</th>
    <th rowspan="2" bgcolor="#cae6ca" width="565" height="10">$(PEGASUS_HTML_DIR)</th>
    <th colspan="2" bgcolor="#cae6ca" width="352" height="16">Directory</th>
  </tr>
  <tr>
    <th bgcolor="#cae6ca" width="186" height="10">Owner<br>
    Group</th>
    <th bgcolor="#cae6ca" width="166" height="10">Permissions</th>
  </tr>
  <tr>
    <td align="center" width="151" height="5">Linux</td>
    <td align="left" width="124">/usr/share/Pegasus/html</td>
    <td align="center" width="224" height="5">root/pegasus</td>
    <td align="center" width="166" height="5">drwxr-xr-x </td>
  </tr>
  <tr>
    <td align="center" width="151" height="10">HP-UX</td>
    <td align="left" width="124">/opt/wbem/html</td>
    <td align="center" width="224" height="10"><br>
</td>
    <td align="center" width="166" height="10"><br>
</td>
  </tr>
  </tbody></table>
  
</ul>


<p>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.</p>


<p>The list of files required to build the API documentation include:</p>


<p><b>Source Location:&nbsp;</b>$(PEGASUS_ROOT)/pegasus/doc/SDK</p>


<p><b>Generated HTML Staging Location:&nbsp;<br>
&nbsp;&nbsp; </b>$(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_HTML_DIR)</p>


<p><b>Generated HTML Target Location:&nbsp;<br>
&nbsp;&nbsp; </b>$(PEGASUS_HTML_DIR)</p>

	
<blockquote>
<pre>Makefile<br>PageFooter.html<br>PageHeader.html<br>Doxyfile<br>index.html</pre>
</blockquote>



<h4>3.2 Developer Documentation</h4>


<p>Files in this section are expected to be rooted in a single directory $(PEGASUS_DOC_DIR).</p>


<ul>


<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="606" height="146">
  <tbody><tr>
    <th rowspan="2" bgcolor="#cae6ca" width="151" height="10">Operating System</th>
    <th rowspan="2" bgcolor="#cae6ca" width="565" height="10">$(PEGASUS_DOC_DIR)</th>
    <th colspan="2" bgcolor="#cae6ca" width="352" height="16">Directory</th>
  </tr>
  <tr>
    <th bgcolor="#cae6ca" width="186" height="10">Owner<br>
    Group</th>
    <th bgcolor="#cae6ca" width="166" height="10">Permissions</th>
  </tr>
  <tr>
    <td align="center" width="151" height="5">Linux</td>
    <td align="left" width="218" height="14">/usr/share/doc/tog-pegasus-2.11</td>
    <td align="center" width="64" height="14">root/pegasus</td>
    <td align="center" width="145" height="14">drwxr-xr-x</td>
  </tr>
  <tr>
    <td align="center" width="151" height="10">HP-UX</td>
    <td align="left" width="124">/opt/wbem/doc</td>
    <td align="center" width="224" height="10"><br>
</td>
    <td align="center" width="166" height="10"><br>
</td>
  </tr>
  </tbody></table>
  
</ul>


<p>The following documents are included as part of the SDK. </p>


<p><b>Staging Location:&nbsp;</b>$(PEGASUS_HOME)/$(PEGASUS_STAGING_DIR)/$(PEGASUS_DOC_DIR)</p>


<p><b>Target Location: </b>$(PEGASUS_DOC_DIR)</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="476">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="282">File Name</th>
    <th bgcolor="#cae6ca" width="181">Source Location</th>
  </tr> 
  <tr>
    <td width="282">SecurityGuidelinesForDevelopers.html </td>
    <td width="181">pegasus/doc</td>
  </tr>
  </tbody></table>
</ul>

  
<h3>4. Sample Program Files</h3>


<p>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).</p>


<ul>


<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="606" height="146">
  <tbody><tr>
    <th rowspan="2" bgcolor="#cae6ca" width="151" height="10">Operating System</th>
    <th rowspan="2" bgcolor="#cae6ca" width="565" height="10">$(PEGASUS_SAMPLES_DIR)</th>
    <th colspan="2" bgcolor="#cae6ca" width="352" height="16">Directory</th>
  </tr>
  <tr>
    <th bgcolor="#cae6ca" width="186" height="10">Owner<br>
    Group</th>
    <th bgcolor="#cae6ca" width="166" height="10">Permissions</th>
  </tr>
  <tr>
    <td align="center" width="151" height="5">Linux</td>
    <td align="left" width="218" height="14">/usr/share/Pegasus/samples</td>
    <td align="center" width="64" height="14">root/pegasus</td>
    <td align="center" width="145" height="14">drwxr-xr-x</td>
  </tr>
  <tr>
    <td align="center" width="151" height="10">HP-UX</td>
    <td align="left" width="124">/opt/wbem/samples</td>
    <td align="center" width="224" height="10"><br>
</td>
    <td align="center" width="166" height="10"><br>
</td>
  </tr>
  </tbody></table>
  
</ul>


<p>The following table describes the permissions that should be assigned to the 
files in the $(PEGASUS_SAMPLES_DIR) directory and subdirectories</p>


<ul>


<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="438">
  <tbody><tr>
    <th rowspan="2" bgcolor="#cae6ca" width="203">Operating System</th>
    <th colspan="2" bgcolor="#cae6ca" width="393">File</th>
  </tr>
  <tr>
    <th bgcolor="#cae6ca" width="194">Owner/Group</th>
    <th bgcolor="#cae6ca" width="199">Permissions</th>
  </tr>
  <tr align="center">
    <td width="203">Linux</td>
    <td width="194">root/pegasus</td>
    <td width="199">-rw-r--r--</td>
  </tr>
  <tr align="center">
    <td width="203">HP-UX</td>
    <td width="194">bin/bin</td>
    <td width="199">&nbsp;</td>
  </tr>
  <tr align="center">
    <td width="203">OpenVMS</td>
    <td width="194">system</td>
    <td width="199">&nbsp;</td>
  </tr>
  </tbody></table>
  
</ul>


<p>The following table describes the permissions that should be assigned to  the $(PEGASUS_SAMPLES_DIR) 
subdirectories.</p>


<ul>


<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="438">
  <tbody><tr>
    <th rowspan="2" bgcolor="#cae6ca" width="203">Operating System</th>
    <th colspan="2" bgcolor="#cae6ca" width="393">File</th>
  </tr>
  <tr>
    <th bgcolor="#cae6ca" width="194">Owner/Group</th>
    <th bgcolor="#cae6ca" width="199">Permissions</th>
  </tr>
  <tr align="center">
    <td width="203">Linux</td>
    <td width="194">root/pegasus</td>
    <td width="199">drwxr-xr-x </td>
  </tr>
  <tr align="center">
    <td width="203">HP-UX</td>
    <td width="194">bin/bin</td>
    <td width="199">&nbsp;</td>
  </tr>
  <tr align="center">
    <td width="203">OpenVMS</td>
    <td width="194">system</td>
    <td width="199">&nbsp;</td>
  </tr>
  </tbody></table>
  
</ul>


<p> The OpenPegasus SDK includes both Client and Provider sample programs.</p>
 

<p>The $(PEGASUS_SAMPLES_DIR) directory contains
the master makefile and configuration file for 
building and testing the sample Clients and Providers.</p>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="302">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="82">File Name</th>
    <th bgcolor="#cae6ca" width="207">Source Location</th>
  </tr> 
  <tr>
    <td width="82">Makefile</td>
    <td width="207">pegasus/src/SDK/samples</td>
  </tr>
</tbody></table>
</ul>


<h4>4.1 mak Directory</h4>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/mak</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="556">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="208">File Name</th>
    <th bgcolor="#cae6ca" width="335">Source Location</th>
  </tr> 
  <tr>
    <td width="208">SDKEnvVar.mak</td>
    <td width="335"><i>This file is generated.</i></td>
  </tr>
  <tr>
    <td width="208">build.mak</td>
    <td width="335">pegasus/src/SDK/samples/mak</td>
  </tr>
  <tr>
    <td width="208">common.mak</td>
    <td width="335">pegasus/src/SDK/samples/mak</td>
  </tr>
  <tr>
    <td width="208">config.mak</td>
    <td width="335">pegasus/src/SDK/samples/mak</td>
  </tr>
  <tr>
    <td width="208">library.mak</td>
    <td width="335">pegasus/src/SDK/samples/mak</td>
  </tr>
  <tr>
    <td width="208">program.mak</td>
    <td width="335">pegasus/src/SDK/samples/mak</td>
  </tr>
  <tr>
    <td width="208">recurse.mak</td>
    <td width="335">pegasus/src/SDK/samples/mak</td>
  </tr>
  <tr>
    <td width="208">$(PEGASUS_PLATFORM).mak</td>
    <td width="335">pegasus/src/SDK/samples/mak</td>
  </tr>
  </tbody></table>
</ul>


<h4>4.2 Client Sample Programs</h4>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Clients</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="338">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="70">File Name</th>
    <th bgcolor="#cae6ca" width="255">Source Location</th>
  </tr> 
  <tr>
    <td width="70">Makefile</td>
    <td width="255">pegasus/src/SDK/samples/Clients</td>
  </tr>
</tbody></table>
</ul>


<h5>4.2.1 C++ Client Sample Programs</h5>


<p>There are four C++ CIM Client examples are package with the OpenPegasus SDK.</p>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Clients/DefaultC++</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="395">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="93">File Name</th>
    <th bgcolor="#cae6ca" width="290">Source Location</th>
  </tr> 
  <tr>
    <td width="93">Makefile</td>
    <td width="290">pegasus/src/SDK/samples/Clients/DefaultC++</td>
  </tr>
</tbody></table>
</ul>


<h6>4.2.1.1 EnumInstances Example</h6>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Clients/DefaultC++/EnumInstances</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="20%">
  <tbody><tr>
    <th bgcolor="#cae6ca">File Name</th>
    <th bgcolor="#cae6ca">Source Location</th>
  </tr> 
  <tr>
    <td>EnumInstances.cpp</td>
    <td>pegasus/src/SDK/samples/Clients/DefaultC++/EnumInstances</td>
  </tr>
  <tr>
    <td>Makefile</td>
    <td>pegasus/src/SDK/samples/Clients/DefaultC++/EnumInstances</td>
  </tr>
</tbody></table>
</ul>


<h6>4.2.1.2 InvokeMethod Example</h6>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Clients/DefaultC++/InvokeMethod</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="20%">
  <tbody><tr>
    <th bgcolor="#cae6ca">File Name</th>
    <th bgcolor="#cae6ca">Source Location</th>
  </tr> 
  <tr>
    <td>InvokeMethod.cpp</td>
    <td>pegasus/src/SDK/samples/Clients/DefaultC++/InvokeMethod</td>
  </tr>
  <tr>
    <td>Makefile</td>
    <td>pegasus/src/SDK/samples/Clients/DefaultC++/InvokeMethod</td>
  </tr>
</tbody></table>
</ul>



<h6>4.2.1.3 SendTestIndications Example</h6>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Clients/DefaultC++/SendTestIndications</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="20%">
  <tbody><tr>
    <th bgcolor="#cae6ca">File Name</th>
    <th bgcolor="#cae6ca">Source Location</th>
  </tr> 
  <tr>
    <td>SendTestIndications.cpp</td>
    <td>pegasus/src/SDK/samples/Clients/DefaultC++/SendTestIndications</td>
  </tr>
  <tr>
    <td>Makefile</td>
    <td>pegasus/src/SDK/samples/Clients/DefaultC++/SendTestIndications</td>
  </tr>
</tbody></table>
</ul>


<h6>4.2.1.4 Associations Example</h6>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Clients/DefaultC++/Associations</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="623">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="160">File Name</th>
    <th bgcolor="#cae6ca" width="450">Source Location</th>
  </tr> 
  <tr>
    <td width="160">AssociationTestClient.cpp</td>
    <td width="450">pegasus/src/SDK/samples/Clients/DefaultC++/Associations</td>
  </tr>
  <tr>
    <td width="160">Makefile</td>
    <td width="450">pegasus/src/SDK/samples/Clients/DefaultC++/Associations</td>
  </tr>
</tbody></table>
</ul>



<h4>4.3 Provider Sample Programs</h4>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="20%">
  <tbody><tr>
    <th bgcolor="#cae6ca">File Name</th>
    <th bgcolor="#cae6ca">Source Location</th>
  </tr> 
  <tr>
    <td>Makefile</td>
    <td>pegasus/src/SDK/samples/Providers</td>
  </tr>
</tbody></table>
</ul>


<h5>4.3.1 Provider MOF Files (Class Definitions and Registration Instances)</h5>

<p>This release of the OpenPegasus SDK includes MOF files from version 2.41 of the&nbsp; 
DMTF CIM Schema.</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" id="table5" border="1" cellspacing="1" width="24%">
  <tbody><tr>
    <th bgcolor="#cae6ca">Variable</th>
    <th bgcolor="#cae6ca">Value</th>
  </tr> 
  <tr>
    <td>PEGASUS_CIM_SCHEMA</td>
    <td>228</td>
  </tr>
</tbody></table>
</ul>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers/Load</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="566">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="242">File Name</th>
    <th bgcolor="#cae6ca" width="311">Source Location</th>
  </tr> 
  <tr>
    <td width="242">Makefile</td>
    <td width="311">pegasus/src/SDK/samples/Providers/Load</td>
  </tr>
  <tr>
    <td width="242">IndicationProviderR.mof</td>
    <td width="311">pegasus/src/SDK/samples/Providers/Load</td>
  </tr>
  <tr>
    <td width="242">InstanceProviderR.mof</td>
    <td width="311">pegasus/src/SDK/samples/Providers/Load</td>
  </tr>
  <tr>
    <td width="242">MethodProviderR.mof</td>
    <td width="311">pegasus/src/SDK/samples/Providers/Load</td>
  </tr>
  <tr>
    <td width="242">SimpleDisplayConsumerR.mof</td>
    <td width="311">pegasus/src/SDK/samples/Providers/Load</td>
  </tr>
  <tr>
    <td width="242">SampleProviderSchema.mof</td>
    <td width="311">pegasus/src/SDK/samples/Providers/Load</td>
  </tr>
  <tr>
    <td width="242">AssociationProvider.mof</td>
    <td width="311">pegasus/src/SDK/samples/Providers/Load</td>
  </tr>
  <tr>
    <td width="242">AssociationProviderR.mof</td>
    <td width="311">pegasus/src/SDK/samples/Providers/Load</td>
  </tr>
  <tr>
    <td width="242">CWS_FilesAndDir.mof</td>
    <td width="311">pegasus/src/SDK/samples/Providers/Load</td>
  </tr>
  <tr>
    <td width="242">CWS_FilesAndDirR.mof</td>
    <td width="311">pegasus/src/SDK/samples/Providers/Load</td>
  </tr>
  <tr>
    <td width="242">SDK_CIM_Schema.mof</td>
    <td width="311">pegasus/src/SDK/samples/Providers/Load</td>
  </tr>
</tbody></table>
</ul>


 
<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers/Load/$(PEGASUS_CIM_SCHEMA)/DMTF</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" id="table1" border="1" cellspacing="1" width="591">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="242">File Name</th>
    <th bgcolor="#cae6ca" width="336">Source Location</th>
  </tr> 
  <tr>
    <td width="242">qualifiers.mof</td>
    <td width="336">pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF</td>
  </tr>
  <tr>
    <td width="242">qualifiers_optional.mof</td>
    <td width="336">pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF</td>
  </tr>
  </tbody></table>
</ul>


 
<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers/Load/$(PEGASUS_CIM_SCHEMA)/DMTF/Core</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" id="table2" border="1" cellspacing="1" width="623">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="242">File Name</th>
    <th bgcolor="#cae6ca" width="368">Source Location</th>
  </tr> 
  <tr>
    <td width="242">CIM_Component.mof</td>
    <td width="368">pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/Core</td>
  </tr>
  <tr>
    <td width="242">CIM_LogicalElement.mof</td>
    <td width="368">pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/Core</td>
  </tr>
  <tr>
    <td width="242">CIM_ManagedElement.mof</td>
    <td width="368">pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/Core</td>
  </tr>
  <tr>
    <td width="242">&nbsp;CIM_ManagedSystemElement.mof</td>
    <td width="368">pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/Core</td>
  </tr>
  </tbody></table>
</ul>


 
<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers/Load/$(PEGASUS_CIM_SCHEMA)/DMTF/Event</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" id="table3" border="1" cellspacing="1" width="624">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="242">File Name</th>
    <th bgcolor="#cae6ca" width="369">Source Location</th>
  </tr> 
  <tr>
    <td width="242">CIM_Indication.mof</td>
    <td width="369">pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/Event</td>
  </tr>
  </tbody></table>
</ul>


 
<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers/Load/$(PEGASUS_CIM_SCHEMA)/DMTF/System</p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" id="table4" border="1" cellspacing="1" width="635">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="242">File Name</th>
    <th bgcolor="#cae6ca" width="380">Source Location</th>
  </tr> 
  <tr>
    <td width="242">CIM_DataFile.mof</td>
    <td width="380">pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/System</td>
  </tr>
  <tr>
    <td width="242">CIM_DirectoryContainsFile.mof</td>
    <td width="380">pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/System</td>
  </tr>
  <tr>
    <td width="242">CIM_Directory.mof</td>
    <td width="380">pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/System</td>
  </tr>
  <tr>
    <td width="242">CIM_LogicalFile.mof</td>
    <td width="380">pegasus/Schemas/$(PEGASUS_CIM_SCHEMA)/DMTF/System</td>
  </tr>
  </tbody></table>
</ul>


 
<h5>4.3.2 C++ Provider Examples</h5>


<p>The target destination directory for the C++ Provider sample programs is $(SAMPLE_DESTPATH)/Providers/DefaultC++.</p>

   
<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="20%">
  <tbody><tr>
    <th bgcolor="#cae6ca">File Name</th>
    <th bgcolor="#cae6ca">Source Location</th>
  </tr> 
  <tr>
    <td>Makefile</td>
    <td>pegasus/src/SDK/samples/Providers/DefaultC++</td>
  </tr>
</tbody></table>
</ul>


<h6>4.3.2.1 Sample Instance Provider</h6>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers/DefaultC++/InstanceProvider<br>
   </p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="693">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="229">File Name</th>
    <th bgcolor="#cae6ca" width="509">Source Location</th>
  </tr> 
  <tr>
    <td width="229">EnumerateInstancesrspgood.xml</td>
    <td width="509">pegasus/src/SDK/samples/Providers/DefaultC++/InstanceProvider</td>
  </tr>
  <tr>
    <td width="229">EnumerateInstances.xml</td>
    <td width="509">pegasus/src/SDK/samples/Providers/DefaultC++/InstanceProvider</td>
  </tr>
  <tr>
    <td width="229">InstanceProvider.cpp</td>
    <td width="509">pegasus/src/SDK/samples/Providers/DefaultC++/InstanceProvider</td>
  </tr>
  <tr>
    <td width="229">InstanceProvider.h</td>
    <td width="509">pegasus/src/SDK/samples/Providers/DefaultC++/InstanceProvider</td>
  </tr>
  <tr>
    <td width="229">InstanceProviderMain.cpp</td>
    <td width="509">pegasus/src/SDK/samples/Providers/DefaultC++/InstanceProvider</td>
  </tr>
  <tr>
    <td width="229">Makefile</td>
    <td width="509">pegasus/src/SDK/samples/Providers/DefaultC++/InstanceProvider</td>
  </tr>
</tbody></table>
</ul>




 
<h6>4.3.2.2 Sample Method Provider</h6>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers/DefaultC++/MethodProvider<br>
   </p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="693">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="229">File Name</th>
    <th bgcolor="#cae6ca" width="509">Source Location</th>
  </tr> 
  <tr>
    <td width="229">InvokeMethodrspgood.xml</td>
    <td width="509">pegasus/src/SDK/samples/Providers/DefaultC++/MethodProvider</td>
  </tr>
  <tr>
    <td width="229">InvokeMethod.xml</td>
    <td width="509">pegasus/src/SDK/samples/Providers/DefaultC++/MethodProvider</td>
  </tr>
  <tr>
    <td width="229">MethodProviderMain.cpp</td>
    <td width="509">pegasus/src/SDK/samples/Providers/DefaultC++/MethodProvider</td>
  </tr>
  <tr>
    <td width="229">MethodProvider.cpp</td>
    <td width="509">pegasus/src/SDK/samples/Providers/DefaultC++/MethodProvider</td>
  </tr>
  <tr>
    <td width="229">MethodProvider.h</td>
    <td width="509">pegasus/src/SDK/samples/Providers/DefaultC++/MethodProvider</td>
  </tr>
  <tr>
    <td width="229">Makefile</td>
    <td width="509">pegasus/src/SDK/samples/Providers/DefaultC++/MethodProvider</td>
  </tr>
</tbody></table>
</ul>


<h6>4.3.2.3 Sample Indication Provider </h6>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers/DefaultC++/IndicationProvider<br>
   </p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="682">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="214">File Name</th>
    <th bgcolor="#cae6ca" width="455">Source Location</th>
  </tr> 
  <tr>
    <td width="214">IndicationProvider.cpp</td>
    <td width="455">pegasus/src/SDK/samples/Providers/DefaultC++/IndicationProvider</td>
  </tr>
  <tr>
    <td width="214">IndicationProvider.h</td>
    <td width="455">pegasus/src/SDK/samples/Providers/DefaultC++/IndicationProvider</td>
  </tr>
  <tr>
    <td width="214">IndicationProviderMain.cpp</td>
    <td width="455">pegasus/src/SDK/samples/Providers/DefaultC++/IndicationProvider</td>
  </tr>
  <tr>
    <td width="214">Makefile</td>
    <td width="455">pegasus/src/SDK/samples/Providers/DefaultC++/IndicationProvider</td>
  </tr>
  </tbody></table>
</ul>


<h6>4.3.2.4 Sample Association Provider</h6>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers/DefaultC++/AssociationProvider<br>
   </p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="682">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="214">File Name</th>
    <th bgcolor="#cae6ca" width="455">Source Location</th>
  </tr> 
  <tr>
    <td width="214">Makefile</td>
    <td width="455">pegasus/src/SDK/samples/Providers/DefaultC++/AssociationProvider</td>
  </tr>
  <tr>
    <td width="214">AssociationProvider.cpp</td>
    <td width="455">pegasus/src/SDK/samples/Providers/DefaultC++/AssociationProvider</td>
  </tr>
  <tr>
    <td width="214">AssociationProvider.h</td>
    <td width="455">pegasus/src/SDK/samples/Providers/DefaultC++/AssociationProvider</td>
  </tr>
  <tr>
    <td width="214">AssociationProviderMain.cpp</td>
    <td width="455">pegasus/src/SDK/samples/Providers/DefaultC++/AssociationProvider</td>
  </tr>
  </tbody></table>
</ul>



<h5>4.3.3 C++ Consumer Examples</h5>


<h6>4.3.3.1 Simple Display Consumer</h6>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers/DefaultC++/SimpleDisplayConsumer<br>
   </p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="682">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="214">File Name</th>
    <th bgcolor="#cae6ca" width="455">Source Location</th>
  </tr> 
  <tr>
    <td width="214">Makefile</td>
    <td width="455">pegasus/src/SDK/samples/Providers/DefaultC++/SimpleDisplayConsumer</td>
  </tr>
  <tr>
    <td width="214">SimpleDisplayConsumer.cpp</td>
    <td width="455">pegasus/src/SDK/samples/Providers/DefaultC++/SimpleDisplayConsumer</td>
  </tr>
  <tr>
    <td width="214">SimpleDisplayConsumer.h</td>
    <td width="455">pegasus/src/SDK/samples/Providers/DefaultC++/SimpleDisplayConsumer</td>
  </tr>
  <tr>
    <td width="214">SimpleDisplayConsumerMain.cpp</td>
    <td width="455">pegasus/src/SDK/samples/Providers/DefaultC++/SimpleDisplayConsumer</td>
  </tr>
  </tbody></table>
</ul>


 
<h5>4.3.4 CMPI C Provider Examples</h5>


<p>The target destination directory for the CMPI C Provider sample 
programs is $(SAMPLE_DESTPATH)/Providers/CMPI.</p>

   
<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="20%">
  <tbody><tr>
    <th bgcolor="#cae6ca">File Name</th>
    <th bgcolor="#cae6ca">Source Location</th>
  </tr> 
  <tr>
    <td>Makefile</td>
    <td>pegasus/src/SDK/samples/Providers/CMPI</td>
  </tr>
</tbody></table>
</ul>


<h6>4.3.4.1 Files and Directories Provider</h6>


<p><b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers/CMPI/FilesAndDirectories<br>
   </p>


<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="694" height="146">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="230" height="16">File Name</th>
    <th bgcolor="#cae6ca" width="510" height="16">Source Location</th>
  </tr> 
  <tr>
    <td width="230" height="1">CWS_Directory.c</td>
    <td width="510" height="1">pegasus/src/SDK/samples/Providers/CMPI/FilesAndDirectories</td>
  </tr>
  <tr>
    <td width="230" height="1">CWS_DirectoryContainsFile.c</td>
    <td width="510" height="1">pegasus/src/SDK/samples/Providers/CMPI/FilesAndDirectories</td>
  </tr>
  <tr>
    <td width="230" height="1">CWS_FileUtils.c</td>
    <td width="510" height="1">pegasus/src/SDK/samples/Providers/CMPI/FilesAndDirectories</td>
  </tr>
  <tr>
    <td width="230" height="1">CWS_FileUtils.h</td>
    <td width="510" height="1">pegasus/src/SDK/samples/Providers/CMPI/FilesAndDirectories</td>
  </tr>
  <tr>
    <td width="230" height="1">CWS_PlainFile.c</td>
    <td width="510" height="1">pegasus/src/SDK/samples/Providers/CMPI/FilesAndDirectories</td>
  </tr>
  <tr>
    <td width="230" height="1">Makefile </td>
    <td width="510" height="1">pegasus/src/SDK/samples/Providers/CMPI/FilesAndDirectories</td>
  </tr>
  </tbody></table>
</ul>


<b>Target Location:&nbsp;</b>$(PEGASUS_SAMPLES_DIR)/Providers/CMPI/CWS_Util
<ul>

<table bordercolordark="#666666" bordercolorlight="#CCCCCC" style="font-family: Arial;" border="1" cellspacing="1" width="694" height="97">
  <tbody><tr>
    <th bgcolor="#cae6ca" width="230" height="16">File Name</th>
    <th bgcolor="#cae6ca" width="510" height="16">Source Location</th>
  </tr> 
  <tr>
    <td width="230" height="1">cwssimdata.c</td>
    <td width="510" height="1">pegasus/src/SDK/samples/Providers/CMPI/CWS_Util</td>
  </tr>
  <tr>
    <td width="230" height="1"><font face="Helvetica,Arial" size="-1">cwsutil.c</font></td>
    <td width="510" height="1">pegasus/src/SDK/samples/Providers/CMPI/CWS_Util</td>
  </tr>
  <tr>
    <td width="230" height="8"><font face="Helvetica,Arial" size="-1">cwsutil.h</font></td>
    <td width="510" height="8">pegasus/src/SDK/samples/Providers/CMPI/CWS_Util</td>
  </tr>
  <tr>
    <td width="230" height="4"><font face="Helvetica,Arial" size="-1">Makefile</font></td>
    <td width="510" height="4">pegasus/src/SDK/samples/Providers/CMPI/CWS_Util</td>
  </tr>
  </tbody></table>
 
</ul>

 
<h2>5. SDK Staging Process</h2>


<p>The makefile pegasus/mak/SDKMakefile can be used to stage the OpenPegasus 
SDK.</p>


<ul>

$(MAKE) -f pegasus/mak/SDKMakefile stageSDK
</ul>


<p>
This command will create three master SDK directories.<br>
</p>
<ul>

$(PEGASUS_HOME)/stageSDK/include<br>
$(PEGASUS_HOME)/stageSDK/samples<br>
$(PEGASUS_HOME)/stageSDK/html
</ul>



<h2>6. References</h2>

<ol>

  <li>
  <a href="http://www.openpegasus.org/pp/uploads/40/6125/PEP189_ExternalInterface2.4.htm">
       PEP#189 - OpenPegasus 2.4 External Interface Definition</a>.</li>
  <li>
  <a href="http://www.openpegasus.org/pp/uploads/40/8568/PEP209_ExternalInterface2.5.htm">
       PEP#209 - OpenPegasus 2.5 External Interface Definition</a>.</li>
  <li>
  <a href="http://www.openpegasus.org/pp/uploads/40/12270/PEP278_ExternalInterface2.6.htm">
  PEP#278 - OpenPegasus 2.6 External Interface Definition</a>.</li>
  <li>
  <a href="http://www.openpegasus.org/pp/uploads/40/14874/PEP293_ExternalInterface2.7.htm">
  PEP#293 - OpenPegasus 2.7 External Interface Definition</a>.</li>
  <li>
  <a href="http://www.openpegasus.org/pp/uploads/40/16780/PEP329_ExternalInterface2.8.htm">
  PEP#329 - OpenPegasus 2.8 External Interface Definition</a>.</li>
  <li>
  <a href="http://www.openpegasus.org/pp/uploads/40/18244/PEP344_ExternalInterface2.9.htm">
  PEP#344 - OpenPegasus 2.9 External Interface Definition</a>.</li>


</ol>



<hr>
<p>Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;<br>
EMC Corporation; Symantec Corporation; The Open Group.<br>
<br>
Permission is hereby granted, free of charge, to any person obtaining a copy<br>
of this software and associated documentation files (the "Software"), to<br>
deal in the Software without restriction, including without limitation the<br>
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or<br>
sell copies of the Software, and to permit persons to whom the Software is<br>
furnished to do so, subject to the following conditions:<br>
<br>
THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN<br>
ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED<br>
"AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT<br>
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR<br>
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT<br>
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN<br>
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION<br>
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>

<hr>
<p>Template last modified: <b>March 26th 2006</b> by <b>Martin Kirk<br>
</b>Template version: <b>1.11</b></p>


</body></html>

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2