// ===================================================================
// Title:       System Help 2.8
// Filename:    System28_Help.mof
// Version:     2.8
// Release:     Preliminary
// Date:        08/18/2003
// ===================================================================
// Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF).
// All rights reserved.
// DMTF is a not-for-profit association of industry members dedicated
// to promoting enterprise and systems management and interoperability.
// DMTF specifications and documents may be reproduced for uses
// consistent with this purpose by members and non-members,
// provided that correct attribution is given. 225
// As DMTF specifications may be revised from time to time,
// the particular version and release date should always be noted.
// 
// Implementation of certain elements of this standard or proposed
// standard may be subject to third party patent rights, including
// provisional patent rights (herein "patent rights"). DMTF makes
// no representations to users of the standard as to the existence
// of such rights, and is not responsible to recognize, disclose, or
// identify any or all such third party patent right, owners or
// claimants, nor for any incomplete or inaccurate identification or
// disclosure of such rights, owners or claimants. DMTF shall have no
// liability to any party, in any manner or circumstance, under any
// legal theory whatsoever, for failure to recognize, disclose, or
// identify any such third party patent rights, or for such party's
// reliance on the standard or incorporation thereof in its product,
// protocols or testing procedures. DMTF shall have no liability to
// any party implementing such standard, whether such implementation
// is foreseeable or not, nor to any patent owner or claimant, and shall
// have no liability or responsibility for costs or losses incurred if
// a standard is withdrawn or modified after publication, and shall be
// indemnified and held harmless by any party implementing the
// standard from any and all claims of infringement by a patent owner
// for such implementations.
// 
// For information about patents held by third-parties which have
// notified the DMTF that, in their opinion, such patent may relate to
// or impact implementations of DMTF standards, visit
// http://www.dmtf.org/about/policies/disclosures.php.
// ===================================================================
// Description: The Core Model defines basic management concepts.
//              This file defines the concepts for a Help Service
// 
//              The object classes below are listed in an order that
//              avoids forward references. Required objects, defined
//              by other working groups, are omitted.
// ==================================================================
// Change Log for v2.8 Preliminary
// CR1092  - Move HelpService to new Core28_Help from
//           System28_Diagnostics
// ==================================================================

#pragma locale ("en_US")
// ==================================================================
//    HelpService
// ==================================================================
   [Experimental, Version ( "2.7.1000" ), Description (
       "HelpService provides the ability for a managed element to "
       "describe and provide access to its Help information. Support "
       "for various delivery mechanisms and data formats can be "
       "specified so that the most suitable data representation can be "
       "chosen. In adddition, a request can be made to launch a "
       "\"Help\" program, if available.")]
class CIM_HelpService : CIM_Service {

      [Description (
          "Defines the delivery methods supported by this help "
          "service./n \"File Contents\" indicates that the contents of "
          "the Help file is returned by the GetHelp method. \n"
          "\"File Pointer\" indicates that a fully specified path to "
          "the Help file is returned by the GetHelp method. \n"
          "\"Associated File\" indicates that associations to "
          "CIM_LogicalFile instance(s) is available. \n"
          "\"URL\" indicates that a URL to a website is returned by "
          "the GetHelp method. \n"
          "\"Program\" indicates that a Help program is launched (on "
          "the local system) by the GetHelp method."), 
       ValueMap { "1", "2", "3", "4", "5", "6" }, 
       Values { "Other", "File Contents", "File Pointer",
          "Associated File", "URL", "Program" }, 
       ModelCorrespondence { 
          "CIM_HelpService.OtherDeliveryOptionDescription",
          "CIM_HelpServiceAvailableToFile" }]
   uint16 DeliveryOptions[];

      [Description (
          "Describes the nature of the delivery method when "
          "DeliveryOptions = \"Other\" is specified."), 
       ModelCorrespondence { "CIM_HelpService.DeliveryOptions" }]
   string OtherDeliveryOptionDescription;

      [Description (
          "List of all of the document names/ids that are available "
          "via this help service and NOT exposed by the "
          "HelpServiceAvailableToFile association."), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { "CIM_HelpService.DocumentDescriptions",
          "CIM_HelpService.DocumentFormats" }]
   string DocumentsAvailable[];

