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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2