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

  1 kumpf 1.2 // ===================================================================
  2           // Title:       System Logs 2.7
  3           // Filename:    System27_Logs.mof
  4           // Version:     2.7.0
  5           // Release:     Final
  6           // Date:        03/31/03
  7           // ===================================================================
  8           // Copyright 2000-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. 
 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 kumpf 1.2 // 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 kumpf 1.2 // ===================================================================
 44           // Description: The System Model defines system related management 
 45           //              concepts. This file defines the specific concepts to 
 46           //              manage message logs and log records.
 47           //
 48           //              The object classes below are listed in an order that
 49           //              avoids forward references. Required objects, defined 
 50           //              by other working groups, are omitted.
 51           // ==================================================================
 52           // Change Log for v2.7
 53           // CR757 - Change the subclassing of MessageLog from LogicalElement
 54           //         to EnabledLogicalElement
 55           // CR771 - Add the Composition qualifer to RecordInLog
 56           // ===================================================================
 57           
 58           #pragma locale ("en_US")
 59           
 60           
 61           // ===================================================================
 62           // MessageLog
 63           // ===================================================================
 64 kumpf 1.2 [Version ("2.7.0"), Description (
 65               "MessageLog represents any type of event, error or informational "
 66               "register or chronicle. The object describes the existence of "
 67               "the log and its characteristics. Several methods are defined "
 68               "for retrieving, writing and deleting log entries, and "
 69               "maintaining the log.") ] 
 70           class CIM_MessageLog : CIM_EnabledLogicalElement {
 71           
 72               [Key, MaxLen (256),
 73                   Description (
 74                       "CreationClassName indicates the name of the class or "
 75                       "the subclass used in the creation of an instance. When "
 76                       "used with the other key properties of this class, this "
 77                       "property allows all instances of this class and its "
 78                       "subclasses to be uniquely identified.") ]
 79               string CreationClassName;
 80           
 81               [Override ("Name"), 
 82                   Key, MaxLen (256), 
 83                   Description (
 84                       "The inherited Name serves as part of the key (a unique "
 85 kumpf 1.2             "identifier) for the MessageLog instance.") ] 
 86               string Name; 
 87           
 88               [Description (
 89                   "An array of integers indicating the Log capabilities. "
 90                   "Information such as \"Write Record Supported\" (value="
 91                   "2) or \"Variable Length Records Supported\" (8) is "
 92                   "specified in this property."),
 93                   ArrayType ("Indexed"),
 94                   ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"}, 
 95                   Values {"Unknown", "Other", "Write Record Supported", 
 96                       "Delete Record Supported", 
 97                       "Can Move Backward in Log", "Freeze Log Supported", 
 98                       "Clear Log Supported", 
 99                       "Supports Addressing by Ordinal Record Number",
100                       "Variable Length Records Supported", 
101                       "Variable Formats for Records", 
102                       "Can Flag Records for Overwrite"}, 
103                   ModelCorrespondence {
104                       "CIM_MessageLog.CapabilitiesDescriptions"} ]
105               uint16 Capabilities[];
106 kumpf 1.2 
107               [Description (
108                   "An array of free-form strings providing more detailed "
109                   "explanations for any of the Log features indicated in "
110                   "the Capabilities array. Note, each entry of this array "
111                   "is related to the entry in the Capabilities array that "
112                   "is located at the same index."),
113                   ArrayType ("Indexed"),
114                   ModelCorrespondence {"CIM_MessageLog.Capabilities"} ]
115               string CapabilitiesDescriptions[];
116           
117               [Description (
118                   "The maximum size, in bytes, to which the Log can grow. "
119                   "If there is no maximum, then MaxLogSize should be set "
120                   "to 0."),
121                   Units ("Bytes") ]
122               uint64 MaxLogSize;
123           
124               [Description (
125                   "The size of the Log header, in bytes, if one is "
126                   "present. If there is no Log header, then this property "
127 kumpf 1.2         "should be set to 0. Headers may include general "
128                   "information about the Log such as the current number of "
129                   "records, time of last update, or a pointer to the location "
130                   "of the first Log entry. Note that this property is NOT the "
131                   "size of the header for an individual Log entry. The latter "
132                   "is described by the property, SizeOfRecordHeader."), 
133                   Units ("Bytes") ]
134               uint64 SizeOfHeader;
135           
136               [Description (
137                   "If the SizeOfHeader property is non-zero, this property "
138                   "describes the structure and format of the Log header. It "
139                   "is a free-form string. If the SizeOfHeader property is 0, "
140                   "then the information in this property is undefined.") ]
141               string HeaderFormat;
142           
143               [Description (
144                   "Maximum size, in bytes, to which an individual Log "
145                   "entry (record) can grow - if the Capabilities array "
146                   "includes a value of 7 (\"Variable Length Records "
147                   "Supported\"). If the Capabilities array does not "
148 kumpf 1.2         "include a 7, then the Log only supports fixed length "
149                   "entries. The size of these entries is described by "
150                   "this property."), 
151                   Units ("Bytes") ]
152               uint64 MaxRecordSize;
153           
154               [Description (
155                   "The size of the header for the Log's individual entries, "
156                   "in bytes, if record headers are defined. If there are no "
157                   "record headers, then this property should be set to 0. "
158                   "Record headers may include information such as the type of "
159                   "the Log entry, the date/time that the entry was last "
160                   "updated, or a pointer to the start of optional data. Note "
161                   "that this property defines the header size for individual "
162                   "records in the Log, while the SizeOfHeader property "
163                   "describes the Log's overall header, typically located at "
164                   "the start of the MessageLog."), 
165                   Units ("Bytes") ]
166               uint64 SizeOfRecordHeader;
167           
168               [Description (
169 kumpf 1.2         "If the SizeOfRecordHeader property is non-zero, this "
170                   "property describes the structure and format of the "
171                   "record headers. It is a free-form string. If the "
172                   "SizeOfRecordHeader property is 0, then the information "
173                   "in this property is undefined.") ]
174               string RecordHeaderFormat;
175           
176               [Description (
177                   "Maximum number of records that can be captured in "
178                   "the Log. If undefined, a value of zero should be "
179                   "specified. Note that when the Capabilities array "
180                   "indicates that variable length records are supported "
181                   "(value=7), then it is possible that this maximum may "
182                   "not be achieved.") ]
183               uint64 MaxNumberOfRecords;
184           
185               [Description (
186                   "Current number of entries (records) in the Log."),
187                   Gauge ]
188               uint64 CurrentNumberOfRecords;
189           
190 kumpf 1.2     [Description (
191                   "An enumeration describing the behavior of the Log, when "
192                   "it becomes full or near full. For example, the Log may "
193                   "wrap (value=2) or may simply stop recording entries (value"
194                   "=7). \n\n"
195                   "Some of the property's possible values need further "
196                   "explanation:\n"
197                   "3=\"Clear When Near Full\" indicates that all of the Log's "
198                   "entries will be deleted when a specified record capacity is "
199                   "reached. The capacity is specified in percentage, using the "
200                   "property, PercentageNearFull. 'Near Full' may be less than "
201                   "100% if the Log takes time to clear, and a position should "
202                   "always be available for new records. \n"
203                   "4=\"Overwrite Outdated When Needed\" describes that Log "
204                   "entries (timestamped later than the date/time specified in "
205                   "the property, TimeWhenOutdated) can be overwritten. \n"
206                   "5=\"Remove Outdated Records\" specifies that records "
207                   "(timestamped later than the date/time specified in the "
208                   "property, TimeWhenOutdated) are logically and/or physically "
209                   "removed from the Log. \n"
210                   "6=\"Overwrite Specific Records\" indicates that specially "
211 kumpf 1.2         "flagged records may be overwritten. This property only makes "
212                   "sense when the Capabilities array includes a value of 10, "
213                   "\"Can Flag Records for Overwrite\"."),
214                   ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"}, 
215                   Values {"Unknown", "Other", "Wraps When Full",
216                       "Clear When Near Full", 
217                       "Overwrite Outdated When Needed", 
218                       "Remove Outdated Records",
219                       "Overwrite Specific Records", 
220                       "Never Overwrite"},
221                   ModelCorrespondence {"CIM_MessageLog.OtherPolicyDescription", 
222                       "CIM_MessageLog.TimeWhenOutdated", 
223                       "CIM_MessageLog.PercentageNearFull"} ]
224               uint16 OverwritePolicy;
225           
226               [Description (
227                   "When the OverwritePolicy specifies a value of 1 "
228                   "(\"Other\"), the Log's behavior can be explained "
229                   "using this property. If OverwritePolicy is not 1, "
230                   "then this property's contents are undefined."), 
231                   ModelCorrespondence {"CIM_MessageLog.OverwritePolicy"} ]
232 kumpf 1.2     string OtherPolicyDescription;
233           
234               [Description (
235                   "If the OverwritePolicy is based on 'outdated' records "
236                   "(values 4 or 5), this property defines when a Log entry "
237                   "is considered to be outdated - either by time interval or "
238                   "at a specific date and time."), 
239                   ModelCorrespondence {"CIM_MessageLog.OverwritePolicy"} ]
240               datetime TimeWhenOutdated;
241           
242               [Description (
243                   "If the OverwritePolicy is based on clearing records "
244                   "when the Log is near full (value=3), this property defines "
245                   "the record capacity (in percentage) that is considered to "
246                   "be 'near full'."),
247                   Units ("Percent"), 
248                   ModelCorrespondence {"CIM_MessageLog.OverwritePolicy"} ]
249               uint8 PercentageNearFull;
250           
251               [Description (
252                   "An enumeration describing the last change to the "
253 kumpf 1.2         "MessageLog."), 
254                   ValueMap {"0", "1", "2", "3", "4"}, 
255                   Values {"Unknown", "Add", "Delete", "Modify", "Log Cleared"} ]
256               uint16 LastChange;
257           
258               [Description (
259                   "When a change is made to the Log, the date/time of "
260                   "that modification is captured. This property could be "
261                   "used to event against any update to the MessageLog.") ]
262               datetime TimeOfLastChange;
263           
264               [Description (
265                   "When a change is made to the Log, the record number that "
266                   "was modified is captured.") ]
267               uint64 RecordLastChanged;
268           
269               [Description (
270                   "Boolean indicating that the Log is currently frozen and "
271                   "modifications are not allowed.") ]
272               boolean IsFrozen;
273           
274 kumpf 1.2     [Description (
275                   "An enumeration describing the character set used to record "
276                   "data in the individual Log entries. For example, the "
277                   "Log records may contain ASCII data (value=2), or be raw octet "
278                   "strings (value=10)."), 
279                   ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
280                       "10", "11"}, 
281                   Values {"Unknown", "Other", "ASCII", "Unicode", "ISO2022", 
282                       "ISO8859", "Extended UNIX Code", "UTF-8", "UCS-2", 
283                       "Bitmapped Data", "OctetString", 
284                       "Defined by Individual Records"} ]
285               uint16 CharacterSet; 
286           
287               [Description (
288                   "Requests that the MessageLog be cleared of all entries. "
289                   "The return value should be 0 if the request was successfully "
290                   "executed, 1 if the request is not supported and some other "
291                   "value if an error occurred. If the request is not supported, "
292                   "check the Capabilities array that a value of 6 (\"Clear Log "
293                   "Supported\") is specified. \n\n"
294                   "Note: In a subclass, the set of possible return codes could "
295 kumpf 1.2         "be described using a ValueMap qualifier on the method. The "
296                   "strings to which the ValueMap contents are 'translated' may "
297                   "also be specified in the subclass as a Values array "
298                   "qualifier.") ]
299               uint32 ClearLog();
300           
301               [Description (
302                   "Requests that an iteration of the MessageLog be established "
303                   "and that the iterator be set to the first entry in the Log. "
304                   "An identifier for the iterator is returned as an output "
305                   "parameter of the method. \n"
306                   "\n"
307                   "Regarding iteration, you have 2 choices:  1) Embed iteration "
308                   "data in the method call, and allow implementations to track/"
309                   "store this data manually; or, 2) Iterate using a separate "
310                   "object (for example, class ActiveIterator) as an iteration "
311                   "agent. The first approach is used here for interoperability. "
312                   "The second requires an instance of the Iterator object for "
313                   "EACH iteration in progress. 2's functionality could be "
314                   "implemented underneath 1. \n"
315                   "\n"
316 kumpf 1.2         "The return value from PositionToFirstRecord should be 0 if "
317                   "the request was successfully executed, 1 if the request is "
318                   "not supported and some other value if an error occurred. In "
319                   "a subclass, the set of possible return codes could be "
320                   "specified, using a ValueMap qualifier on the method. The "
321                   "strings to which the ValueMap contents are 'translated' may "
322                   "also be specified in the subclass as a Values array "
323                   "qualifier.") ]
324               uint32 PositionToFirstRecord (
325                   [IN (false), OUT] 
326                   string IterationIdentifier);
327           
328               [Description (
329                   "Requests that the Log's iteration identifier be advanced or "
330                   "retreated a specific number of records, or set to the "
331                   "entry at a specified numeric location. These two different "
332                   "behaviors are accomplished using the input parameters of the "
333                   "method. Advancing or retreating is achieved by setting the "
334                   "MoveAbsolute boolean to FALSE, and then specifying the number "
335                   "of entries to advance or retreat as positive or negative values "
336                   "in the RecordNumber parameter. Moving to a specific record "
337 kumpf 1.2         "number is accomplished by setting the MoveAbsolute input "
338                   "parameter to TRUE, and then placing the record number into "
339                   "the RecordNumber parameter. This can only be done if the "
340                   "Capabilities array includes a value of 7, \"Supports "
341                   "Addressing by Ordinal Record Number\". \n"
342                   "\n"
343                   "After the method completes and if ordinal record numbers are "
344                   "supported (the Capabilities array includes a 7), the current "
345                   "record number is returned in the RecordNumber output parameter. "
346                   "Otherwise, the value of the parameter is undefined. \n"
347                   "\n"
348                   "IterationIdentifier is defined as an Input/Output method "
349                   "parameter to allow the Log to embed state information in "
350                   "the Identifier and potentially let the identifier be "
351                   "maintained by the using application. \n"
352                   "\n"
353                   "The return value from PositionAtRecord should be 0 if "
354                   "the request was successfully executed, 1 if the request is "
355                   "not supported and some other value if an error occurred. If "
356                   "the request is not supported, check the Capabilities array "
357                   "regarding support for ordinal record number addressing and "
358 kumpf 1.2         "backward movement in the Log (values 7 and 4, respectively). \n"
359                   "\n"
360                   "Note: In a subclass, the set of possible return codes could "
361                   "be described using a ValueMap qualifier on the method. The "
362                   "strings to which the ValueMap contents are 'translated' may "
363                   "also be specified in the subclass as a Values array "
364                   "qualifier.") ]
365               uint32 PositionAtRecord (
366                   [IN, OUT] 
367                   string IterationIdentifier, 
368                   [IN, Description ("Advancing or retreating the IterationIdentifier "
369                       "is achieved by setting the MoveAbsolute boolean to FALSE, "
370                       "and specifying the number of entries to advance or retreat "
371                       "as positive or negative values in the RecordNumber "
372                       "parameter. Moving to a specific record number is "
373                       "accomplished by setting the MoveAbsolute parameter to TRUE, "
374                       "and placing the record number into the RecordNumber "
375                       "parameter.") ] 
376                   boolean MoveAbsolute, 
377                   [IN, OUT] 
378                   sint64 RecordNumber);
379 kumpf 1.2 
380               [Description (
381                   "Requests that the record indicated by the IterationIdentifier "
382                   "be retrieved from the MessageLog. After retrieval, the "
383                   "IterationIdentifier may be advanced to the next record by "
384                    "setting the PositionToNext input parameter to TRUE. Two output "
385                   "parameters are defined for the method - RecordData which holds "
386                   "the contents of the Log entry (as an array of bytes that can "
387                   "be recast to an appropriate format), and RecordNumber which "
388                   "returns the current record number addressed via the Iteration"
389                   "Identifier. The RecordNumber parameter is only defined/valid "
390                   "when the Capabilities array indicates that ordinal record "
391                   "number addressing is supported (a value of 7). \n"
392                   "\n"
393                   "IterationIdentifier is defined as an Input/Output method "
394                   "parameter to allow the Log to embed state information in "
395                   "the Identifier and potentially let the identifier be "
396                   "maintained by the using application. \n"
397                   "\n"
398                   "The return value from GetRecord should be 0 if the request "
399                   "was successfully executed, 1 if the request is not supported, "
400 kumpf 1.2         "and some other value if an error occurred. In a subclass, the "
401                   "set of possible return codes could be specified, using a "
402                   "ValueMap qualifier on the method. The strings to which the "
403                   "ValueMap contents are 'translated' may also be specified in "
404                   "the subclass as a Values array qualifier.") ]
405               uint32 GetRecord (
406                   [IN, OUT] 
407                   string IterationIdentifier, 
408                   [IN, Description ("Boolean indicating that the Iteration"
409                       "Identifier should be advanced to the next record, after "
410                       "retrieving the current Log entry.") ] 
411                   boolean PositionToNext, 
412                   [IN (false), OUT] 
413                   uint64 RecordNumber,
414                   [IN (false), OUT] 
415                   uint8 RecordData[]); 
416           
417               [Description (
418                   "Requests that the record indicated by the IterationIdentifier "
419                   "be deleted from the MessageLog. After deletion, the Iteration"
420                   "Identifier may be advanced to the next record by setting the "
421 kumpf 1.2         "PositionToNext input parameter to TRUE. If set to FALSE, then "
422                   "the IterationIdentifier will be positioned at the previous "
423                   "record. Two output parameters are defined for the method - "
424                   "RecordData which holds the contents of the deleted Log entry "
425                   "(as an array of bytes that can be recast to an appropriate "
426                   "format or discarded), and RecordNumber which returns the "
427                   "current record number addressed via the IterationIdentifier. "
428                   "The RecordNumber parameter is only defined/valid when the "
429                   "Capabilities array indicates that ordinal record number "
430                   "addressing is supported (a value of 7). \n"
431                   "\n"
432                   "IterationIdentifier is defined as an Input/Output method "
433                   "parameter to allow the Log to embed state information in "
434                   "the Identifier and potentially let the identifier be "
435                   "maintained by the using application. \n"
436                   "\n"
437                   "The return value from DeleteRecord should be 0 if the request "
438                   "was successfully executed, 1 if the request is not supported, "
439                   "and some other value if an error occurred. If the request is "
440                   "not supported, check the Capabilities array that a value of 3 "
441                   "(\"Delete Record Supported\") is specified. \n"
442 kumpf 1.2         "\n"
443                   "Note: In a subclass, the set of possible return codes could "
444                   "be described using a ValueMap qualifier on the method. The "
445                   "strings to which the ValueMap contents are 'translated' may "
446                   "also be specified in the subclass as a Values array "
447                   "qualifier.") ]
448               uint32 DeleteRecord (
449                   [IN, OUT] 
450                   string IterationIdentifier, 
451                   [IN, Description ("Boolean that when set to TRUE requests the "
452                       "IterationIdentifier to be advanced to the next record, "
453                       "after the current entry is deleted. If set to FALSE, "
454                       "IterationIdentifier is set to the previous record.") ]
455                   boolean PositionToNext, 
456                   [IN (false), OUT] 
457                   uint64 RecordNumber,
458                   [IN (false), OUT] 
459                   uint8 RecordData[]); 
460           
461               [Description (
462                   "Requests that a record be inserted at the Log position "
463 kumpf 1.2         "indicated by the IterationIdentifier. The entry's data is "
464                   "provided in the RecordData input parameter. After insertion, "
465                   "the IterationIdentifier may be advanced to the next record "
466                   "by setting the PositionToNext input parameter to TRUE. "
467                   "The output parameter, RecordNumber, returns the current "
468                   "record number addressed via the IterationIdentifier. This "
469                   "parameter is only defined/valid when the Capabilities array "
470                   "indicates that ordinal record number addressing is supported " 
471                   "(a value of 7). \n"
472                   "\n"
473                   "IterationIdentifier is defined as an Input/Output method "
474                   "parameter to allow the Log to embed state information in "
475                   "the Identifier and potentially let the identifier be "
476                   "maintained by the using application. \n"
477                   "\n"
478                   "The return value from WriteRecord should be 0 if the request "
479                   "was successfully executed, 1 if the request is not supported, "
480                   "and some other value if an error occurred. If the request is "
481                   "not supported, check the Capabilities array that a value of 2 "
482                   "(\"Write Record Supported\") is specified. \n"
483                   "\n"
484 kumpf 1.2         "Note: In a subclass, the set of possible return codes could "
485                   "be described using a ValueMap qualifier on the method. The "
486                   "strings to which the ValueMap contents are 'translated' may "
487                   "also be specified in the subclass as a Values array "
488                   "qualifier.") ]
489               uint32 WriteRecord (
490                   [IN, OUT] 
491                   string IterationIdentifier, 
492                   [IN, Description ("Boolean indicating that the Iteration"
493                       "Identifier should be advanced to the next record, after "
494                       "writing the Log entry.") ] 
495                   boolean PositionToNext, 
496                   [IN] 
497                   uint8 RecordData[],
498                   [IN (false), OUT] 
499                   uint64 RecordNumber); 
500           
501               [Description (
502                   "Requests that an iteration of the Log, identified by the "
503                   "IterationIdentifier input parameter, be stopped. The "
504                   "return value from CancelIteration should be 0 if the "
505 kumpf 1.2         "request was successfully executed, 1 if the request is "
506                   "not supported and some other value if an error occurred. In "
507                   "a subclass, the set of possible return codes could be "
508                   "specified, using a ValueMap qualifier on the method. The "
509                   "strings to which the ValueMap contents are 'translated' "
510                   "may also be specified in the subclass as a Values array "
511                   "qualifier.") ]
512               uint32 CancelIteration (
513                   [IN] 
514                   string IterationIdentifier);
515           
516               [Description (
517                   "Requests that the MessageLog be placed in a frozen state "
518                   "(\"Freeze\" input parameter = TRUE) or 'unfrozen' (= FALSE). "
519                   "If frozen, modifications to the Log will not be allowed. "
520                   "If successful, the Log's IsFrozen boolean property will "
521                   "be updated to reflect the desired state. \n\n"
522                   "The method's return code should be 0 if the request was "
523                   "successfully executed, 1 if the request is not supported "
524                   "and some other value if an error occurred. If the request "
525                   "is not supported, check the Capabilities array that a value "
526 kumpf 1.2         "of 5 (\"Freeze Log Supported\") is specified. \n\n"
527                   "Note: In a subclass, the set of possible return codes could "
528                   "be described using a ValueMap qualifier on the method. The "
529                   "strings to which the ValueMap contents are 'translated' may "
530                   "also be specified in the subclass as a Values array "
531                   "qualifier.") ]
532               uint32 FreezeLog(
533                   [IN] 
534                   boolean Freeze);
535           
536               [Description (
537                   "Requests that the record indicated by the IterationIdentifier "
538                   "be flagged as overwriteable. This method is only supported "
539                   "when the Capabilities array includes a value of 10, \"Can Flag "
540                   "Records for Overwrite\". After updating the entry, the "
541                   "IterationIdentifier may be advanced to the next record by "
542                   "setting the PositionToNext input parameter to TRUE. One output "
543                   "parameter is defined for the method RecordNumber. It returns "
544                   "the current record number addressed via the Iteration"
545                   "Identifier. This parameter is only defined/valid when the "
546                   "Capabilities array indicates that ordinal record number "
547 kumpf 1.2         "addressing is supported (a value of 7). \n"
548                   "\n"
549                   "IterationIdentifier is defined as an Input/Output method "
550                   "parameter to allow the Log to embed state information in "
551                   "the Identifier and potentially let the identifier be "
552                   "maintained by the using application. \n"
553                   "\n"
554                   "The return value from FlagRecordForOverwrite should be 0 if "
555                   "the request was successfully executed, 1 if the request is not "
556                   "supported, and some other value if an error occurred. In a "
557                   "subclass, the set of possible return codes could be specified, "
558                   "using a ValueMap qualifier on the method. The strings to which "
559                   "the ValueMap contents are 'translated' may also be specified "
560                   "in the subclass as a Values array qualifier.") ]
561               uint32 FlagRecordForOverwrite (
562                   [IN, OUT] 
563                   string IterationIdentifier, 
564                   [IN, Description ("Boolean indicating that the Iteration"
565                       "Identifier should be advanced to the next record, after "
566                       "updating the current Log entry.") ] 
567                   boolean PositionToNext, 
568 kumpf 1.2         [IN (false), OUT] 
569                   uint64 RecordNumber); 
570           };
571           
572            
573           // ===================================================================
574           // LogRecord
575           // ===================================================================
576           [Version ("2.6.0"), Description (
577               "The LogRecord object can describe the definitional format for "
578               "entries in a MessageLog, or can be used to instantiate the "
579               "actual records in the Log. The latter approach provides a "
580               "great deal more semantic definition and management control over "
581               "the individual entries in a MessageLog, than do the record "
582               "manipulation methods of the Log class. It is recommended that "
583               "the data in individual Log entries be modeled using subclasses "
584               "of LogRecord, to avoid the creation of LogRecords with one "
585               "property (such as RecordData) without semantics. \n"
586               "Definitional formats for LogRecords could be specified by "
587               "establishing a naming convention for the RecordID and Message"
588               "Timestamp key properties.") ] 
589 kumpf 1.2 class CIM_LogRecord : CIM_ManagedElement {
590           
591               [Propagated("CIM_MessageLog.CreationClassName"), 
592                   Key, MaxLen (256),
593                   Description ("The scoping Log's CreationClassName.") ]
594               string LogCreationClassName;
595           
596               [Propagated("CIM_MessageLog.Name"),
597                   Key, MaxLen (256),
598                   Description ("The scoping Log's Name.") ]
599               string LogName;
600           
601               [Key, MaxLen (256),
602                   Description (
603                       "CreationClassName indicates the name of the class or "
604                       "the subclass used in the creation of an instance. When "
605                       "used with the other key properties of this class, this "
606                       "property allows all instances of this class and its "
607                       "subclasses to be uniquely identified.") ]
608               string CreationClassName;
609           
610 kumpf 1.2     [Key, MaxLen (256), 
611                   Description (
612                       "RecordID, with the MessageTimestamp property, serve to "
613                       "uniquely identify the LogRecord within a MessageLog. Note "
614                       "that this property is different than the RecordNumber "
615                       "parameters of the MessageLog methods. The latter are ordinal "
616                       "values only, useful to track position when iterating through "
617                       "a Log. On the other hand, RecordID is truly an identifier "
618                       "for an instance of LogRecord. It may be set to the record's "
619                       "ordinal position, but this is not required.") ] 
620               string RecordID; 
621           
622               [Key, Description (
623                   "A LogRecord's key structure includes a timestamp for "
624                   "the entry.") ]
625               datetime MessageTimestamp;
626           
627               [Description (
628                   "A free-form string describing the LogRecord's data "
629                   "structure.") ]
630               string DataFormat;
631 kumpf 1.2 };
632           
633            
634           // ===================================================================
635           // RecordInLog
636           // ===================================================================
637           [Association, Aggregation, Composition, Version ("2.7.0"), 
638               Description (
639                   "RecordInLog describes the aggregation or location of Log "
640                   "entries within a MessageLog.") ]
641           class CIM_RecordInLog  {
642           
643               [Key, Aggregate, Min (1), Max (1), 
644                   Description ("The Message Log.") ]
645               CIM_MessageLog REF MessageLog;
646           
647               [Key, Weak, Description (
648                   "The Log entry contained within the MessageLog.") ]
649               CIM_LogRecord REF LogRecord;
650           };
651            
652 kumpf 1.2 
653           // ===================================================================
654           // LogInDeviceFile
655           // ===================================================================
656           [Association, Version ("2.6.0"), Description (
657               "MessageLogs can reside in data files, on specially allocated "
658               "storage areas such as disks or memory, or output as raw I/O "
659               "streams. In fact, a single Log may use each of these mechanisms "
660               "to output or capture its contents. The LogInDeviceFile "
661               "association describes a Log outputting to a raw I/O stream "
662               "DeviceFile - for example, a serial port on a UNIX system.") ]
663           class CIM_LogInDeviceFile : CIM_Dependency {
664           
665               [Override ("Antecedent"), Description (
666                   "The I/O stream DeviceFile.") ]
667               CIM_DeviceFile REF Antecedent;
668           
669               [Override ("Dependent"),
670                   Description ("The MessageLog outputting to the DeviceFile.") ]
671               CIM_MessageLog REF Dependent;
672           };
673 kumpf 1.2 
674           
675           // ===================================================================
676           // LogInDataFile
677           // ===================================================================
678           [Association, Version ("2.6.0"), Description (
679               "MessageLogs can reside in data files, on specially allocated "
680               "storage areas such as disks or memory, or output as raw I/O "
681               "streams. In fact, a single Log may use each of these mechanisms "
682               "to output or capture its contents. The LogInDataFile "
683               "association describes a Log stored as a DataFile.") ]
684           class CIM_LogInDataFile : CIM_Dependency {
685           
686               [Override ("Antecedent"), Description (
687                   "The DataFile.") ]
688               CIM_DataFile REF Antecedent;
689           
690               [Override ("Dependent"),
691                   Description ("The MessageLog residing in the DataFile.") ]
692               CIM_MessageLog REF Dependent;
693           };
694 kumpf 1.2 
695            
696           // ===================================================================
697           // LogInStorage
698           // ===================================================================
699           [Association, Version ("2.6.0"), Description (
700               "MessageLogs can reside in data files, on specially allocated "
701               "storage areas such as disks or memory, or output as raw I/O "
702               "streams. In fact, a single Log may use each of these mechanisms "
703               "to output or capture its contents. The LogInStorage "
704               "association describes a Log located in a specially allocated "
705               "portion of a StorageExtent. The offset of the Log, within "
706               "the Extent, is defined using a property of the association, "
707               "StartingOffset.") ]
708           class CIM_LogInStorage : CIM_Dependency {
709           
710               [Override ("Antecedent"), Description (
711                   "The StorageExtent.") ]
712               CIM_StorageExtent REF Antecedent;
713           
714               [Override ("Dependent"),
715 kumpf 1.2         Description ("The MessageLog located within the Extent.") ]
716               CIM_MessageLog REF Dependent;
717           
718               [Description (
719                   "StartingOffset indicates where in the Extent that the Log "
720                   "begins.") ] 
721               uint64 StartingOffset;
722           };
723           
724            
725           // ===================================================================
726           // UseOfMessageLog
727           // ===================================================================
728           [Association, Version ("2.6.0"), Description (
729               "ManagedSystemElements may record their event, error or "
730               "informational data within MessageLogs. The use of a Log to "
731               "hold a ManagedSystemElement's data is described by this "
732               "association. The type of Element data captured by the Log "
733               "can be specified using the RecordedData string property.") ]
734           class CIM_UseOfMessageLog : CIM_Dependency {
735           
736 kumpf 1.2     [Override ("Antecedent"), Description (
737                   "The MessageLog.") ]
738               CIM_MessageLog REF Antecedent;
739           
740               [Override ("Dependent"), Description (
741                   "The ManagedSystemElement whose information is recorded in "
742                   "the MessageLog.") ]
743               CIM_ManagedSystemElement REF Dependent;
744           
745               [Description (
746                   "A free-form string describing the use of the Log by the "
747                   "ManagedSystemElement.") ] 
748               string RecordedData;
749           };
750           
751            
752           // ===================================================================
753           // end of file
754           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2