      [Description (
          "List of descriptions for the corresponding documents."), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { "CIM_HelpService.DocumentsAvailable",
          "CIM_HelpService.DocumentFormats" }]
   string DocumentDescriptions[];

      [Description (
          "List of document formats for the corresponding documents."), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
       Values { "Unknown", "Other", "XML", "HTML", "Binary",
          "Executable", ".hlp" }, ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_HelpService.OtherDocumentFormatDescription",
          "CIM_HelpService.DocumentDescriptions",
          "CIM_HelpService.DocumentsAvailable" }]
   uint16 DocumentFormat[];

      [Description (
          "Describes the format of the document when DocumentFormat= "
          "\"Other\" is specified."), 
       ModelCorrespondence { "CIM_HelpService.DocumentFormat" }]
   string OtherDocumentFormatDescription;

      [Description (
          "The GetHelp method produces, as an OUT parameter, a string "
          "containing document information as specified by the input "
          "parameters. The input parameters are expected to be valid "
          "sets of values from the corresponding indexed properties of "
          "this class."), 
       ValueMap { "0", "1", "2", "3", "4", "5", "..", "0x1000",
          "0x1001", "0x1002..0x7FFF", "0x8000..0xFFFF" }, 
       Values { "Document returned with no error", "Not Supported",
          "Unspecified Error", "Timeout", "Failed",
          "Invalid Parameter", "DMTF Reserved", "Busy",
          "Requested Document not found", "Method Reserved",
          "Vendor Reserved" }]
   uint32 GetHelp(
      
         [IN, Description (
             "The name/id of the requested document or the reference "
             "to the associated document."), 
          ModelCorrespondence { "CIM_HelpService.DocumentsAvailable",
             "CIM_HelpServiceAvailableToFile.UserOfService" }]
      string RequestedDocument,
      
         [IN, OUT, Description (
             "The requested document format is passed in. The actual "
             "document format is returned."), 
          ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
          Values { "Don't Care", "Other", "XML", "HTML", "Binary",
             "Executable", ".hlp" }, 
          ModelCorrespondence { "CIM_HelpService.DocumentFormat" }]
      uint16 Format,
      
         [IN, Description (
             "The requested delivery mechanism."), 
          ValueMap { "1", "2", "3", "5", "6" }, 
          Values { "Other", "File Contents", "File Pointer", "URL",
             "Program" }, 
          ModelCorrespondence { "CIM_HelpService.DeliveryOptions" }]
      uint16 RequestedDelivery,
      
         [IN ( false ), OUT, Description (
             "If RequestedDelivery = \n"
             "File Contents, then the string contains the contents. \n"
             "File Pointer, then the string contains a pointer to the "
             "file. \n"
             "File Reference, then the string contains a REF to a "
             "CIM_LogicalFile instance. \n"
             "URL, then then the string contains a URL to the help "
             "site. \n"
             "Program, then the string is empty; the program was "
             "launched.")]
      string DocumentInfo ); 
};


// ==================================================================
// HelpServiceAvailableToFile
// ==================================================================
   [Association, Experimental, Version ( "2.7.1000" ), Description (
       "CIM_HelpServiceAvailableToFile indicates that the service is "
       "available for accessing the help file.")]
class CIM_HelpServiceAvailableToFile : CIM_ServiceAvailableToElement {

      [Override ( "ServiceProvided" ), Description (
          "The Service that is available.")]
   CIM_HelpService REF ServiceProvided;

      [Override ( "UserOfService" ), Description (
          "The file that make use of this Service.")]
   CIM_LogicalFile REF UserOfService;

      [Description (
          "Document format for the associated file."), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
       Values { "Unknown", "Other", "XML", "HTML", "Binary",
          "Executable", ".hlp" }, 
       ModelCorrespondence { 
          "CIM_HelpServiceAvailableToFile.OtherDocumentFormatDescription" 
          }]
   uint16 DocumentFormat;

      [Description (
          "Describes the format of the file when DocumentFormat= "
          "\"Other\" is specified."), 
       ModelCorrespondence { 
          "CIM_HelpServiceAvailableToFile.DocumentFormat" }]
   string OtherDocumentFormatDescription;
};


// ===================================================================
// end of file
// ===================================================================
