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