(file) Return to CIM_Support25.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIM25

   1 karl  1.1 // ==================================================================
   2           // Title:       Exchange Standards 1.2 MOF Specification
   3           // Filename:    CIM_Support25.MOF
   4           // Version:     2.5
   5           // Release:     0
   6 mike  1.2 // Status:      Final
   7           // Date:        06/12/2001
   8           // ===================================================================
   9           // Copyright "2001" Distributed Management Task Force, Inc. (DMTF).
  10           // All rights reserved.  
  11           // DMTF is a not-for-profit association of industry members dedicated 
  12           // to promoting enterprise and systems management and interoperability. 
  13           // DMTF specifications and documents may be reproduced for uses
  14           // consistent with this purpose by members and non-members, 
  15           // provided that correct attribution is given. 
  16           // As DMTF specifications may be revised from time to time, 
  17           // the particular version and release cited should always be noted.
  18           // Description: These object classes define the user and security 
  19           //              model for CIM and includes classes needed to represent
  20           //              users, groups and organizational entities as well as 
  21           //              security services and authentication and authorization 
  22           //              information.
  23           //              The object classes below are listed in an order that
  24           //              avoids forward references. Required objects, defined 
  25           //		    by other working groups, are omitted. 
  26           // ===================================================================
  27 karl  1.1 // Description: The Solution Exchange Standard (SES) defines an object model 
  28           //              for the exchange of knowledge.  The Service Incident Exchange
  29           //              Standard (SIS) adds a transaction model to SES.
  30           // ===================================================================
  31           // Author:      DMTF Support Working Group
  32           // Editor:      John Chmaj, Microsoft Corp. - jchmaj@microsoft.com
  33           // Editor:      Dave Lawrence, Smart Technology Enablers - dlawrence@enablers.com
  34           // 11/17/2000   Version 1.2j  
  35           //              CR562: Changed property names using reserved words
  36           //                PRS_Resource.Type to ResourceType
  37           //                PRS_Attachment.Reference to AttachmentReference
  38           //                PRS_Attachment.Size to AttachmentSize
  39           //                PRS_Attachment.Object to AttachmentObject
  40           //                PRS_Statement.Role to StatementRole
  41           //                PRS_Statement.Operator to StatementOperator
  42           //                PRS_Revision.Date to RevisionDate
  43           //                PRS_Activity.New to NewKeys
  44           //                PRS_Transaction.State to TransactionState
  45           //              CR563: Added deprecated qualifier to deprecated properties
  46           //                PRS_Transaction.TransactionName
  47           //                PRS_Activity.ParameterList
  48 karl  1.1 //              Removed Description from PRS_Feature and PRS_Resource (already
  49           //                inherited from PRS_ExchangeElement)
  50           //              Added MinValue and MaxValue to the following:
  51           //                PRS_Problem.Likelihood
  52           //                PRS_Problem.Impact
  53           //                PRS_Resolution.Confidence
  54           //                PRS_Statement.Relevance 
  55           //              Broke long lines over two lines
  56           // 08/08/2000   Version 1.2i  CR525
  57           //              Added missing Association qualifier to both PRS_ContactOrganization and
  58           //              PRS_ContactPerson.
  59           // 05/02/2000   Version 1.2h
  60           //              Converted all CIM_Dependency children to use original property names:
  61           //                  Antecedent and Dependent
  62           // 03/07/2000   Version 1.2g
  63           //              Added Association qualifier to all association classes
  64           //              Added spaces to end of descriptions where they were missing
  65           //              Added Notification_Pending state to PRS_Transaction State property
  66           // 02/03/2000   Version 1.2f
  67           //              Added definitions for PRS_SISServices method return values and
  68           //              CompletionStatus parameters as well as PRS_Transaction CompletionStatus
  69 karl  1.1 // 01/26/2000   Version 1.2e
  70           //              Changed PRS_ExchangeElement description
  71           // 01/21/2000   Version 1.2d
  72           //              Fixed spelling error in PRS_Category
  73           // 01/20/2000   Version 1.2c
  74           //              Added ParameterList property back to PRS_Activity for backward 
  75           //                compatibility
  76           //              Removed methods from PRS_Transaction and edited property descriptions
  77           //              Corrected data types of some properties to match specification (strings
  78           //                to uint8)
  79           //              Added some missing superclass references ( : CIM_Dependency)
  80           // 01/17/2000   Version 1.2b
  81           //              Reformatted MOF and expanded description fields
  82           //              Incorporated SIS Transactions using CIM over HTTP
  83           //                  Added properties and methods to PRS_Transaction
  84           //                  Added DirtyFlag to PRS_ExchangeElement
  85           //                  Added PRS_SISService
  86           //                  
  87           // ==================================================================
  88           
  89           
  90 karl  1.1 // ==================================================================
  91           // Pragmas
  92           // ==================================================================
  93           
  94           #pragma locale ("en_US")
  95           
  96           
  97           // ================================================================== 
  98           //    PRS_ExchangeElement
  99           // ==================================================================
 100           
 101           [
 102               Abstract, 
 103               Description (
 104               	"PRS_ExchangeElement is an abstract base class for all classes "
 105           	    "in the Solution and Service Incident object model.  As an "
 106           	    "abstract class it is never instantiated.\n"
 107           	    "\n"
 108           	    "PRS_ExchangeElement exists to provide a single anchor point "
 109           	    "for associations that may be made to any Solution or Service "
 110           	    "Incident object.  For example, Administrative or Attachment "
 111 karl  1.1 	    "instances may be associated with any object derived from "
 112           	    "PRS_ExchangeElement. "
 113                   "To support this generic association capability, the PRS_AdminAssociation "
 114                   "and PRS_Attached associations both derive from the CIM_Dependency "
 115                   "association and override the Antecedent property of that class to be a "
 116                   "PRS_ExchangeElement REF. "
 117               )
 118           ]
 119           class PRS_ExchangeElement : CIM_ManagedElement
 120           {
 121               [
 122           	    Key, 
 123           	    Description (
 124           	        "The PRSUniqueName property is a Globally Unique IDentifier "
 125           	        "(GUID) also known as a Universally Unique IDentifier (UUID). "
 126           	        "This property allows Solution and Service Incident objects "
 127           	        "to be used by multiple Solutions or Service Incidents without "
 128           	        "duplication.  In addition, all Solution or Service Incidents "
 129           	        "containing a unique object are updated when the object is "
 130           	        "updated."
 131           	    )
 132 karl  1.1     ]
 133               string PRSUniqueName;
 134           
 135               [
 136           	    ValueMap {"0", "1", "2", "3"}, 
 137           	    Values {"Clean", "New", "Modified", "Deleted"}, 
 138           	    Description(
 139                       "The DirtyFlag is used by the SISService Start Transaction "
 140           	        "method to determine whether an ExchangeElement has "
 141                       "been created, modified or deleted since the last Transaction. " 
 142                       "Any object not marked 'Clean' is included in the next "
 143                       "Transaction.\n"
 144           	        "\n"
 145           	        "It is the responsibility of the entity creating, modifying or "
 146           	        "deleting the object derived from ExchangeElement to set this "
 147           	        "property appropriately.\n"
 148           	        "\n"
 149           	        "This property value is set to 'Clean' by an invocation of the "
 150           	        "Transaction Complete method with a Status parameter of zero (0)."
 151           	    )
 152               ]
 153 karl  1.1     uint8 DirtyFlag;
 154           };
 155           
 156           
 157           // ================================================================= 
 158           //    PRS_Solution
 159           // ==================================================================
 160           
 161           [
 162               Description (
 163                   "PRS_Solution is the root class of a set of associated classes "
 164                   "used to describe a single Solution.  If a Solution is associated "
 165                   "with multiple Problems or Resolutions, all of the Problems "
 166                   "described are related to all of the Resolutions described.  The "
 167                   "reverse is also true.  All of the Resolutions described are "
 168                   "related to all of the Problems described in the Solution."
 169                   "\n"
 170                   "\n"
 171                   "PRS_Solution is directly associated to one or more of the "
 172                   "following classes:\n"
 173                   "\n"
 174 karl  1.1         "    PRS_Reference\n"
 175                   "    PRS_Problem\n"
 176                   "    PRS_Resolution\n"
 177                   "\n"
 178               )
 179           ]
 180           class PRS_Solution : PRS_ExchangeElement
 181           {
 182               [
 183           	    Description ("The Solution title.")
 184               ]
 185               string Title;
 186           
 187               [
 188           	    Description ("A brief description of the Solution.")
 189               ]
 190               string SolutionAbstract;
 191           
 192               [
 193           	    ValueMap {"0", "1", "2", "254", "255"},
 194           	    Values {"Reference", "Diagnostic", "How To", "Other", "Unknown"}, 
 195 karl  1.1 	    Description (
 196           	        "The SolutionType suggests the type of knowledge contained "
 197           	        "in the Solution.  Depending on the type, the Solution may or "
 198           	        "may not include particular objects.  For example, a "
 199                       "'Reference' Solution describes non-diagnostic technical or "
 200                       "general information using PRS_Statement objects. A 'Diagnostic' "
 201           	        "Solution includes one or more PRS_Problem and PRS_Resolution objects. "
 202           	        "A 'How To' Solution describes how to solve a particular Problem "
 203           	        "described by a PRS_Problem in a series of sequential steps within "
 204           	        "a PRS_Resolution."
 205                   ) 
 206               ] 
 207               uint8 SolutionType;
 208           };
 209                
 210           
 211           // ==================================================================
 212           //    PRS_SolutionElement
 213           // ==================================================================
 214           
 215           [
 216 karl  1.1     Abstract, 
 217               Description (
 218                   "PRS_SolutionElement is an abstract base class for non-Category objects "
 219           	    "directly associated with a Solution.  This includes:\n"
 220           	    "\n"
 221           	    "    PRS_Reference\n"
 222           	    "    PRS_Problem\n"
 223           	    "    PRS_Resolution\n"
 224           	    "\n"
 225           	    "PRS_SolutionElement provides a common reference for these "
 226           	    "objects to be associated with PRS_Expression objects through "
 227           	    "the SolutionExpression association.\n"
 228           	    "\n"
 229           	    "In addition, all of the derived objects may be retrieved with a "
 230           	    "single query for the common super-class."
 231               )
 232           ]
 233           class PRS_SolutionElement : PRS_ExchangeElement
 234           {
 235           };
 236                
 237 karl  1.1 
 238           // ===================================================================
 239           //    PRS_Reference
 240           // ===================================================================
 241           
 242           [
 243               Description (
 244                   "PRS_Reference is a placeholder to support links between "
 245           	    "PRS_Expression objects and a PRS_Solution.  It does not "
 246           	    "have any properties. A 'Reference' "
 247           	    "Solution uses PRS_Statement objects to describe general, "
 248                   "non-diagnostic knowledge and may not include any PRS_Problem "
 249                   "and PRS_Resolution instances. "
 250               )
 251           ]
 252           class PRS_Reference : PRS_SolutionElement
 253           {
 254           };
 255           
 256           
 257           // ===================================================================
 258 karl  1.1 //    PRS_Problem
 259           // ===================================================================
 260           
 261           [
 262               Description (
 263                   "PRS_Problem is the root object of a set of associated objects "
 264           	    "that describe a Problem.  One or more Problems may be associated "
 265           	    "with a Solution.\n"
 266           	    "\n"
 267           	    "The Problem is described by PRS_Statement and PRS_Product instances "
 268           	    "indirectly associated to the PRS_Problem through a PRS_Expression."
 269               )
 270           ]
 271           class PRS_Problem : PRS_SolutionElement
 272           {
 273               [
 274           	    Description (
 275                       "The Likelihood describes the potential for the Problem to occur. "
 276           	        "The value of this property shall be an integer value in the range of "
 277           	        "0 to 100, inclusive."
 278             	    ), 
 279 karl  1.1           MinValue(0), MaxValue(100)
 280               ]
 281               uint16 Likelihood;
 282           
 283               [
 284               	Description (
 285                       "The Impact describes the severity of the problem. "
 286           	        "The value of this property shall be an integer value in the range of "
 287           	        "0 to 100, inclusive."
 288                   ), 
 289                     MinValue(0), MaxValue(100)
 290               ]
 291               uint16 Impact;
 292           };
 293           
 294           
 295           // ===================================================================
 296           //    PRS_Resolution
 297           // ===================================================================
 298           
 299           [
 300 karl  1.1     Description (
 301                   "PRS_Resolution is the root object of a set of associated objects "
 302           	    "that describe a the resolution to a Problem.  One or more Resolutions "
 303           	    "may be associated with a Solution.\n"
 304           	    "\n"
 305           	    "The Resolution is described by PRS_Statement and PRS_Product instances "
 306           	    "indirectly associated to the PRS_Resolution through a PRS_Expression."
 307               )
 308           ]
 309           class PRS_Resolution : PRS_SolutionElement
 310           {
 311           
 312               [
 313               	Description (
 314           	        "The Confidence describes the potential for the Resolution to correct "
 315           	        "the Problem or Problems associated with the PRS_Solution. "
 316           	        "The value of this property shall be an integer value in the range of "
 317           	        "0 to 100, inclusive."
 318           	    ), 
 319                     MinValue(0), MaxValue(100)
 320               ]
 321 karl  1.1     uint16 Confidence;
 322           };
 323           
 324           
 325           // ===================================================================
 326           //    PRS_SolutionHasElement 
 327           // ===================================================================
 328           
 329           [
 330               Association, 
 331               Abstract, 
 332               Aggregation, 
 333               Description (
 334               	"PRS_SolutionHasElement is an abstract base class for associating "
 335           	    "PRS_Solution with objects derived from PRS_SolutionElement. This "
 336           	    "association class allows all PRS_Reference, PRS_Problem and "
 337           	    "PRS_Resolution objects to be retrieved with a single query."
 338               )
 339           ]
 340           class PRS_SolutionHasElement : CIM_Dependency
 341           {
 342 karl  1.1     [
 343                   Override ("Antecedent"),
 344           	    Aggregate, 
 345           	    Description ("The PRS_Solution root object of the Solution."), 
 346           	    Min (1)
 347               ]
 348               PRS_Solution REF Antecedent;
 349           
 350               [
 351                   Override ("Dependent"),
 352               	Description (
 353                       "The PRS_Reference, PRS_Problem or PRS_Resolution aggregated "
 354                       "into the Solution by this association."
 355           	    )
 356               ]
 357               PRS_SolutionElement REF Dependent;
 358           };
 359           
 360           
 361           // ===================================================================
 362           //    PRS_SolutionReference 
 363 karl  1.1 // ===================================================================
 364           
 365           [
 366               Association, 
 367               Aggregation, 
 368               Description ("PRS_SolutionReference aggregates a Reference into a Solution.")
 369           ]
 370           class PRS_SolutionReference : PRS_SolutionHasElement
 371           {
 372               [
 373                   Override ("Dependent"), 
 374                   Description ("The PRS_Reference aggregated into the Solution.")
 375               ]
 376               PRS_Reference REF Dependent;
 377           };
 378           
 379           
 380           // ===================================================================
 381           //    PRS_SolutionProblem 
 382           // ===================================================================
 383           
 384 karl  1.1 [
 385               Association, 
 386               Aggregation, 
 387               Description ("PRS_SolutionProblem aggregates a Problem into a Solution.")
 388           ]
 389           class PRS_SolutionProblem : PRS_SolutionHasElement
 390           {
 391               [
 392           	Override ("Dependent"), 
 393           	Description ("The PRS_Problem aggregated into the Solution.")
 394               ]
 395               PRS_Problem REF Dependent;
 396           };
 397           
 398           
 399           // ===================================================================
 400           //    PRS_SolutionResolution
 401           // ===================================================================
 402           
 403           [
 404               Association, 
 405 karl  1.1     Aggregation, 
 406               Description ("PRS_SolutionResolution aggregates a Resolution into a Solution.")
 407           ]
 408           class PRS_SolutionResolution : PRS_SolutionHasElement
 409           {
 410               [
 411           	    Override ("Dependent"), 
 412           	    Description ("The PRS_Solution aggregated into the Solution.")
 413               ]
 414               PRS_Resolution REF Dependent;
 415           };
 416           
 417           
 418           // ================================================================= 
 419           //    PRS_Category
 420           // ==================================================================
 421           
 422           [
 423               Description (
 424               	"PRS_Category is used to classify the components of a "
 425           	    "Solution.  Hierarchical classifications are created by associating "
 426 karl  1.1 	    "PRS_CategoryParentChild with multiple PRS_Category instances."
 427               )
 428           ]
 429           class PRS_Category : PRS_ExchangeElement
 430           {
 431               [
 432               	Description (
 433                       "The specific value for the category.  For example, 'HP Laserjet' "
 434                       "would be a value for a category containing printer names. "
 435                   )
 436               ]
 437               string CategoryContents;
 438           
 439               [
 440           	    Description (
 441                       "The type of category. Used to give additional semantics to the "
 442                       "category.  For example, a Category of Type 'Printers' would "
 443                       "qualify the list of category values for a list of printers.\n" 
 444                       "\n"
 445                       "Note: the relationship of Category Type to Category Value "
 446                       "expresses no intrinsic hierarchy.  If a tree of relationships "
 447 karl  1.1             "exists to define categories and sub-categories, this should be "
 448                       "defined using CategoryParentChild associations."
 449                   )
 450               ]
 451               string CategoryType;        
 452           };
 453                
 454           
 455           // ===================================================================
 456           //    PRS_SolutionCategory 
 457           // ===================================================================
 458           
 459           [
 460               Association, 
 461               Description (
 462           	    "PRS_SolutionCategory associates PRS_Solution with a PRS_Category "
 463           	    "for classification purposes."
 464               )
 465           ]
 466           class PRS_SolutionCategory : CIM_Dependency
 467           {
 468 karl  1.1     [
 469                   Override ("Antecedent"),
 470               	Min(1),
 471                   Description ("The PRS_Solution being classified.") 
 472               ]
 473               PRS_Solution REF Antecedent;
 474           
 475               [
 476                   Override ("Dependent"),
 477           	    Description (
 478                       "The specific PRS_Category being used to classify the Solution."
 479           	    )
 480               ]
 481               PRS_Category REF Dependent;
 482           };
 483           
 484           
 485           // ===================================================================
 486           //    PRS_Categorization 
 487           // ===================================================================
 488           
 489 karl  1.1 [
 490               Association, 
 491               Description (
 492               	"PRS_Categorization associates PRS_Reference, PRS_Problem "
 493           	    "or PRS_Resolution with a PRS_Category for classification purposes. "
 494                   "For example, a Category named 'Printing Issues' can be defined "
 495                   "for a Problem using the Categorization association between a "
 496                   "PRS_Problem and a PRS_Category. "
 497               )
 498           ]
 499           class PRS_Categorization : CIM_Dependency
 500           {
 501               [
 502                   Override ("Antecedent"),
 503                   Description ("The PRS_Category used for classification.") 
 504               ]
 505               PRS_Category REF Antecedent;
 506           
 507               [
 508                   Override ("Dependent"),
 509           	    Min(1),
 510 karl  1.1 	    Description (
 511                       "The specific PRS_Reference, PRS_Problem or PRS_Resolution "
 512                       "classified by this association."
 513           	    )
 514               ]
 515               PRS_SolutionElement REF Dependent;
 516           };
 517           
 518           
 519           // ===================================================================
 520           //    PRS_CategoryParentChild 
 521           // ===================================================================
 522           
 523           [
 524               Association, 
 525               Description("PRS_CategoryParentChild is used to define classification hierarchies.")
 526           ]
 527           class PRS_CategoryParentChild : CIM_Dependency
 528           {
 529               [
 530                   Override ("Antecedent"),
 531 karl  1.1         Description ("The parent PRS_Category used for classification.") 
 532               ]
 533               PRS_Category REF Antecedent;
 534           
 535               [
 536                   Override ("Dependent"),
 537           	    Description (
 538                       "The child PRS_Category used for classification."
 539                   )
 540               ]
 541               PRS_Category REF Dependent;
 542           };
 543           
 544           
 545           // ================================================================= 
 546           //    PRS_ExpressionElement   
 547           // ==================================================================
 548           
 549           [
 550               Abstract,
 551               Description (
 552 karl  1.1         "PRS_ExpressionElement is an abstract base class for PRS_Products "
 553                   "and PRS_Statements.  It provides a common association point for objects "
 554                   "associated with PRS_Expressions."
 555               )
 556           ]
 557           class PRS_ExpressionElement : PRS_ExchangeElement
 558           {
 559           };
 560           
 561           
 562           // ================================================================= 
 563           //    PRS_Expression   
 564           // ==================================================================
 565                   
 566           [
 567               Description (
 568                   "PRS_Expression defines a specific relationship between "
 569                   "PRS_ExpressionElements associated with PRS_SolutionElements. "
 570               )
 571           ]
 572           class PRS_Expression : PRS_ExpressionElement
 573 karl  1.1 {
 574               [
 575                   Description (
 576                       "The operator to be used with the associated PRS_ExpressionElements. "
 577                       "The 'AND', 'OR' and 'NOT' operators are the only operators "
 578                       "currently defined. They must be defined as an uppercase string."
 579                   )
 580           	]
 581               string Relation;
 582           };
 583           
 584           
 585           // ================================================================= 
 586           //    PRS_Product   
 587           // ==================================================================
 588           
 589           [
 590               Description (
 591                   "PRS_Product is used to describe a single product to associate with a "
 592                   "PRS_Expression."
 593               )         
 594 karl  1.1 ]
 595           class PRS_Product : PRS_ExpressionElement
 596           {
 597               [
 598                   Description ("The vendor of the product.")
 599           	]
 600               string Vendor;
 601           
 602               [
 603                   Description ("The make and or model of the product.")
 604               ]
 605               string ProductName;
 606           
 607               [
 608                   Description ("The version of the product.")
 609           	]
 610               string Version;
 611                   
 612               [
 613                   Description (
 614                       "The order of relevance of this product to an associated "
 615 karl  1.1             "PRS_SolutionElement.  These include PRS_Reference, PRS_Problem "
 616                       "or PRS_Resolution."
 617                   )
 618           	]
 619               string Order;        
 620           };
 621           
 622           
 623           // ================================================================= 
 624           //    PRS_Statement   
 625           // ==================================================================
 626           
 627           [
 628               Description (
 629                   "PRS_Statement contains the text describing a problem, any " 
 630                   "relevant background information, and its resolution. Statements " 
 631                   "are units of text ranging from brief sentences or phrases to " 
 632                   "paragraphs or pages. There is no limit to the number of " 
 633                   "PRS_Statements within a Solution, as long as they support the " 
 634                   "intent and focus of their root class.  Root classes include: "
 635                   "PRS_Reference, PRS_Problem or PRS_Resolution./n"
 636 karl  1.1         "\n"
 637                   "PRS_Statements may be grouped together to build compound " 
 638                   "'sentences'. For example,/n " 
 639                   "   StatementA = Printer output is blotchy./n "
 640                   "   StatementB = Print jobs per day are less than 50./n "
 641                   "ExpressionA = StatementA AND StatementB."
 642               )
 643           ]
 644           class PRS_Statement : PRS_ExpressionElement
 645           {
 646               [
 647                   ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11",
 648                       "254", "255"
 649                   },
 650                   Values {"Description", "Symptom", "Error_Message", "Objective", "Evidence", 
 651                       "Cause", "Work_Around", "Fix", "Answer", "Keyword", "Changes", "Title", 
 652                       "Other", "Unknown"
 653                   }, 
 654                   Description (
 655                       "StatementRole describes how the PRS_Statement relates to the larger "
 656                       "context. "
 657 karl  1.1             "For example, is the PRS_Statement describing a Fix or a Symptom? "
 658                       "'Description' is generic text without a specific diagnostic "
 659                       "application. "
 660                       "'Symptom' describes initial observable incident or behavior that "
 661                       "the user reports. "
 662                       "'Error_Message' is a specific type of symptom that the user "
 663                       "reports, describing a specific error condition reported. "
 664                       "'Objective' is what the user wants to accomplish, often "
 665                       "expressed as a positive condition.  FOr example, how to print "
 666                       "on a network. "
 667                       "'Evidence' is information that is collected to diagnose the "
 668                       "problem after the symptom is reported. "
 669                       "'Cause' is a description of the underlying facts or factors "
 670                       "that engender or relate this behavior. "
 671                       "'Work_around' is information that lets the user work, but does "
 672                       "not correct the problem completely. "
 673                       "'Fix' is information that fixes the problem completely. "
 674                       "'Answer' is the information given to the user such as steps to "
 675                       "perform, wording to support their environment and understanding. "
 676                       "'Keyword' is a specific classification using defined words or "
 677                       "phrases. "
 678 karl  1.1             "'Changes' describes a recent change in the environment which "
 679                       "could affect the problem or resolution. "
 680                       "'Title is the title applying to associated PRS_Statements. "
 681                       "Usually associated via an 'and' expression. "
 682                   )
 683               ] 
 684               uint8 StatementRole;
 685           
 686               [
 687                   Description ("The descriptive text used for the PRS_Statement.")
 688               ]
 689               string Text;
 690           
 691               [
 692                   Description (
 693                       "When the PRS_Adminstrative object indicates Level 2 compliance, "
 694                       "StatementOperator describes the relationship between an associated "
 695                       "PRS_Feature and the FeatureValue property.  This property is "
 696                       "ignored if there is no PRS_Feature associated with this "
 697                       "PRS_Statement."
 698                   )
 699 karl  1.1 	]
 700               string StatementOperator;
 701           
 702               [
 703                   Description (
 704                       "When the PRS_Adminstrative object indicates Level 2 compliance, "
 705                       "FeatureValue is the specific value selected from the associated "
 706                       "PRS_Feature. This property is ignored if there is no PRS_Feature "
 707                       "associated with this PRS_Statement."
 708                   )
 709           	]
 710               string FeatureValue;
 711           
 712               [
 713                   Description (
 714                       "Order is used to sequence PRS_Statements associated "
 715                       "with a single PRS_Expression to allow a Consumer to process "
 716                       "the information in the order desired by the Producer."
 717                   )
 718           	]
 719               string Order;        
 720 karl  1.1 
 721               [
 722                   Description (
 723                       "Importance of this Statement. "
 724           	        "The value of this property shall be an integer value in the "
 725                       "range of 0 to 100, inclusive."
 726                   )
 727           	]
 728               uint16 Relevance;        
 729           };
 730           
 731           // ================================================================= 
 732           //    PRS_Feature
 733           // ==================================================================
 734           
 735           [
 736               Description (
 737                   "PRS_Feature is used for structured diagnostic data, including "
 738                    "specific data values like steps or conditions.  For example, "
 739                    "consider a PRS_Statement with a Text property value of: \n"
 740                    "\n"
 741 karl  1.1          "    Print jobs per day are less than 50\n" 
 742                    "\n"
 743                    "This could be described using a PRS_Feature as follows:\n"
 744                    "\n"
 745                    "    Description:  'Print jobs per day' \n"
 746                    "    Prompt:       'How many print jobs per day?' \n"
 747                    "    ValidValues:  '10' '50' '100' \n"
 748                    "    DataType:     'Integer' \n"
 749                    "\n"
 750                    "and the associated PRS_Statement would contain:\n"
 751                    "\n"
 752                    "    Operator:     '<' \n"
 753                    "    FeatureValue: '50' \n"
 754               )
 755           ]
 756           class PRS_Feature : PRS_ExchangeElement
 757           {
 758               [
 759                   Description ("Prompt presented through user interface.")
 760               ]
 761               string Prompt;
 762 karl  1.1 
 763               [
 764                   Description ("Valid values for this PRS_Feature.")
 765           	]
 766               string ValidValues;
 767           
 768               [
 769                   ValueMap {"0", "1", "2", "3", "4", "5", "254", "255"},
 770                   Values {
 771                       "String", "Integer", "Float", "Date/Time", "Boolean",
 772                       "Binary", "Other", "Unknown"
 773                   },
 774                   Description ("Data Type used for PRS_Statement FeatureValue property")
 775           	]
 776               uint8 DataType;        
 777           };
 778           
 779           
 780           // ================================================================= 
 781           //    PRS_Resource   
 782           // ==================================================================
 783 karl  1.1 
 784           [
 785               Description (
 786                   "Each PRS_Resolution may have an associated cost of implementation. "
 787                   "This cost may have several components such as time, material " 
 788                   "costs, labor cost, etc. To capture these costs, a PRS_Resouce is "
 789                   "associated with a PRS_Resolution.  For Service Incidents, one or "
 790                   "more PRS_Resource objects may be associated with an Activity."
 791               )
 792           ]
 793           class PRS_Resource : PRS_ExchangeElement
 794           {
 795               string ResourceType;
 796           
 797               [
 798                   Description ("Number of units of resource used.")
 799               ]
 800               uint16 Quantity;        
 801           
 802               [
 803                   Description ("Unit of measure for this resource.")
 804 karl  1.1 	]
 805               string Units;        
 806           };
 807           
 808           
 809           // ===================================================================
 810           //  PRS_ExpressionLink   
 811           // ===================================================================
 812           
 813           [
 814               Association,  
 815               Aggregation,
 816               Description (
 817                   "Associates PRS_Expression with PRS_ExpressionElements "
 818                   "such as PRS_Expression, PRS_Product, and PRS_Statement."
 819               )
 820           ]
 821           class PRS_ExpressionLink : CIM_Dependency
 822           {
 823               [
 824                   Aggregate,
 825 karl  1.1         Override ("Antecedent"),
 826                   Min(1),
 827                   Description ("The parent PRS_Expression.") 
 828               ]
 829               PRS_Expression REF Antecedent;
 830           
 831               [
 832                   Override ("Dependent"),
 833           	    Min(1),
 834           	    Description (
 835                       "The child PRS_ExpressionElement.  Either PRS_Expression, "
 836                       "PRS_Product or PRS_Statement."
 837           	    )
 838               ]
 839               PRS_ExpressionElement REF Dependent;
 840           };
 841           
 842           
 843           // ===================================================================
 844           //    PRS_ProductParentChild
 845           // ===================================================================
 846 karl  1.1 
 847           [
 848               Association,  
 849               Aggregation,
 850               Description (
 851                    "Products may exist in a hierarchy of relationships with related " 
 852                    "Products. If a Producer deems these hierarchy relationships " 
 853                    "are relevant to the current Problem or Resolution, then the "
 854                    "position of the Product in a hierarchy can be implied using one " 
 855                    "of two types of relationships: 'is a' and 'has a'. An 'is a' " 
 856                    "relationship implies a classification, such as versioning or typing. " 
 857                    "A 'has a' relationship implies that one product contains another. " 
 858                    "The PRS_ProductParentChild association is used to imply an 'is a' " 
 859                    "hierarchy. Use the ProductComponent association to imply 'has a' "
 860                    "relationships.")
 861           ]
 862           class PRS_ProductParentChild : CIM_Dependency
 863           {
 864               [
 865                   Aggregate, 
 866                   Override ("Antecedent"),
 867 karl  1.1 	    Description ("The parent PRS_Product.") 
 868           	]
 869               PRS_Product REF Antecedent;
 870           
 871               [
 872                   Override ("Dependent"),
 873                   Description ("The child PRS_Product.")
 874           	]
 875               PRS_Product REF Dependent;
 876           };
 877           
 878           
 879           // ===================================================================
 880           //    PRS_ProductComponent   
 881           // ===================================================================
 882           
 883           [
 884               Association,  
 885               Aggregation,
 886               Description (
 887                    "PRS_ProductComponent is used to describe 'has a' relationships "
 888 karl  1.1          "between Products and their components parts.  See "
 889                    "PRS_ProductParentChild for 'is a' relationships."
 890               )
 891           ]
 892           class PRS_ProductComponent : CIM_Dependency
 893           {
 894               [
 895                   Aggregate, 
 896                   Override ("Antecedent"),
 897                   Description ("The PRS_Product which contains the component.") 
 898           	]
 899               PRS_Product REF Antecedent;
 900           
 901               [
 902                   Override ("Dependent"),
 903                   Description ("The component PRS_Product.")
 904           	]
 905               PRS_Product REF Dependent;
 906           };
 907           
 908           
 909 karl  1.1 // ===================================================================
 910           //    PRS_ProductAsset   
 911           // ===================================================================
 912           
 913           [
 914               Association, 
 915               Description (
 916                   "PRS_ProductAsset is used to provide specific information about "
 917                   "a PRS_Product.  PRS_ProductAsset associates this information to a "
 918                   "PRS_Product using one or more Statements associated to a "
 919                   "PRS_Expression."
 920               )
 921           ]
 922           class PRS_ProductAsset : CIM_Dependency
 923           {
 924               [
 925                   Override ("Antecedent"),
 926                   Description ("The product.") 
 927           	]
 928               PRS_Product REF Antecedent;
 929           
 930 karl  1.1     [
 931                   Override ("Dependent"),
 932                   Description ("The expression.")
 933           	]
 934               PRS_Expression REF Dependent;
 935           };
 936           
 937           
 938           // ===================================================================
 939           //    PRS_StatementFeature   
 940           // ===================================================================
 941           
 942           [
 943               Association, 
 944               Description ("Associates PRS_Statement with PRS_Feature.")
 945           ]
 946           class PRS_StatementFeature : CIM_Dependency
 947           {
 948               [
 949                   Override ("Antecedent"),
 950                   Description ("The PRS_Statement.")
 951 karl  1.1     ]
 952               PRS_Statement REF Antecedent;
 953           
 954               [
 955                   Override ("Dependent"),
 956                   Description ("The PRS_Feature.")
 957           	]
 958               PRS_Feature REF Dependent;
 959           };
 960           
 961           
 962           // ===================================================================
 963           //    PRS_FeatureResource   
 964           // ===================================================================
 965           
 966           [
 967               Association, 
 968               Description (
 969                   "Associates PRS_Feature with PRS_Resource. "
 970                   "Used to track specific labor and costs associated with specific "
 971                   "tasks defined in Feature objects. "
 972 karl  1.1     )
 973           ]
 974           class PRS_FeatureResource : CIM_Dependency
 975           {
 976               [
 977                   Override ("Antecedent"),
 978                   Description ("The PRS_Feature.")
 979           	]
 980               PRS_Feature REF Antecedent;
 981           
 982               [
 983                   Override ("Dependent"),
 984                   Description ("The PRS_Resource.")
 985           	]
 986               PRS_Resource REF Dependent;
 987           };
 988           
 989           
 990           // ===================================================================
 991           //    PRS_ResolutionResource   
 992           // ===================================================================
 993 karl  1.1 
 994           [
 995               Association, 
 996               Description ("Associates PRS_Resolution with PRS_Resource")
 997           ]
 998           class PRS_ResolutionResource : CIM_Dependency
 999           {
1000               [
1001                   Override ("Antecedent"),
1002                   Description ("The PRS_Resource.")
1003           	]
1004               PRS_Resource REF Antecedent;
1005           
1006               [
1007                   Override ("Dependent"),
1008                   Description ("The PRS_Resolution.")
1009               ]
1010               PRS_Resolution REF Dependent;
1011           };
1012           
1013           
1014 karl  1.1 // ===================================================================
1015           //    PRS_Solution Expression   
1016           // ===================================================================
1017           
1018           [
1019               Association,  
1020               Aggregation,
1021               Description (
1022                   "Associates PRS_SolutionElements (PRS_Reference, PRS_Problem "
1023                   "or PRS_Resolution) with PRS_Expression."
1024               )
1025           ]
1026           class PRS_SolutionExpression : CIM_Dependency
1027           {
1028               [
1029                   Aggregate, 
1030           	    Min (1),
1031                   Override ("Antecedent"),
1032           	    Description ("The PRS_SolutionElement.")
1033            	]
1034               PRS_SolutionElement REF Antecedent;
1035 karl  1.1 
1036               [
1037                   Min (1), 
1038                   Override ("Dependent"),
1039                   Description ("The PRS_Expression.")
1040           	]
1041               PRS_Expression REF Dependent;
1042           };
1043           
1044           
1045           // ===================================================================
1046           //    PRS_Administrative
1047           // ===================================================================
1048           
1049           [
1050               Description (
1051                   "PRS_Administrative defines administrative information about "
1052                   "associated objects.  There must be at least one PRS_Administrative " 
1053                   "instance associated with a PRS_Solution. Administrative "
1054                   "information is inherited from a parent object. \n"
1055                   "\n"
1056 karl  1.1         "If the administrative information among objects within a Solution "
1057                   "is not the same, additional PRS_Administrative instances may be "
1058                   "associated with other objects within the Solution.  All instances under "
1059                   "a specific parent inherit their administrative information unless "
1060                   "there is an PRS_Administrative instance associated with an instance.\n"
1061                   "\n"
1062                   "For example, if there is a PRS_Administrative instance associated "
1063                   "with a PRS_Problem instance, all of the PRS_Statement and PRS_Product "
1064                   "instances within the Problem use the same Administrative information "
1065                   "as the PRS_Problem instance."
1066               )
1067           ]
1068           class PRS_Administrative : PRS_ExchangeElement
1069           {
1070               [
1071                   Values {"0", "1", "2"},
1072                   Description (
1073                       "Level 0 means all information within a Reference, Problem or "
1074                       "Resolution is conveyed by a single PRS_Statement.\n"
1075                       "\n"
1076                       "Level 1 means there may be multiple PRS_Statement instances "
1077 karl  1.1             "within a Reference, Problem or Resolution.\n"
1078                       "\n"
1079                       "Level 2 means that a PRS_Statement may be associated with "
1080                       "a PRS_Feature instance within a Reference, Problem or Resolution."
1081                   )
1082           	]
1083               uint16 ComplianceLevel;
1084           
1085               [
1086                   ValueMap {"0", "1", "2", "254", "255"},
1087                   Values {"Draft", "Reviewed", "Published", "Other", "Unknown"}, 
1088                   Description (
1089                       "Editorial status of the document. "
1090                       "If 'Draft', information is complete, but unedited. "
1091                       "If 'Reviewed', an editorial review has been completed. "
1092                       "If 'Published', information has been reviewed and approved "
1093                       "for distribution." 
1094                   )
1095           	]
1096               uint8 DocumentStatus;
1097           
1098 karl  1.1     [
1099                   ValueMap {"0", "1", "2", "3", "254", "255"},
1100                   Values {"Proprietary", "Internal", "Partner", "Public", "Other", "Unknown"}, 
1101                   Description (
1102                       "Intended distribution audience for the associated information. "
1103                       "If 'Proprietary', information contains proprietary information "
1104                       "and is not to be released externally. "
1105                       "If 'Internal', information is for internal use only. "
1106                       "If 'Partner', information is only available to contracted "
1107                       "partners. "
1108                       "If 'Public', information is available to anyone."
1109                   )
1110           	]
1111               uint8 Distribution;
1112           
1113               [
1114                   Description ("Language used in the associated information.")
1115           	]
1116               string Language;
1117           
1118               [
1119 karl  1.1         Description ("Copyright for the associated information.")
1120           	]
1121               string Copyright;
1122           
1123               [
1124                   Description ("Disclaimers about the associated information.")
1125           	]
1126               string Disclaimer;
1127           
1128               [
1129                   Description ("Usage rights for the associated information.")
1130           	]
1131               string Rights;
1132           };
1133           
1134           
1135           // ===================================================================
1136           //    PRS_AdminAssociation
1137           // ===================================================================
1138           
1139           [
1140 karl  1.1     Association, 
1141               Description (
1142                   "Associates PRS_Administrative with any object derived from "
1143                   "PRS_ExchangeElement."
1144               )
1145           ]
1146           class PRS_AdminAssociation : CIM_Dependency
1147           {
1148           
1149               [
1150           	    Min (1),
1151                   Override ("Antecedent"),
1152                   Description ("The PRS_ExchangeElement.")
1153           	]
1154               PRS_ExchangeElement REF Antecedent;
1155           
1156               [
1157                   Override ("Dependent"),
1158                   Description ("The PRS_Administrative.")
1159           	]
1160               PRS_Administrative REF Dependent;
1161 karl  1.1 };
1162           
1163           
1164           // ===================================================================
1165           //    PRS_Revision
1166           // ===================================================================
1167           
1168           [
1169               Description ("PRS_Revision records changes to the content.")
1170           ]
1171           class PRS_Revision : PRS_ExchangeElement
1172           {
1173           
1174               [
1175                   Description ("The date of this revision.")
1176           	]
1177               datetime RevisionDate;
1178           
1179               [
1180                   ValueMap {"0", "1", "2", "254", "255"},
1181                   Values {"Create", "Update", "Delete", "Other", "Unknown"}, 
1182 karl  1.1         Description ("The name of the specific revision being made.")
1183           	]
1184               uint8 ActivityName;
1185           
1186               [
1187                   ValueMap {"0", "1", "2", "254", "255"},
1188                   Values {"Technical", "Editorial", "Administrative", "Other", "Unknown"},
1189                   Description (
1190                       "Type of revision activity. 'Technical' refers to a change "
1191                       "in content. 'Editorial' refers to a change in language or style. "
1192                       "'Administrative' refers to information about the object."
1193                   )
1194           	]
1195               uint8 ActivityType;
1196           
1197               [
1198                   ValueMap {"0", "1", "2", "3", "254", "255"},
1199                   Values {"Open", "Not Reviewed", "Reviewed", "Approved", "Other", "Unknown"},
1200                   Description (
1201                       "The current state of technical review. "
1202                       "'Open' means created but not necessarily completed or resolved. "
1203 karl  1.1             "'Not Reviewed' means contents have to be reviewed for "
1204                       "accuracy and consistency with other content. "
1205                       "'Reviewed' means review has been completed. "
1206                       "'Approved' means formally approval to certify the solution for "
1207                       "the specific status the contents have at this time."
1208                   )
1209           	]
1210               uint8 TechnicalStatus;
1211           
1212               [
1213                   ValueMap {"0", "1", "2", "3", "254", "255"},
1214                   Values {"In_Progress", "Draft", "Reviewed", "Published", "Other", "Unknown"},
1215                   Description (
1216                       "The current state of editorial review. "
1217                       "'In Progress' means the content is in the process of being developed. "
1218                       "'Draft' means the content is complete but unedited. "
1219                       "'Reviewed' means the review has been completed. "
1220                       "'Published' means the contents have been released. "
1221                   )
1222           	]
1223               uint8 EditorialStatus;
1224 karl  1.1 
1225               [
1226                   Description ("Text description of what was done in this revision.")
1227           	]
1228               string Description;
1229           };
1230           
1231           
1232           // ===================================================================
1233           //    PRS_AdministrativeRevision
1234           // ===================================================================
1235           
1236           [
1237               Association, 
1238               Aggregation, 
1239               Description ("Associates PRS_Administrative with PRS_Revision.")
1240           ]
1241           class PRS_AdministrativeRevision : CIM_Dependency
1242           {
1243               [
1244                   Aggregate, 
1245 karl  1.1         Override ("Antecedent"),
1246                   Description ("The PRS_Administrative."),
1247                   Min(1), Max(1)
1248           	]
1249               PRS_Administrative REF Antecedent;
1250           
1251               [
1252                   Override ("Dependent"),
1253                   Description ("The PRS_Revision.")
1254           	]
1255               PRS_Revision REF Dependent;
1256           };
1257           
1258           
1259           // ===================================================================
1260           // PRS_Contact
1261           // ===================================================================
1262           
1263           [
1264               Description (
1265                   "PRS_Contact is used to anchor associations to PRS_Person and "
1266 karl  1.1         "PRS_Orgnaization.  PRS_Contact is also used to anchor associations "
1267                   "to PRS_Revision and PRS_Resolution as well as the "
1268                   "PRS_ServiceIncident. "
1269               )
1270           ]
1271           class PRS_Contact : PRS_ExchangeElement
1272           {
1273           };
1274           
1275           
1276           // ===================================================================
1277           //    PRS_ContactItem
1278           // ===================================================================
1279           
1280           [
1281               Abstract,
1282               Description (
1283                   "PRS_ContactItem is the abstract root class for PRS_Person and "
1284                   "PRS_Organization.  It provides a common anchor point for the "
1285                   "PRS_ContactContactItem association. "
1286               )
1287 karl  1.1 ]
1288           class PRS_ContactItem : PRS_ExchangeElement
1289           {
1290           };
1291           
1292           
1293           // ===================================================================
1294           //    PRS_AdministrativeContact
1295           // ===================================================================
1296           
1297           [
1298               Association, 
1299               Aggregation, 
1300               Description ("Associates PRS_Administrative and PRS_Contact")
1301           ]
1302           class PRS_AdministrativeContact : CIM_Dependency
1303           {
1304               [
1305                   Aggregate, 
1306                   Override ("Antecedent"),
1307                   Description ("The PRS_Administrative."),
1308 karl  1.1         Min(1)
1309           	]
1310               PRS_Administrative REF Antecedent;
1311           
1312               [
1313                   Override ("Dependent"),
1314                   Description ("The PRS_Contact."),
1315                   Min(1)
1316           	]
1317               PRS_Contact REF Dependent;
1318           };
1319           
1320           
1321           // ===================================================================
1322           //    PRS_RevisionContact
1323           // ===================================================================
1324           
1325           [
1326               Association,  
1327               Aggregation,
1328               Description ("Associates PRS_Revision and PRS_Contact")
1329 karl  1.1 ]
1330           class PRS_RevisionContact : CIM_Dependency
1331           {
1332               [
1333                   Aggregate, 
1334                   Override ("Antecedent"),
1335                   Description ("The PRS_Revision.")
1336           	]
1337               PRS_Revision REF Antecedent;
1338           
1339               [
1340                   Min(1),
1341                   Override ("Dependent"),
1342                   Description ("The PRS_Contact.")
1343           	]
1344               PRS_Contact REF Dependent;
1345           };
1346           
1347           
1348           // ===================================================================
1349           //    PRS_Organization
1350 karl  1.1 // ===================================================================
1351           
1352           
1353           [
1354               Description (
1355                   "PRS_Organization describes a PRS_Contact's organization name "
1356                   "and business."
1357               )
1358           ]
1359           class PRS_Organization : PRS_ContactItem
1360           {
1361               [
1362                   Description ("The name of the organization.")
1363           	]
1364               string Name;
1365           
1366               [
1367                   Description ("Description of organization's primary business.")
1368           	]
1369               string Business;
1370           };
1371 karl  1.1 
1372           
1373           // ===================================================================
1374           //    PRS_Person
1375           // ===================================================================
1376           
1377           [
1378               Description ("Information about a personal contact.")
1379           ]
1380           class PRS_Person : PRS_ContactItem
1381           {
1382               [
1383                   Description ("Contact's first name.")
1384           	]
1385               string FirstName;
1386           
1387               [
1388                   Description ("Contact's last name.")
1389           	]
1390               string LastName;
1391               
1392 karl  1.1     [
1393                   Description ("How the contact is addressed, i.e. Dr., Mr., Ms., Mrs., etc.")
1394           	]
1395               string Salutation;
1396           
1397               [
1398                   Description ("Contact's business title.")
1399               ]
1400               string Title;
1401           
1402               [   Description (
1403                       "Description of the contact.  For example, they may have responsibilities "
1404                       "not apparent from their title."
1405                   )
1406           	]
1407               string ContactType;
1408           
1409               [
1410                   ValueMap {"0", "1", "2", "3", "4", "254", "255"}, 
1411                   Values {"Primary_Voice", "Alternate_Voice", "Fax", "Email", "URL", "Other", 
1412                       "Unknown"}, 
1413 karl  1.1         Description(
1414                       "Contact's preferred communication method.  See the PRS_Location "
1415                       "Type property."
1416                   )
1417           	]
1418               uint8 CommunicationMode;
1419           };
1420           
1421           
1422           // ===================================================================
1423           //    PRS_ContactContactItem
1424           // ===================================================================
1425           
1426           [
1427               Association, 
1428               Abstract, 
1429           	Description (
1430                   "Abstract root class to associate PRS_Person or PRS_Organization "
1431                   "and PRS_Contact."
1432               )
1433           ]
1434 karl  1.1 class PRS_ContactContactItem : CIM_Dependency
1435           {
1436           
1437               [
1438           	    Min (1),
1439                   Override ("Antecedent"),
1440                   Description ("The PRS_Contact.")
1441               ]
1442               PRS_Contact REF Antecedent;
1443           
1444               [
1445                   Min (1),
1446                   Override ("Dependent"),
1447                   Description (
1448                       "The PRS_ContactItem, either PRS_Person or PRS_Organization. "
1449                       "There is always at least one PRS_ContactItem, however it may be "
1450                       "either a PRS_Person or PRS_Organization.  For that reason, there "
1451                       "is a minimum cardinality of one for this property, but a minimum "
1452                       "cardinality of zero in the classes derived from this class."
1453                   )
1454               ]
1455 karl  1.1    PRS_ContactItem REF Dependent;
1456           };
1457           
1458           
1459           // ===================================================================
1460           //    PRS_ContactOrganization
1461           // ===================================================================
1462           
1463           [
1464               Association,
1465               Description ("Associates PRS_Contact and PRS_Organization")
1466           ]
1467           class PRS_ContactOrganization : PRS_ContactContactItem
1468           {
1469               [
1470                   Min(0),
1471                   Override ("Dependent"), 
1472                   Description ("The PRS_Organization.")
1473           	]
1474               PRS_Organization REF Dependent;
1475           };
1476 karl  1.1 
1477           
1478           // ===================================================================
1479           //    PRS_ContactPerson
1480           // ===================================================================
1481           
1482           [
1483               Association,
1484               Description ("Associates PRS_Contact and PRS_Person")
1485           ]
1486           class PRS_ContactPerson : PRS_ContactContactItem
1487           {
1488               [
1489                   Min(0),
1490                   Override ("Dependent"), 
1491                   Description ("The PRS_Person.")
1492           	]
1493               PRS_Person REF Dependent;
1494           };
1495           
1496           
1497 karl  1.1 // ===================================================================
1498           //    PRS_Address
1499           // ===================================================================
1500           
1501           [
1502               Description ("Provides address information for PRS_ContactItem")
1503           ]
1504           class PRS_Address : PRS_ExchangeElement
1505           {
1506               [
1507                   ValueMap {"0", "1", "2", "3", "254", "255"}, 
1508                   Values {"Primary", "Shipping", "Billing", "Service", "Other", "Unknown"},
1509                   Description ("The type of address.")
1510           	]
1511               uint8 AddressType;
1512           
1513               [
1514                   Description ("First line of address information.")
1515           	]
1516               string Address1;
1517           
1518 karl  1.1     [
1519                   Description ("Second line of address information.")
1520           	]
1521               string Address2;
1522           
1523               [
1524                   Description ("Third line of address information.")
1525           	]
1526               string Address3;
1527           
1528               [
1529                   Description ("Fourth line of address information.")
1530           	]
1531               string Address4;
1532           
1533               [
1534                   Description ("The city.")
1535           	]
1536               string City;
1537           
1538               [
1539 karl  1.1         Description ("The specific region, such as state or province.")
1540           	]
1541               string Region;
1542           
1543               [
1544                   Description ("The country's postal code for the address")
1545           	]
1546               string PostalCode;
1547           
1548               [
1549                   Description ("The time zone of the address.")
1550           	]
1551               string TimeZone;
1552           
1553               [
1554                   Description ("The country code, based on ISO/IEC 3166.")
1555           	]
1556               string Country;
1557           };
1558           
1559           
1560 karl  1.1 // ===================================================================
1561           //    PRS_ContactItemAddress
1562           // ===================================================================
1563           
1564           [
1565               Association, 
1566               Description ("Associates PRS_ContactItem with PRS_Address.")
1567           ]
1568           class PRS_ContactItemAddress : CIM_Dependency
1569           {
1570           
1571               [   
1572                   Min(1),
1573                   Override ("Antecedent"),
1574                   Description ("The PRS_ContactItem.")
1575               ]
1576               PRS_ContactItem REF Antecedent;
1577           
1578               [
1579                   Override ("Dependent"),
1580                   Description ("The PRS_Address.")
1581 karl  1.1 	]
1582               PRS_Address REF Dependent;
1583           };
1584           
1585           
1586           // ===================================================================
1587           //    PRS_Location
1588           // ===================================================================
1589           
1590           [
1591               Description ("PRS_Location describes the location of a a PRS_Address.")
1592           ]
1593           class PRS_Location : PRS_ExchangeElement
1594           {
1595           
1596               [
1597                   ValueMap {"0", "1", "2", "3", "4", "254", "255"}, 
1598                   Values {"Primary_Voice", "Alternate_Voice", "Fax", "Email", "URL", "Other", 
1599                       "Unknown"},
1600                   Description ("The type of location.")
1601           	]
1602 karl  1.1     uint8 LocationType;
1603           
1604               [
1605                   Description ("The specific location.")
1606           	]
1607               string LocationID;
1608           };
1609           
1610           
1611           // ===================================================================
1612           //    PRS_Address Location
1613           // ===================================================================
1614           
1615           [
1616               Association, 
1617               Description ("Associates PRS_Address and PRS_Location.")
1618           ]
1619           class PRS_AddressLocation : CIM_Dependency
1620           {
1621               [
1622                   Override ("Antecedent"),        
1623 karl  1.1         Min(1),
1624                   Description ("The PRS_Address.")
1625           
1626           	]
1627               PRS_Address REF Antecedent;
1628           
1629               [
1630                   Override ("Dependent"),
1631                   Description ("The PRS_Location")
1632           	]
1633               PRS_Location REF Dependent;
1634           };
1635           
1636           
1637           // ===================================================================
1638           //    PRS_Attachment
1639           // ===================================================================
1640           
1641           [
1642               Description (
1643                   "PRS_Attachment describes file attachments. A PRS_Attachment may be "
1644 karl  1.1         "associated to any object derived from PRS_ExchangeElement. "
1645                   "PRS_Attachment is used to attach objects of any type including binary " 
1646                   "files, ASCII documents, or URLs. "
1647                   "Only one object may be attached per PRS_Attachment. \n"
1648                   "/n"
1649                   "The actual attachment carried by the Attachment object is included "
1650                   "in one of two methods: by reference or by value as an embedded object. "
1651                   "A by reference method links indirectly to the attachment through the use of "
1652                   "a string identifier, e.g. a file name. An embedded object method "
1653                   "means the actual binary data is included in PRS_Attachment."
1654               )
1655           ]
1656           class PRS_Attachment : PRS_ExchangeElement
1657           {
1658               [
1659                   Description (
1660                       "If the attachment is not embedded, where the attachment "
1661                       "is located."
1662                   )
1663           	]
1664               string AttachmentReference;
1665 karl  1.1 
1666               [
1667                   Description ("Protocol required to read the attachment (e.g., http).")
1668           	]
1669               string Protocol;
1670           
1671               [
1672                   Description ("The file format of the attachment.")
1673           	]
1674               string Format;
1675           
1676               [
1677                   Description ("The size of the attachment in bytes.")
1678           	]
1679               string AttachmentSize;
1680           
1681               [
1682                   Description ("The attachment itself, if embedded.")
1683           	]
1684               string AttachmentObject;
1685           
1686 karl  1.1     [
1687                   ValueMap {"0", "1", "2", "254", "255"},
1688                   Values {"Instructions", "Background", "Log", "Unknown", "Undefined"}, 
1689                   Description (
1690                       "The purpose of the attachment, related to the diagnosis. "
1691                       "'Instructions' are compilable code. "
1692                       "'Background' are descriptive information. "
1693                       "'Log' is information captured in a log file. "
1694                   )
1695           	]
1696               uint8 AttachmentType;
1697           
1698               [
1699                   Description (
1700                       "The displayable attachment identifier. Used to define what will "
1701                       "appear as the name of the attachment, as opposed to the specific "
1702                       "attachment file name or URL. "
1703                   )
1704           	]
1705               string AttachmentName;
1706           };
1707 karl  1.1 
1708           
1709           // ===================================================================
1710           //    PRS_Attached
1711           // ===================================================================
1712           
1713           [
1714               Association, 
1715               Description ("Associates PRS_Attachment with PRS_ExchangeElement.")
1716           ]
1717           class PRS_Attached : CIM_Dependency
1718           {
1719               [
1720                   Override ("Antecedent"),        
1721                   Description ("The PRS_Attachment.")
1722           	]
1723               PRS_Attachment REF Antecedent;
1724           
1725               [
1726                   Override ("Dependent"),        
1727                   Min(1),
1728 karl  1.1         Description ("The PRS_ExchangeElement.")
1729               ]
1730               PRS_ExchangeElement REF Dependent;
1731           };
1732           
1733           
1734           // ===================================================================
1735           // ===================================================================
1736           //    Service Incident Exchange information
1737           // ===================================================================
1738           // ===================================================================
1739           
1740           // ===================================================================
1741           //    ServiceIncident
1742           // ===================================================================
1743           
1744           [
1745               Description (
1746                   "PRS_ServiceIncident contains the fundamental information related to "
1747                   "a specific incident : its identity, status, priority, etc. "
1748                   "The actual incident data, including specific transactions and "
1749 karl  1.1         "resolution information, is contained in the objects associated "
1750                   "with PRS_ServiceIncident.  These include specific Problem, "
1751                   "Resolution and Activity related objects accrued through the "
1752                   "Transaction workflow."
1753               )
1754           ]
1755           class PRS_ServiceIncident : PRS_ExchangeElement
1756           {
1757           
1758               [
1759                   Description (
1760           	        "The unique identifier for this incident assigned by the Requester"
1761                   )
1762               ]
1763               string RequesterID;
1764           	
1765               [
1766                   Description (
1767           	        "The unique identifier for this incident assigned by the Provider")
1768           	]
1769               string ProviderID;
1770 karl  1.1 
1771           	[
1772                   ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "254", "255"}, 
1773                   Values {
1774                       "Beginning_State", "Not_Entitled", "Entitled", 
1775                       "Problem_Submitted", "Open_Requester", "Open_Provider",
1776                       "Closed_Pending_Confirmation", "Closed", "Other", "Unknown"
1777                   },
1778           	    Description (
1779                       "The state of the incident within the Service Incident Exchange "
1780                       "Standard transaction model."
1781                   )
1782           	]
1783               uint8 CurrentState;
1784           
1785               [
1786                   Values {"1", "2", "3", "4", "5"}, 
1787                   Description (
1788                       "The severity of the incident as defined by the Requester. "
1789                       "One is the most severe and five is the least severe. "
1790                   )
1791 karl  1.1 	]
1792               uint8 RequesterSeverity;
1793           
1794           	[
1795                   Values {"1", "2", "3", "4", "5"}, 
1796                   Description (
1797                       "The priority of the incident as defined by the Requester. "
1798                       "One is the highest priority and five is the lowest priority."
1799                   )
1800           	]
1801               uint8 ProviderPriority;
1802           
1803               [
1804                   Description (
1805           	        "The explicit time the Requester expects a response. "
1806                   )
1807           	]
1808               datetime ResponseTime;
1809           
1810               [
1811                   Description (
1812 karl  1.1 	        "Status of the incident according to the workflow"
1813                   )
1814           	]
1815               string WorkflowStatus;
1816           
1817               [
1818                   Description (
1819           	        "Additional general information about the incident"
1820                   )
1821               ]
1822               string Comment;
1823           
1824               [
1825                   ValueMap {"0", "1", "254", "255"},
1826                   Values {"Yes", "No", "Other", "Unknown"}, 
1827                   Description (
1828           	        "Is the Requester entitled to service or not? "
1829                   )
1830           	]
1831               uint8 Entitled;
1832           
1833 karl  1.1     [
1834                   ValueMap {"0", "1", "254", "255"},
1835                   Values {"Yes", "No", "Other", "Unknown"}, 
1836                   Description (
1837           	        "Was the last transaction was accepted or rejected? "
1838                   )
1839           	]
1840               uint8 Acknowledge;
1841           
1842               [
1843                   Description(
1844                       "The use of the TransactionName property is deprecated.  New Service "
1845                       "Incidents should use the LastTransaction property and set this "
1846                       "property to NULL. "
1847                   ),
1848           
1849                   Deprecated {
1850                       "PRS_ServiceIncident.LastTransaction"
1851                   }	
1852               ]
1853               string TransactionName;
1854 karl  1.1     [
1855                   ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "254",
1856                       "255"}, 
1857                   Values {
1858                       "Service_Request", "Entitlement", "Problem_Submittal", 
1859                       "Accept_Problem", "Problem_Resolution", "Request_Problem_Information", 
1860                       "Provide_Problem_Information", "Provide_Admin_Information", 
1861                       "Query_Incident", "Confirm_Close", "Reject_Resolution", "Request_Closure", 
1862                       "Other", "Unknown"}, 
1863                   Description(
1864           	        "The name of the last transaction which was acknowledged."
1865                   )
1866           	]
1867               uint8 LastTransaction;
1868           
1869           };
1870           
1871           
1872           // ===================================================================
1873           //    PRS_Service Requester   
1874           // ===================================================================
1875 karl  1.1 
1876           [
1877               Association, 
1878               Description (
1879                   "PRS_ServiceRequester associates a PRS_Service Incident with "
1880                   "a PRS_Contact representing the entity requesting service. "
1881                   "Note that the Contact class is used for both Requesters and "
1882                   "Providers, the context is determined by which association exists. "
1883               )
1884           ]
1885           class PRS_ServiceRequester : CIM_Dependency
1886           {
1887               [
1888                   Override("Antecedent"),
1889                   Description ("The PRS_ServiceIncident.")
1890               ]
1891               PRS_ServiceIncident REF Antecedent;
1892           
1893               [
1894                   Min (1), Max (1),
1895                   Override("Dependent"),
1896 karl  1.1         Description ("The PRS_Contact")
1897               ]
1898               PRS_Contact REF Dependent;
1899           };
1900           
1901           
1902           // ===================================================================
1903           //    PRS_ServiceProvider   
1904           // ===================================================================
1905           
1906           [
1907               Association, 
1908               Description (
1909                   "Associates PRS_ServiceIncident to PRS_Contact to describe the "
1910                   "Service Provider. "
1911               )
1912           ]
1913           class PRS_ServiceProvider : CIM_Dependency
1914           {
1915           
1916               [
1917 karl  1.1         Override("Antecedent"),
1918                   Description ("The PRS_ServiceIncident.")
1919           	]
1920               PRS_ServiceIncident REF Antecedent;
1921           
1922               [
1923                   Min (1), Max (1),
1924                   Override("Dependent"),
1925                   Description ("The PRS_Contact.")
1926           	]
1927               PRS_Contact REF Dependent;
1928           };
1929           
1930           
1931           // ===================================================================
1932           //    PRS_ServiceProblem
1933           // ===================================================================
1934           
1935           [
1936               Association, 
1937               Description (
1938 karl  1.1         "Associates PRS_ServiceIncident to PRS_Problem to describe the "
1939                   "Problem being submitted to the Service Provider."
1940               )
1941           ]
1942           class PRS_ServiceProblem : CIM_Dependency
1943           {
1944               [
1945                   Min (1),
1946                   Override("Antecedent"),
1947                   Description ("The PRS_ServiceIncident.")
1948           	]
1949               PRS_ServiceIncident REF Antecedent;
1950           
1951               [
1952                   Max (1),
1953                   Override("Dependent"),
1954                   Description ("The PRS_Problem.")
1955           	]
1956               PRS_Problem REF Dependent;
1957           };
1958           
1959 karl  1.1 
1960           // ===================================================================
1961           //    PRS_ServiceResolutionSolution
1962           // ===================================================================
1963           
1964           [
1965               Association,  
1966               Aggregation,
1967               Description (
1968                    "Associates PRS_ServiceIncident to PRS_Solution to describe the "
1969                    "Resolutions proposed by the Service Provider. "
1970               )
1971           ]
1972           class PRS_ServiceResolutionSolution : CIM_Dependency
1973           {
1974           
1975               [
1976                   Aggregate, 
1977                   Override("Antecedent"),
1978                   Description ("The PRS_ServiceIncident.")
1979           	]
1980 karl  1.1     PRS_ServiceIncident REF Antecedent;
1981           
1982               [
1983                   Override("Dependent"),
1984                   Description (
1985                       "The PRS_Solution.  PRS_Solution must be associated with at least "
1986                       "one Resolution. "
1987                   )
1988               ]
1989               PRS_Solution REF Dependent;
1990           };
1991           
1992           
1993           // ===================================================================
1994           //    PRS_Agreement 
1995           // ===================================================================
1996           
1997           [
1998               Description (
1999                    "The agreement or contract referenced for entitlement to service."
2000               )
2001 karl  1.1 ]
2002           class PRS_Agreement : PRS_ExchangeElement
2003           {
2004           
2005               [
2006                   Description (
2007                       "The identifier for the contract between the Request and "
2008                       "the Provider. This property is set by the Requester "
2009                       "prior to submitting a Service Request. "
2010                   ) 
2011               ]
2012               string ContractID;
2013           
2014               [
2015                   Description (
2016                       "A brief description of the contract."
2017                   )
2018           	]
2019               string AgreementType;
2020           };
2021           
2022 karl  1.1 
2023           // ===================================================================
2024           //    PRS_ServiceAgreement 
2025           // ===================================================================
2026           
2027           [
2028               Association, 
2029               Description ("Associates PRS_ServiceIncident to PRS_Agreement. ")
2030           ]
2031           class PRS_ServiceAgreement : CIM_Dependency
2032           {
2033           
2034               [
2035                   Override("Antecedent"),
2036                   Description ("The PRS_ServiceIncident.")
2037               ]
2038               PRS_ServiceIncident REF Antecedent;
2039           
2040               [
2041                   Min (1), Max (1),
2042                   Override("Dependent"),
2043 karl  1.1         Description ("The PRS_Agreement.")
2044               ]
2045               PRS_Agreement REF Dependent;
2046           };
2047           
2048           
2049           // ===================================================================
2050           //    PRS_Activity
2051           // ===================================================================
2052           
2053           [
2054               Description (
2055                   "Describes the date of each transaction and the objects involved. "
2056               )
2057           ]
2058           class PRS_Activity : PRS_ExchangeElement
2059           {
2060           
2061               [
2062                   Description (
2063                       "The key fields for the objects in the associated Transaction. "
2064 karl  1.1             "The use of this property is deprecated.  The PRS_SISService "
2065                       "StartSISTransaction method uses the New, Modified and Deleted "
2066                       "properties instead of this field.  This field is set to NULL "
2067                       "by the StartSISTransaction method if the other properties are "
2068                       "used. "
2069                   ),
2070               
2071                   Deprecated {
2072                       "PRS_Activity.NewKeys",
2073           		"PRS_Activity.Deleted",
2074           		"PRS_Activity.Modified"
2075                   }
2076           	]
2077               string ParameterList;
2078           
2079               [
2080                   Description (
2081                       "The key fields for the objects added in the associated Transaction. "
2082                       "This property is set by the PRS_SISService StartSISTransaction method."
2083                   )	
2084               ]
2085 karl  1.1     string NewKeys;
2086           
2087               [
2088                   Description (
2089                       "The key fields for objects deleted in the associated Transaction. "
2090                       "This property is set by the PRS_SISService StartSISTransaction method."
2091                   )
2092               ]
2093               string Deleted;
2094           
2095               [
2096                   Description (
2097                       "The key fields for objects modified in the associated Transaction. "
2098                       "This property is set by the PRS_SISService StartSISTransaction method."
2099                   )
2100               ]
2101               string Modified;
2102           
2103               [
2104                   Description (
2105                       "The date of the Activity.  This property is set by the PRS_SISService "
2106 karl  1.1             "StartSISTranasaction method. "
2107                   )
2108           	]
2109               datetime LocalDate;
2110           
2111               [
2112                   Description ("Description of the activity performed. ")
2113               ]
2114               string ActionLog;
2115           };
2116           
2117           
2118           // ===================================================================
2119           //    PRS_Transaction
2120           // ===================================================================
2121           
2122           [
2123               Description (
2124                   "PRS_Transaction represents a single transaction of the Service "
2125                   "Incident workflow.  A PRS_Transaction instance is created by the "
2126                   "PRS_SISService StartTransaction method. "
2127 karl  1.1     )
2128           ]
2129           class PRS_Transaction : PRS_ExchangeElement
2130           {
2131               [
2132           	    ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "254",
2133                         "255"},
2134                   Values {
2135                       "Service_Request", "Entitlement", "Problem_Submittal", 
2136                       "Accept_Problem", "Problem_Resolution", "Request_Problem_Information", 
2137                       "Provide_Problem_Information", "Provide_Admin_Information", 
2138                       "Query_Incident", "Confirm_Close", "Reject_Resolution", "Request_Closure", 
2139                       "Other", "Unknown"
2140                   }, 
2141                   Description (
2142                       "The specific SIS transaction represented by this PRS_Transaction instance. "
2143           	    )
2144               ]
2145               uint8 TransactionType;
2146           
2147               [
2148 karl  1.1 	    ValueMap {"0", "1", "2", "3"},
2149           	    Values {"Open", "Working", "Closed", "Notification_Pending"}, 
2150                   Description (
2151                       "The current state of this transaction.  This value is manipulated "
2152                       "by the PRS_SISService:StartSISTransaction and SetSISTransactionComplete "
2153                       "method implementations.  This property is not intended to be written "
2154                       "by management applications."
2155                   )
2156               ]
2157               uint8 TransactionState;
2158           
2159               [
2160           	    Description (
2161                       "The status of the transaction after it has reached the 'Closed' "
2162                       "state.  A CompletionStatus of zero (0) means the tranasaction "
2163                       "completed successfully.  A non-zero CompletionStatus indicates the "
2164                       "transaction did not complete successfully.  Non-zero values are "
2165                       "implementation-specific.  While the transaction is 'Open' or "
2166                       "'Working' the CompletionStatus property shall be zero (0). "
2167                       "See the description for PRS_SISService "
2168                       "for the definition of the contents of this property. "
2169 karl  1.1         )
2170               ]
2171               uint32 CompletionStatus;
2172           };
2173           
2174           
2175           // ===================================================================
2176           //    PRS_SISService
2177           // ===================================================================
2178           
2179           [
2180               Description (
2181                   "The PRS_SISService is used as a class factory for PRS_Transactions."
2182               )
2183           ]
2184           class PRS_SISService : CIM_Service
2185           {
2186               [
2187                   Description (
2188                       "When invoked on a local system, this method validates the objects "
2189                       "in the local repository are sufficient for the indicated "
2190 karl  1.1             "TransactionType.  If not, an error is returned and no additional "
2191                       "processing is performed.  If the repository is successfully "
2192                       "validated, this method creates a PRS_Transaction instance for "
2193                       "return to the caller.\n"
2194                       "\n"
2195                       "This method also reviews the repository looking for new, modified "
2196                       "or deleted objects.  As these objects are located, the keys for "
2197                       "these objects are appended to the related strings in the PRS_Activity "
2198                       "instance specified by a parameter to this method.\n"
2199                       "\n"
2200                       "After all the appropriate new, modified or deleted objects have "
2201                       "been located, this method invokes the PRS_SISService StartSISTransaction "
2202                       "method on the remote system specified by the objects related to the "
2203                       "Service Incident associated with the PRS_Activity instance specified "
2204                       "as a method parameter.  The TransactionType and PRS_Activity REF "
2205                       "is forward to the remote system as method parameters as well as the "
2206                       "PRS_Transaction REF for the instance created by this method.\n"
2207                       "\n"
2208                       "The remote system creates a child namespace using the PRS_Transaction REF "
2209                       "for the name.  The local system than transfers all of the New, Modified "
2210                       "and Deleted objects to namespace on the remote system.  Once all objects "
2211 karl  1.1             "have been successfully transferred, the PRS_SISService EndSISTransaction "
2212                       "method is invoked on the remote system with a Status value of zero to "
2213                       "indicate the remote system should attempt to commit the transaction to "
2214                       "the remote repository./n"
2215                       "/n"
2216                       "The remote system passes the results of the remote commit back to the "
2217                       "originating system by invoking the PRS_SISService SetSISTransactionComplete "
2218                       "method on the system that originated the SIS transaction.  The "
2219                       "CompletionStatus method parameter indicates whether the remote commit was "
2220                       "successful.  If the CompletionStatis is zero, the remote commit was "
2221                       "successfult.  If it was unsuccessful, the objects were not applied to the "
2222                       "remote repository and the CompletionStatus is not zero indicating the error. "
2223                       "The local invocation of the SetSISTransactionComplete method updates the "
2224                       "specified PRS_Transaction's State to Closed and the Status to the valid "
2225                       "provided by the remote system as the CompletionStatus method parameter.\n"
2226                       "\n"
2227                       "In order to promote extensibility, the uint32 values used for return codes "
2228                       "method CompletionStatus parameters are mapped into three "
2229                       "significant sections.  The first describes the type of value being reported. "
2230                       "These include Error versus Notification and Standard versus "
2231                       "Vendor-specific.\n"
2232 karl  1.1             "\n"
2233                       "The second section describes the source of the value.  These include Method, "
2234                       "Operating System, Repository, or Transport.  In addition, this section "
2235                       "indicates whether the value was created locally or remotely.\n"
2236                       "\n"
2237                       "The third section is the specific return value.\n"
2238                       "\n"
2239                       "If all 32 bits of the return value are reset, the method completed "
2240                       "successfully.  Any other value indicates an error condition or notification. "
2241                       "If D31 is set, the method did not complete successfully.  If D31 is reset, "
2242                       "but the rest of the return value is non-zero, this is a Notification that "
2243                       "the operation did complete successfully, but the source of the value feels "
2244                       "there is a condition that caller needs to be aware exists.\n"
2245                       "\n"
2246                       "If D30 is set, the return value is vendor specific.  If D30 is reset, the "
2247                       "return value is defined by the standard.\n"
2248                       "\n"
2249                       "If D29 is set, the return value was generated by a remote system.  If D29 is "
2250                       "reset, the return value was generated locally.  The bit is always set or "
2251                       "reset by the local system.  The local system sets the bit if it receives a "
2252                       "non-zero return value from a remote method invocation.\n"
2253 karl  1.1             "\n"
2254                       "Bit D28 is reserved for future and shall be reset on all return values.\n"
2255                       "\n"
2256                       "When there is an error or notification, D24 through D27 indicate the source "
2257                       "of the error.  The following sources are currently defined (D24 is the least "
2258                       "significant bit below):\n"
2259                       "\n"
2260           	        "   0000    Method\n"
2261                       "   0001    Operating System\n"
2262                       "   0010    Repository\n"
2263                       "   0011    Transport\n"
2264                       "           All remaining values are reserved.\n"
2265                       "\n"
2266                       "Bits D16 through D23 are reserved for future use and shall be reset to "
2267                       "zero.\n"
2268                       "\n"
2269                       "Bits D0 through D15 indicate the specific return value.  If zero, all other "
2270                       "bits in the return value must be zero, indicating successful completion of "
2271                       "the method (or Transaction). "
2272                   )
2273               ]
2274 karl  1.1     uint32 StartSISTransaction (
2275           	    [
2276           	        ValueMap {
2277                           "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", 
2278                           "254", "255"
2279                       },
2280                       Values {
2281                           "Service_Request", "Entitlement", "Problem_Submittal", 
2282                           "Accept_Problem", "Problem_Resolution", "Request_Problem_Information", 
2283                           "Provide_Problem_Information", "Provide_Admin_Information", 
2284                           "Query_Incident", "Confirm_Close", "Reject_Resolution", "Request_Closure", 
2285                           "Other", "Unknown"
2286                       }, 
2287           	        IN
2288           	    ] 
2289                   uint8 TransactionType,
2290           
2291           	    [IN] PRS_Activity REF ActivityRef,
2292           
2293                   [IN, OUT] PRS_Transaction REF TransactionRef
2294               );
2295 karl  1.1     [
2296                   Description(
2297                       "The EndSISTransaction method is used to handle committing or aborting "
2298                       "a transaction.  For commit, the method is invoked by a remote system "
2299                       "when all of the objects associated to the transaction have been "
2300                       "placed in the child namespace created by StartSISTransaction.\n"
2301                       "\n"
2302                       "For abort, the method cleans up the child namespace and closes the "
2303                       "specified PRS_Transaction, setting the CompletionStatus to the method "
2304                       "parameter of the same name. "
2305                   )
2306               ]
2307               uint32 EndSISTransaction (
2308                   [
2309                       IN,
2310                       Description(
2311                           "Status indicates whether the transaction is to "
2312                           "be committed or aborted.  If Status is zero, the transaction is "
2313                           "to be committed.  If Status is non-zero, it indicates the "
2314                           "transaction is to be aborted.  If the transaction is being "
2315                           "aborted, the Status field is passed back to the originating system "
2316 karl  1.1                 "as the CompletionStatus parameter for the PRS_SISService "
2317                           "SetSISTransactionComplete method.  See the description for "
2318                           "PRS_SISService "
2319                           "for the definition of the contents of this property. "
2320                       )   
2321                   ]
2322                   uint32 Status,
2323                   [
2324                       IN,
2325                       Description(
2326                           "TransactionRef identifies the PRS_Transaction to commit or abort. "
2327                           "If this property is NULL or does not identify an 'Open' transaction, "
2328                           "this method returns an error. "
2329                       )
2330                   ]
2331                   PRS_Transaction REF TransactionRef
2332               );
2333               [
2334                   Description(
2335                       "SetSISCompletionStatus is used to signal the system that originated an "
2336                       "SIS transaction that the remote system has completed processing of the "
2337 karl  1.1             "transaction.  If the processing was successful, as indicated by the "
2338                       "CompletionStatus method parameter, the local system resets the DirtyFlag "
2339                       "for all of the objects identified in the PRS_Activity instance associated "
2340                       "to the PRS_Transaction specified. "
2341                   )
2342               ]
2343               uint32 SetSISCompletionStatus (        [
2344                       IN,
2345                       Description(
2346                           "CompletionStatus is used to set the CompletionStatus field of the "
2347                           "specified PRS_Transaction.  If zero, the SIS transaction was "
2348                           "completed successfully.  If non-zero, an error occurred and the "
2349                           "objects provided by StartSISTransaction were not submitted to the "
2350                           "remote repository.  See the description for PRS_SISService "
2351                           "for the definition of the contents of this property. "
2352                       )
2353                   ]
2354                   uint32 CompletionStatus,
2355                   [
2356                       IN,
2357                       Description(
2358 karl  1.1                 "TransactionRef identifies the PRS_Transaction that has completed. "
2359                           "If this property is NULL or does not identify an 'Open' transaction, "
2360                           "this method returns an error. "
2361                       )
2362                   ]
2363                   PRS_Transaction REF TransactionRef
2364               );
2365           };
2366           
2367           
2368           // ===================================================================
2369           //    PRS_Service Activity 
2370           // ===================================================================
2371           
2372           [
2373               Association, 
2374               Aggregation, 
2375               Description ("Associates PRS_ServiceIncident to PRS_Activity.")
2376           ]
2377           class PRS_ServiceActivity : CIM_Dependency
2378           {
2379 karl  1.1 
2380               [
2381                   Aggregate,
2382                   Min(1), Max (1),
2383                   Override("Antecedent"),
2384                   Description ("The PRS_ServiceIncident.")
2385           	]
2386               PRS_ServiceIncident REF Antecedent;
2387           
2388               [
2389                    Override("Dependent"),
2390                    Description ("The PRS_Activity.")
2391               ]
2392               PRS_Activity REF Dependent;
2393           };
2394           
2395           
2396           // ===================================================================
2397           //    PRS_ActivityContact
2398           // ===================================================================
2399           
2400 karl  1.1 [
2401               Association, 
2402               Description ("Associates PRS_Activity with PRS_Contact.")
2403           ]
2404           class PRS_ActivityContact : CIM_Dependency
2405           {
2406           
2407               [   
2408                   Override("Antecedent"),
2409                   Description ("The PRS_Activity.")
2410           	]
2411               PRS_Activity REF Antecedent;
2412           
2413               [
2414                   Max (1),
2415                   Override("Dependent"),
2416                   Description ("The PRS_Contact.")
2417               ]
2418               PRS_Contact REF Dependent;
2419           };
2420           
2421 karl  1.1 
2422           // ===================================================================
2423           //    PRS_Activity Resource
2424           // ===================================================================
2425           
2426           [
2427               Association, 
2428               Aggregation, 
2429               Description ("Associates PRS_Activity with PRS_Resource")
2430           ]
2431           class PRS_ActivityResource : CIM_Dependency
2432           {
2433           
2434               [
2435                   Aggregate, 
2436                   Min (1), Max (1),
2437                   Override("Antecedent"),
2438                   Description ("The PRS_Activity.")
2439               ]
2440               PRS_Activity REF Antecedent;
2441           
2442 karl  1.1     [
2443                   Override("Dependent"),
2444                   Description ("The PRS_Resource.")
2445               ]
2446               PRS_Resource REF Dependent;
2447           };
2448           
2449           
2450           // ===================================================================
2451           // Activity Transaction
2452           // ===================================================================
2453           
2454           [
2455               Association, 
2456               Description ("Associates PRS_Activity with PRS_Transaction.")
2457           ]
2458           class PRS_ActivityTransaction : CIM_Dependency
2459           {
2460               [
2461                   Min (1), Max (1),
2462                   Override("Antecedent"),
2463 karl  1.1         Description ("The PRS_Activity.")
2464               ]
2465               PRS_Activity REF Antecedent;
2466           
2467               [
2468                   Min (1), Max (1),
2469                   Override("Dependent"),
2470               	Description ("The PRS_Transaction.")
2471               ]
2472               PRS_Transaction REF Dependent;
2473           };
2474           
2475           
2476           // ===================================================================
2477           // end of file
2478           // ===================================================================
2479           
2480           
2481           
2482           
2483           

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2