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