1 tony 1.1 // ===================================================================
2 // Title: Core Device 2.8
3 // Filename: Core28_Device.mof
4 // Version: 2.8
5 // Release: Preliminary
6 // Date: 08/18/2003
7 // ===================================================================
8 // Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given. 225
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 tony 1.1 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 tony 1.1 // ===================================================================
44 // Description: The Core Model defines basic management concepts.
45 // This file defines the concepts for LogicalDevices (the
46 // logical abstractions and management of installed
47 // hardware).
48 //
49 // The object classes below are listed in an order that
50 // avoids forward references. Required objects, defined
51 // by other working groups, are omitted.
52 // ==================================================================
53 // Change Log for v2.8 Preliminary
54 // CR932 - Add power mode status to OperationalStatus.
55 // Move the specific power mode states from availability
56 // to a property between the PowerMgmt service and its ME.
57 // Remove the overlapping properties from Logical Device.
58 // CR943 - Move error code data from LogicalDevice to
59 // DeviceErrorCountData
60 // CR1002 - Move LogicalDevice.PowerOnHours and
61 // LogicalDevice.TotalPowerOnHours to PowerManagementStatistics
62 // CR1019 - CIM Versioning for 2.8 Preliminary
63 // CR1045 - Add method for requesting a "EnabledState" change in
64 tony 1.1 // EnabledLogicalElement class / Deprecate or explain overlap
65 // with LogicalDevice and Service properties and methods
66 // CR1092 - Move DeviceSoftwareIdentity to Core28_Device.mof from
67 // Device28_DeviceElements.
68 //
69 // Change Log for v2.7 Final
70 // CR961 - Change references to EnabledStatus and RequestedStatus to
71 // EnabledState and RequestedState in the LogicalDevice.
72 // StatusInfo,
73 // EnableDevice(),
74 // OnlineDevice(),
75 // QuiesceDevice()
76 //
77 // Change Log for v2.7
78 // CR624 - Fixed several of the DMI mapping strings that were missing
79 // the attribute number in LogicalDevice
80 // CR720 - Deprecate the use of LogicalDevice.PowerManagementSupported,
81 // LogicalDevice.PowerManagementCapabilities, & LogicalDevice.
82 // SetPowerState()
83 // CR761 - Add the Composition Qualifer to SystemDevice
84 // CR763 - Change subclassing of LogicalDevice from LogicalElement to
85 tony 1.1 // EnabledLogicalElement
86 // - Deprecate LogicalDevice.StatusInfo
87 // - Update description of LogicalDevice.EnableDevice() to
88 // explain position relative to LogicalDevice.RequestedStatus
89 // - Update description of LogicalDevice.OnlineDevice() and
90 // QuiesceDevice to make reference to EnabledStatus
91 // ==================================================================
92
93 #pragma locale ("en_US")
94
95
96 // ===================================================================
97 // LogicalDevice
98 // ===================================================================
99 [Abstract, Version ("2.7.1000"), Description (
100 "An abstraction or emulation of a hardware entity, that may or "
101 "may not be Realized in physical hardware. Any characteristics "
102 "of a LogicalDevice that are used to manage its operation or "
103 "configuration are contained in, or associated with, the "
104 "LogicalDevice object. Examples of the operational properties "
105 "of a Printer would be paper sizes supported, or detected "
106 tony 1.1 "errors. Examples of the configuration properties of a Sensor "
107 "Device would be threshold settings. Various configurations "
108 "could exist for a LogicalDevice. These configurations could "
109 "be contained in Setting objects and associated with the "
110 "LogicalDevice.") ]
111 class CIM_LogicalDevice : CIM_EnabledLogicalElement {
112
113 [Key, Propagated ("CIM_System.CreationClassName"), Description (
114 "The scoping System's CreationClassName."),
115 MaxLen (256) ]
116 string SystemCreationClassName;
117
118 [Key, Propagated ("CIM_System.Name"), Description (
119 "The scoping System's Name."),
120 MaxLen (256) ]
121 string SystemName;
122
123 [Key, Description (
124 "CreationClassName indicates the name of the class or the "
125 "subclass used in the creation of an instance. When used "
126 "with the other key properties of this class, this property "
127 tony 1.1 "allows all instances of this class and its subclasses to be "
128 "uniquely identified."),
129 MaxLen (256) ]
130 string CreationClassName;
131
132 [Key, Description (
133 "An address or other identifying information to uniquely "
134 "name the LogicalDevice."),
135 MaxLen (64) ]
136 string DeviceID;
137
138 [Deprecated {"CIM_PowerManagementCapabilities"}, Description (
139 "Boolean indicating that the Device can be power managed. "
140 "The use of this property has been deprecated. Instead, the "
141 "existence of an associated PowerManagementCapabilities "
142 "class (associated using the ElementCapabilities "
143 "relationhip) indicates that power management is supported.") ]
144 boolean PowerManagementSupported;
145
146 [Deprecated {"CIM_PowerManagementCapabilities.PowerCapabilities"},
147 Description (
148 tony 1.1 "An enumerated array describing the power management "
149 "capabilities of the Device. The use of this property has "
150 "been deprecated. Instead, the PowerCapabilites property in "
151 "an associated PowerManagementCapabilities class should be "
152 "used."),
153 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"},
154 Values {"Unknown", "Not Supported", "Disabled", "Enabled",
155 "Power Saving Modes Entered Automatically",
156 "Power State Settable", "Power Cycling Supported",
157 "Timed Power On Supported"} ]
158 uint16 PowerManagementCapabilities[];
159
160 [Deprecated {"CIM_AssociatedPowerManagementService.PowerState",
161 "CIM_ManagedSystemElement.OperationalStatus",
162 "CIM_EnabledLogicalElement.EnabledStatus"}, Description (
163 "The primary availability and status of the Device. "
164 "(Additional status information can be specified using the "
165 "Additional Availability array property.) For example, the "
166 "Availability property indicates that the Device is running "
167 "and has full power (value=3), or is in a warning (4), test "
168 "(5), degraded (10) or power save state (values 13-15 and "
169 tony 1.1 "17). Regarding the Power Save states, these are defined as "
170 "follows: Value 13 (\"Power Save - Unknown\") indicates that "
171 "the Device is known to be in a power save mode, but its "
172 "exact status in this mode is unknown; 14 (\"Power Save - "
173 "Low Power Mode\") indicates that the Device is in a power "
174 "save state but still functioning, and may exhibit degraded "
175 "performance; 15 (\"Power Save - Standby\") describes that "
176 "the Device is not functioning but could be brought to full "
177 "power 'quickly'; and value 17 (\"Power Save - Warning\") "
178 "indicates that the Device is in a warning state, though "
179 "also in a power save mode."),
180 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
181 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
182 "21"},
183 Values {"Other", "Unknown", "Running/Full Power", "Warning",
184 "In Test", "Not Applicable", "Power Off", "Off Line",
185 "Off Duty", "Degraded", "Not Installed", "Install Error",
186 "Power Save - Unknown", "Power Save - Low Power Mode",
187 "Power Save - Standby", "Power Cycle",
188 "Power Save - Warning", "Paused", "Not Ready",
189 "Not Configured", "Quiesced"},
190 tony 1.1 MappingStrings {"MIF.DMTF|Operational State|006.5",
191 "MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus",
192 "MIF.DMTF|Host Device|001.5"},
193 ModelCorrespondence {
194 "CIM_LogicalDevice.AdditionalAvailability"} ]
195 uint16 Availability;
196
197 [Deprecated {"CIM_EnabledLogicalElement.EnabledStatus"},
198 Description (
199 "The StatusInfo property indicates whether the Logical "
200 "Device is in an enabled (value = 3), disabled (value = 4) "
201 "or some other (1) or unknown (2) state. If this property "
202 "does not apply to the LogicalDevice, the value, 5 (\"Not "
203 "Applicable\"), should be used. StatusInfo has been "
204 "deprecated in lieu of a more clearly named property with "
205 "additional enumerated values (EnabledState), that is "
206 "inherited from ManagedSystemElement.\n"
207 "If a Device is (\"Enabled\")(value=3), it has been powered "
208 "up, and is configured and operational. The Device may or "
209 "may not be functionally active, depending on whether its "
210 "Availability (or AdditionalAvailability) indicate that it "
211 tony 1.1 "is (\"Running/Full Power\")(value=3) or (\"Off line\") "
212 "(value=8). In an enabled but offline mode, a Device may be "
213 "performing out-of-band requests, such as running "
214 "Diagnostics. If (\"Disabled\") StatusInfo value=4), a "
215 "Device can only be \"enabled\" or powered off. In a "
216 "personal computer environment, (\"Disabled\") means that "
217 "the Device's driver is not available in the stack. In "
218 "other environments, a Device can be disabled by removing "
219 "its configuration file. A disabled device is physically "
220 "present in a System and consuming resources, but can not be "
221 "communicated with until a load of a driver, a load of a "
222 "configuration file or some other \"enabling\" activity has "
223 "occurred."),
224 ValueMap {"1", "2", "3", "4", "5"},
225 Values {"Other", "Unknown", "Enabled", "Disabled",
226 "Not Applicable"},
227 MappingStrings {"MIF.DMTF|Operational State|006.4"} ]
228 uint16 StatusInfo;
229
230 [Deprecated {"CIM_DeviceErrorData.LastErrorCode"}, Description (
231 "LastErrorCode captures the last error code reported by the "
232 tony 1.1 "LogicalDevice.") ]
233 uint32 LastErrorCode;
234
235 [Deprecated {"CIM_DeviceErrorData.ErrorDescription"},
236 Description (
237 "ErrorDescription is a free-form string supplying more "
238 "information about the error recorded in LastErrorCode, and "
239 "information on any corrective actions that may be taken.") ]
240 string ErrorDescription;
241
242 [Deprecated {"CIM_ManagedSystemElement.OperationalStatus"},
243 Description (
244 "ErrorCleared is a boolean property indicating that the "
245 "error reported in LastErrorCode is now cleared.") ]
246 boolean ErrorCleared;
247
248 [Description (
249 "OtherIdentifyingInfo captures additional data, beyond "
250 "DeviceID information, that could be used to identify a "
251 "LogicalDevice. One example would be to hold the Operating "
252 "System's user friendly name for the Device in this "
253 tony 1.1 "property."),
254 ArrayType ("Indexed"), MaxLen (256),
255 ModelCorrespondence {
256 "CIM_LogicalDevice.IdentifyingDescriptions"} ]
257 string OtherIdentifyingInfo[];
258
259 [Deprecated {"CIM_PoweredStatisticalData.PowerOnHours"},
260 Description (
261 "The number of consecutive hours that this Device has been "
262 "powered, since its last power cycle."),
263 Units ("Hours"), Counter ]
264 uint64 PowerOnHours;
265
266 [Deprecated {"CIM_PoweredStatisticalData.TotalPowerOnHours"},
267 Description (
268 "The total number of hours that this Device has been "
269 "powered."),
270 Units ("Hours"), Counter ]
271 uint64 TotalPowerOnHours;
272
273 [Description (
274 tony 1.1 "An array of free-form strings providing explanations and "
275 "details behind the entries in the OtherIdentifyingInfo "
276 "array. Note, each entry of this array is related to the "
277 "entry in OtherIdentifyingInfo that is located at the same "
278 "index."),
279 ArrayType ("Indexed"),
280 ModelCorrespondence {"CIM_LogicalDevice.OtherIdentifyingInfo"} ]
281 string IdentifyingDescriptions[];
282
283 [Deprecated {"CIM_AssociatedPowerManagementService.PowerState",
284 "CIM_ManagedSystemElement.OperationalStatus",
285 "CIM_EnabledLogicalElement.EnabledStatus"}, Description (
286 "Additional availability and status of the Device, beyond "
287 "that specified in the Availability property. The "
288 "Availability property denotes the primary status and "
289 "availability of the Device. In some cases, this will not "
290 "be sufficient to denote the complete status of the Device. "
291 "In those cases, the AdditionalAvailability property can be "
292 "used to provide further information. For example, a "
293 "Device's primary Availability may be \"Off line\" "
294 "(value=8), but it may also be in a low power state "
295 tony 1.1 "(AdditonalAvailability value=14), or the Device could be "
296 "running Diagnostics (AdditionalAvailability value=5, \"In "
297 "Test\")."),
298 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
299 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
300 "21"},
301 Values {"Other", "Unknown", "Running/Full Power", "Warning",
302 "In Test", "Not Applicable", "Power Off", "Off Line",
303 "Off Duty", "Degraded", "Not Installed", "Install Error",
304 "Power Save - Unknown", "Power Save - Low Power Mode",
305 "Power Save - Standby", "Power Cycle",
306 "Power Save - Warning", "Paused", "Not Ready",
307 "Not Configured", "Quiesced"},
308 ModelCorrespondence {"CIM_LogicalDevice.Availability"} ]
309 uint16 AdditionalAvailability[];
310
311 [Deprecated {"No value"}, Description (
312 "The MaxQuiesceTime property has been deprecated. When "
313 "evaluating the use of Quiesce, it was determine that this "
314 "single property is not adequate for describing when a "
315 "device will automatically exit a quiescent state. In fact, "
316 tony 1.1 "the most likely scenario for a device to exit a quiescent "
317 "state was determined to be based on the number of "
318 "outstanding requests queued rather than on a maximum time. "
319 "This will be re-evaluated and repositioned later.\n"
320 "Maximum time in milliseconds, that a Device can run in a "
321 "\"Quiesced\" state. A Device's state is defined in its "
322 "Availability and AdditionalAvailability properties, where "
323 "\"Quiesced\" is conveyed by the value 21. What occurs at "
324 "the end of the time limit is device-specific. The Device "
325 "may unquiesce, may offline or take other action. A value "
326 "of 0 indicates that a Device can remain quiesced "
327 "indefinitely."),
328 Units ("MilliSeconds") ]
329 uint64 MaxQuiesceTime;
330
331 [Deprecated {"CIM_PowerManagementService.SetPowerState"},
332 Description (
333 "Sets the power state of the Device. The use of this method "
334 "has been deprecated. Instead, use the SetPowerState method "
335 "in the associated PowerManagementService class.") ]
336 uint32 SetPowerState(
337 tony 1.1 [IN, ValueMap {"1", "2", "3", "4", "5", "6"},
338 Values {"Full Power", "Power Save - Low Power Mode",
339 "Power Save - Standby", "Power Save - Other",
340 "Power Cycle", "Power Off"} ]
341 uint16 PowerState,
342 [IN] datetime Time);
343
344 [Description (
345 "Requests a reset of the LogicalDevice. The return value "
346 "should be 0 if the request was successfully executed, 1 if "
347 "the request is not supported and some other value if an "
348 "error occurred. In a subclass, the set of possible return "
349 "codes could be specified, using a ValueMap qualifier on the "
350 "method. The strings to which the ValueMap contents are "
351 "'translated' may also be specified in the subclass as a "
352 "Values array qualifier.") ]
353 uint32 Reset();
354
355 [Deprecated {"CIM_EnabledLogicalElement.RequestStateChange"},
356 Description (
357 "The EnableDevice method has been deprecated in lieu of the "
358 tony 1.1 "more general RequestStateChange method that directly "
359 "overlaps with the functionality provided by this method.\n"
360 "Requests that the LogicalDevice be enabled (\"Enabled\" "
361 "input parameter = TRUE) or disabled (= FALSE). If "
362 "successful, the Device's StatusInfo/EnabledState properties "
363 "should reflect the desired state (enabled/disabled). Note "
364 "that this method's function overlaps with the "
365 "RequestedState property. RequestedState was added to the "
366 "model to maintain a record (i.e., a persisted value) of the "
367 "last state request. Invoking the EnableDevice method "
368 "should set the RequestedState property appropriately.\n"
369 "The return code should be 0 if the request was successfully "
370 "executed, 1 if the request is not supported and some other "
371 "value if an error occurred. In a subclass, the set of "
372 "possible return codes could be specified, using a ValueMap "
373 "qualifier on the method. The strings to which the ValueMap "
374 "contents are 'translated' may also be specified in the "
375 "subclass as a Values array qualifier.") ]
376 uint32 EnableDevice(
377 [IN] boolean Enabled);
378
379 tony 1.1 [Deprecated {"CIM_EnabledLogicalElement.RequestStateChange"},
380 Description (
381 "The OnlineDevice method has been deprecated in lieu of the "
382 "more general RequestStateChange method that directly "
383 "overlaps with the functionality provided by this method.\n"
384 "Requests that the LogicalDevice be brought online "
385 "(\"Online\" input parameter = TRUE) or taken offline (= "
386 "FALSE). \"Online\" indicates that the Device is ready to "
387 "accept requests, and is operational and fully functioning. "
388 "In this case, the Device's Availability property would be "
389 "set to a value of 3 (\"Running/Full Power\"). \"Offline\" "
390 "indicates that a Device is powered up and operational, but "
391 "not processing functional requests. In an offline state, a "
392 "Device may be capable of running diagnostics or generating "
393 "operational alerts. For example, when the \"Offline\" "
394 "button is pushed on a Printer, the Device is no longer "
395 "available to process print jobs, but could be available for "
396 "diagnostics or maintenance.\n"
397 "If this method is successful, the Device's Availability and "
398 "AdditionalAvailability properties should reflect the "
399 "updated status. If a failure occurs trying to bring the "
400 tony 1.1 "Device online or offline, it should remain in its current "
401 "state. IE, the request, if unsuccessful, should not leave "
402 "the Device in an indeterminate state. When bringing a "
403 "Device back \"Online\", from an \"Offline\" mode, the "
404 "Device should be restored to its last \"Online\" state, if "
405 "at all possible. Only a Device that has an "
406 "EnabledState/StatusInfo of \"Enabled\" and has been "
407 "configured can be brought online or taken offline.\n"
408 "OnlineDevice should return 0 if successful, 1 if the "
409 "request is not supported at all, 2 if the request is not "
410 "supported due to the current state of the Device, and some "
411 "other value if any other error occurred. In a subclass, "
412 "the set of possible return codes could be specified, using "
413 "a ValueMap qualifier on the method. The strings to which "
414 "the ValueMap contents are 'translated' may also be "
415 "specified in the subclass as a Values array qualifier.\n"
416 "Note that this method's function overlaps with the "
417 "RequestedState property. RequestedState was added to the "
418 "model to maintain a record (i.e., a persisted value) of the "
419 "last state request. Invoking the OnlineDevice method "
420 "should set the RequestedState property appropriately.") ]
421 tony 1.1 uint32 OnlineDevice(
422 [IN] boolean Online);
423
424 [Deprecated {"CIM_EnabledLogicalElement.RequestStateChange"},
425 Description (
426 "The QuiesceDevice method has been deprecated in lieu of the "
427 "more general RequestStateChange method that directly "
428 "overlaps with the functionality provided by this method.\n"
429 "Requests that the LogicalDevice cleanly cease all current "
430 "activity (\"Quiesce\" input parameter = TRUE) or resume "
431 "activity (= FALSE). For this method to quiesce a Device, "
432 "that Device should have an Availability (or Additional "
433 "Availability) of \"Running/Full Power\" (value=3) and an "
434 "EnabledStatus/StatusInfo of \"Enabled\". For example, if "
435 "quiesced, a Device may then be offlined for diagnostics, or "
436 "disabled for power off and hot swap. For the method to "
437 "\"unquiesce\" a Device, that Device should have an "
438 "Availability (or AdditionalAvailability) of \"Quiesced\" "
439 "(value=21) and an EnabledStatus/StatusInfo of \"Enabled\". "
440 "In this case, the Device would be returned to an "
441 "\"Enabled\" and \"Running/Full Power\" status.\n"
442 tony 1.1 "The method's return code should indicate the success or "
443 "failure of the quiesce. It should return 0 if successful, "
444 "1 if the request is not supported at all, 2 if the request "
445 "is not supported due to the current state of the Device, "
446 "and some other value if any other error occurred. In a "
447 "subclass, the set of possible return codes could be "
448 "specified, using a ValueMap qualifier on the method. The "
449 "strings to which the ValueMap contents are 'translated' may "
450 "also be specified in the subclass as a Values array "
451 "qualifier.") ]
452 uint32 QuiesceDevice(
453 [IN] boolean Quiesce);
454
455 [Description (
456 "Requests that the Device capture its current configuration, "
457 "setup and/or state information in a backing store. The "
458 "goal would be to use this information at a later time (via "
459 "the RestoreProperties method), to return a Device to its "
460 "present \"condition\". This method may not be supported by "
461 "all Devices. The method should return 0 if successful, 1 "
462 "if the request is not supported, and some other value if "
463 tony 1.1 "any other error occurred. In a subclass, the set of "
464 "possible return codes could be specified, using a ValueMap "
465 "qualifier on the method. The strings to which the ValueMap "
466 "contents are 'translated' may also be specified in the "
467 "subclass as a Values array qualifier.") ]
468 uint32 SaveProperties();
469
470 [Description (
471 "Requests that the Device re-establish its configuration, "
472 "setup and/or state information from a backing store. The "
473 "intent is to capture this information at an earlier time "
474 "(via the SaveProperties method), and use it to return a "
475 "Device to this earlier \"condition\". This method may not "
476 "be supported by all Devices. The method should return 0 if "
477 "successful, 1 if the request is not supported, and some "
478 "other value if any other error occurred. In a subclass, "
479 "the set of possible return codes could be specified, using "
480 "a ValueMap qualifier on the method. The strings to which "
481 "the ValueMap contents are 'translated' may also be "
482 "specified in the subclass as a Values array qualifier.") ]
483 uint32 RestoreProperties();
484 tony 1.1 };
485
486
487 // ==================================================================
488 // Realizes
489 // ==================================================================
490 [Association, Version ("2.6.0"), Description (
491 "CIM_Realizes is the association that defines the mapping "
492 "between LogicalDevices and the PhysicalElements that implement "
493 "them.") ]
494 class CIM_Realizes : CIM_Dependency {
495
496 [Override ("Antecedent"), Description (
497 "The physical component that implements the Device.") ]
498 CIM_PhysicalElement REF Antecedent;
499
500 [Override ("Dependent"), Description (
501 "The LogicalDevice.") ]
502 CIM_LogicalDevice REF Dependent;
503 };
504
505 tony 1.1
506 // ==================================================================
507 // SystemDevice
508 // ==================================================================
509 [Association, Aggregation, Composition, Version ("2.7.0"),
510 Description (
511 "LogicalDevices may be aggregated by a System. This "
512 "relationship is made explicit by the SystemDevice "
513 "association.") ]
514 class CIM_SystemDevice:CIM_SystemComponent {
515
516 [Aggregate, Override ("GroupComponent"), Min (1), Max (1),
517 Description (
518 "The parent system in the Association.") ]
519 CIM_System REF GroupComponent;
520
521 [Override ("PartComponent"), Weak, Description (
522 "The LogicalDevice that is a component of a System.") ]
523 CIM_LogicalDevice REF PartComponent;
524 };
525
526 tony 1.1
527 // ===================================================================
528 // DeviceServiceImplementation
529 // ===================================================================
530 [Association, Version ("2.6.0"), Description (
531 "An association between a Service and how it is implemented. "
532 "The cardinality of this association is many-to-many. A "
533 "Service may be provided by more than one Logical Device, "
534 "operating in conjunction. And, any Device may provide more "
535 "than one Service. When multiple Devices are associated with a "
536 "single Service, it is assumed that these elements operate in "
537 "conjunction to provide the Service. If different "
538 "implementations of a Service exist, each of these "
539 "implementations would result in individual instantiations of "
540 "the Service object. These individual instantiations would "
541 "then have associations to the unique implementations.") ]
542 class CIM_DeviceServiceImplementation : CIM_Dependency {
543
544 [Override ("Antecedent"), Description (
545 "The LogicalDevice.") ]
546 CIM_LogicalDevice REF Antecedent;
547 tony 1.1
548 [Override ("Dependent"), Description (
549 "The Service implemented using the Logical Device.") ]
550 CIM_Service REF Dependent;
551 };
552
553
554 // ===================================================================
555 // DeviceSAPImplementation
556 // ===================================================================
557 [Association, Version ("2.6.0"), Description (
558 "An association between a ServiceAccessPoint and how it is "
559 "implemented. The cardinality of this association is "
560 "many-to-many. A SAP may be provided by more than one "
561 "LogicalDevice, operating in conjunction. And, any Device may "
562 "provide more than one ServiceAccessPoint. When many "
563 "LogicalDevices are associated with a single SAP, it is assumed "
564 "that these elements operate in conjunction to provide the "
565 "AccessPoint. If different implementations of a SAP exist, "
566 "each of these implementations would result in individual "
567 "instantiations of the ServiceAccessPoint object. These "
568 tony 1.1 "individual instantiations would then have associations to the "
569 "unique implementations.") ]
570 class CIM_DeviceSAPImplementation : CIM_Dependency {
571
572 [Override ("Antecedent"), Description (
573 "The LogicalDevice.") ]
574 CIM_LogicalDevice REF Antecedent;
575
576 [Override ("Dependent"), Description (
577 "The ServiceAccessPoint implemented using the "
578 "LogicalDevice.") ]
579 CIM_ServiceAccessPoint REF Dependent;
580 };
581
582 // ===================================================================
583 // DeviceSoftwareIdentity
584 // ===================================================================
585 [Association, Experimental, Version ("2.7.1000"), Description (
586 "DeviceSoftwareIdentity allows a device to report its software "
587 "related asset information (firmware, drivers, configuration "
588 "software, and etc.)\n"
589 tony 1.1 "Note that the Application Model manages the deployment and "
590 "installation of software via the classes, SoftwareFeatures and "
591 "SoftwareElements. If there is sufficient detail or "
592 "instrumentation to instantiate the deployment/installation "
593 "concepts then the DeviceSoftware association should be used to "
594 "tie LogicalDevices to their SoftwareElements.") ]
595 class CIM_DeviceSoftwareIdentity : CIM_Dependency {
596
597 [Override ("Antecedent"), Description (
598 "A LogicalDevice's Software Asset.") ]
599 CIM_SoftwareIdentity REF Antecedent;
600
601 [Override ("Dependent"), Description (
602 "The LogicalDevice that requires or uses the software.") ]
603 CIM_LogicalDevice REF Dependent;
604
605 [Description (
606 "Indicates the device's ability to upgrade this software asset.\n"
607 "'Resides off device'(2), indicates the persistence of the "
608 "software is outside of the device. Typically for a device "
609 "this software is part of the OperatingSystem is typically upgradeable.\n"
610 tony 1.1 "'Owner Upgradeable' (3), indicates the persistence of the "
611 "software is on the device and is upgradeable by the owner.\n"
612 "'Factory Upgradeable' (4), indicates the persistence of the "
613 "software is on the device and is upgradeable by the manufacturer.\n"
614 "'Not Upgradeable' (5), indicates the presistence of the "
615 "software is on the device and is not upgradeable. (i.e. "
616 "burned into a non replaceable ROM chip."),
617 ValueMap {"0", "1", "2", "3", "4", "5", "..", "0x8000..0xFFFF"},
618 Values {"Unknown", "Other", "Resides off device",
619 "Owner Upgradeable", "Factory Upgradeable",
620 "Not Upgradeable", "DMTF Reserved", "Vendor Reserved"},
621 ModelCorrespondence {
622 "CIM_DeviceSoftwareIdentity.OtherUpgradeCondition"} ]
623 uint16 UpgradeCondition;
624
625 [Description (
626 "Describes the upgrade condition, when UpgradeCondition is "
627 "set to 1 (\"Other\")."),
628 ModelCorrespondence {
629 "CIM_DeviceSoftwareIdentity.UpgradeCondition"} ]
630 string OtherUpgradeCondition;
631 tony 1.1 };
632
633
634 // ===================================================================
635 // end of file
636 // ===================================================================
|