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

  1 karl  1.1 // ===================================================================
  2           // Title:  System Logs
  3           // $State: Preliminary $
  4           // $Date: 2004/06/25 16:11:06 $
  5           // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/System_Logs.mof,v $
  6           // $Revision: 1.7 $
  7           // ===================================================================
  8           //#pragma inLine ("Includes/copyright.inc")
  9           // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
 10           // All rights reserved.
 11           // DMTF is a not-for-profit association of industry members dedicated
 12           // to promoting enterprise and systems management and interoperability.
 13           // DMTF specifications and documents may be reproduced for uses
 14           // consistent with this purpose by members and non-members,
 15           // provided that correct attribution is given.
 16           // As DMTF specifications may be revised from time to time,
 17           // the particular version and release date should always be noted.
 18           // 
 19           // Implementation of certain elements of this standard or proposed
 20           // standard may be subject to third party patent rights, including
 21           // provisional patent rights (herein "patent rights"). DMTF makes
 22 karl  1.1 // no representations to users of the standard as to the existence
 23           // of such rights, and is not responsible to recognize, disclose, or
 24           // identify any or all such third party patent right, owners or
 25           // claimants, nor for any incomplete or inaccurate identification or
 26           // disclosure of such rights, owners or claimants. DMTF shall have no
 27           // liability to any party, in any manner or circumstance, under any
 28           // legal theory whatsoever, for failure to recognize, disclose, or
 29           // identify any such third party patent rights, or for such party's
 30           // reliance on the standard or incorporation thereof in its product,
 31           // protocols or testing procedures. DMTF shall have no liability to
 32           // any party implementing such standard, whether such implementation
 33           // is foreseeable or not, nor to any patent owner or claimant, and shall
 34           // have no liability or responsibility for costs or losses incurred if
 35           // a standard is withdrawn or modified after publication, and shall be
 36           // indemnified and held harmless by any party implementing the
 37           // standard from any and all claims of infringement by a patent owner
 38           // for such implementations.
 39           // 
 40           // For information about patents held by third-parties which have
 41           // notified the DMTF that, in their opinion, such patent may relate to
 42           // or impact implementations of DMTF standards, visit
 43 karl  1.1 // http://www.dmtf.org/about/policies/disclosures.php.
 44           //#pragma inLine
 45           // ===================================================================
 46           // Description: The System Model defines system related management
 47           //              concepts. This file defines the specific concepts to
 48           //              manage message logs and log records.
 49           // 
 50           //              The object classes below are listed in an order that
 51           //              avoids forward references. Required objects, defined
 52           //              by other working groups, are omitted.
 53           // ==================================================================
 54           // Change Log for v2.9 Preliminary
 55           // CR1321 - Superclass MessageLog
 56           // 
 57           // Change Log for v2.8 Final
 58           // CR1204 - Removal of Experimental qualifier for Preliminary to Final
 59           // CR1223 - SysDev Omnibus MOF corrections.
 60           // 
 61           // Change Log for v2.8 Preliminary
 62           // CR1056 - Addition of OperationLog
 63           // CR938 - Add parseable string for LogRecord data
 64 karl  1.1 // 
 65           // Change Log for v2.7
 66           // CR757 - Change the subclassing of MessageLog from LogicalElement
 67           //         to EnabledLogicalElement
 68           // CR771 - Add the Composition qualifer to RecordInLog
 69           // ===================================================================
 70           
 71           #pragma locale ("en_US")
 72           
 73           // ===================================================================
 74           // Log
 75           // ===================================================================
 76              [Experimental, Abstract, Version ( "2.8.1000" ), Description (
 77                  "Log represents any type of event, error or informational "
 78                  "register or chronicle. The object describes the existence of "
 79                  "the log and its characteristics. Log does not dictate the form "
 80                  "of the data represented or how records/messages are stored in "
 81                  "the log and/or accessed. Subclasses will define the "
 82                  "appropriate methods and behavior.")]
 83           class CIM_Log : CIM_EnabledLogicalElement {
 84           
 85 karl  1.1       [Description (
 86                     "Maximum number of records that can be captured in the Log. "
 87                     "If undefined, a value of zero should be specified.")]
 88              uint64 MaxNumberOfRecords;
 89           
 90                 [Description (
 91                     "Current number of records in the Log."), 
 92                  Gauge]
 93              uint64 CurrentNumberOfRecords;
 94           
 95                 [Description (
 96                     "Requests that the Log be cleared of all entries. \n"
 97                     "The return value should be 0 if the request was "
 98                     "successfully executed, 1 if the request is not supported, "
 99                     "and some other value, as indicated by the ValueMap/Values "
100                     "qualifiers, if an error occurred."), 
101                  ValueMap { "0", "1", "2", "3", "4", "5", "6..0x0FFF",
102                     "0x1000..0x7FFF", "0x8000.." }, 
103                  Values { "Completed with no error", "Not Supported",
104                     "Unspecified Error", "Timeout", "Failed",
105                     "Invalid Parameter", "DMTF_Reserved", "Method_Reserved",
106 karl  1.1           "Vendor_Reserved" }]
107              uint32 ClearLog(); 
108           
109           };
110           
111           // ===================================================================
112           // MessageLog
113           // ===================================================================
114              [Version ( "2.8.1000" ), Description (
115                  "MessageLog represents any type of event, error or "
116                  "informational register or chronicle. The object describes the "
117                  "existence of the log and its characteristics. Several methods "
118                  "are defined for retrieving, writing and deleting log entries, "
119                  "and maintaining the log. This type of log uses iterators to "
120                  "access the log records, whereas its peer class, RecordLog, "
121                  "uses more abstracted access mechanisms.")]
122           class CIM_MessageLog : CIM_Log {
123           
124                 [Key, Description (
125                     "CreationClassName indicates the name of the class or the "
126                     "subclass used in the creation of an instance. When used "
127 karl  1.1           "with the other key properties of this class, this property "
128                     "allows all instances of this class and its subclasses to be "
129                     "uniquely identified."), 
130                  MaxLen ( 256 )]
131              string CreationClassName;
132           
133                 [Key, Override ( "Name" ), Description (
134                     "The inherited Name serves as part of the key (a unique "
135                     "identifier) for the MessageLog instance."), 
136                  MaxLen ( 256 )]
137              string Name;
138           
139                 [Description (
140                     "An array of integers indicating the Log capabilities. "
141                     "Information such as \"Write Record Supported\" (value= 2) "
142                     "or \"Variable Length Records Supported\" (8) is specified "
143                     "in this property."), 
144                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
145                     "10" }, 
146                  Values { "Unknown", "Other", "Write Record Supported",
147                     "Delete Record Supported", "Can Move Backward in Log",
148 karl  1.1           "Freeze Log Supported", "Clear Log Supported",
149                     "Supports Addressing by Ordinal Record Number",
150                     "Variable Length Records Supported",
151                     "Variable Formats for Records",
152                     "Can Flag Records for Overwrite" }, ArrayType ( "Indexed" ), 
153                  ModelCorrespondence { "CIM_MessageLog.CapabilitiesDescriptions" 
154                     }]
155              uint16 Capabilities[];
156           
157                 [Description (
158                     "An array of free-form strings providing more detailed "
159                     "explanations for any of the Log features indicated in the "
160                     "Capabilities array. Note, each entry of this array is "
161                     "related to the entry in the Capabilities array that is "
162                     "located at the same index."), 
163                  ArrayType ( "Indexed" ), 
164                  ModelCorrespondence { "CIM_MessageLog.Capabilities" }]
165              string CapabilitiesDescriptions[];
166           
167                 [Description (
168                     "The maximum size, in bytes, to which the Log can grow. If "
169 karl  1.1           "there is no maximum, then MaxLogSize should be set to 0."), 
170                  Units ( "Bytes" )]
171              uint64 MaxLogSize;
172           
173                 [Description (
174                     "The size of the Log header, in bytes, if one is present. If "
175                     "there is no Log header, then this property should be set to "
176                     "0. Headers may include general information about the Log "
177                     "such as the current number of records, time of last update, "
178                     "or a pointer to the location of the first Log entry. Note "
179                     "that this property is NOT the size of the header for an "
180                     "individual Log entry. The latter is described by the "
181                     "property, SizeOfRecordHeader."), 
182                  Units ( "Bytes" )]
183              uint64 SizeOfHeader;
184           
185                 [Description (
186                     "If the SizeOfHeader property is non-zero, this property "
187                     "describes the structure and format of the Log header. It is "
188                     "a free-form string. If the SizeOfHeader property is 0, then "
189                     "the information in this property is undefined.")]
190 karl  1.1    string HeaderFormat;
191           
192                 [Description (
193                     "Maximum size, in bytes, to which an individual Log entry "
194                     "(record) can grow - if the Capabilities array includes a "
195                     "value of 7 (\"Variable Length Records Supported\"). If the "
196                     "Capabilities array does not include a 7, then the Log only "
197                     "supports fixed length entries. The size of these entries is "
198                     "described by this property."), 
199                  Units ( "Bytes" )]
200              uint64 MaxRecordSize;
201           
202                 [Description (
203                     "The size of the header for the Log's individual entries, in "
204                     "bytes, if record headers are defined. If there are no "
205                     "record headers, then this property should be set to 0. "
206                     "Record headers may include information such as the type of "
207                     "the Log entry, the date/time that the entry was last "
208                     "updated, or a pointer to the start of optional data. Note "
209                     "that this property defines the header size for individual "
210                     "records in the Log, while the SizeOfHeader property "
211 karl  1.1           "describes the Log's overall header, typically located at "
212                     "the start of the MessageLog."), 
213                  Units ( "Bytes" )]
214              uint64 SizeOfRecordHeader;
215           
216                 [Description (
217                     "If the SizeOfRecordHeader property is non-zero, this "
218                     "property describes the structure and format of the record "
219                     "headers. It is a free-form string. If the "
220                     "SizeOfRecordHeader property is 0, then the information in "
221                     "this property is undefined.")]
222              string RecordHeaderFormat;
223           
224                 [Description (
225                     "An enumeration describing the behavior of the Log, when it "
226                     "becomes full or near full. For example, the Log may wrap "
227                     "(value=2) or may simply stop recording entries (value =7). "
228                     "\n\n"
229                     "Some of the property's possible values need further "
230                     "explanation: \n"
231                     "3=\"Clear When Near Full\" indicates that all of the Log's "
232 karl  1.1           "entries will be deleted when a specified record capacity is "
233                     "reached. The capacity is specified in percentage, using the "
234                     "property, PercentageNearFull. 'Near Full' may be less than "
235                     "100% if the Log takes time to clear, and a position should "
236                     "always be available for new records. \n"
237                     "4=\"Overwrite Outdated When Needed\" describes that Log "
238                     "entries (timestamped later than the date/time specified in "
239                     "the property, TimeWhenOutdated) can be overwritten. \n"
240                     "5=\"Remove Outdated Records\" specifies that records "
241                     "(timestamped later than the date/time specified in the "
242                     "property, TimeWhenOutdated) are logically and/or physically "
243                     "removed from the Log. \n"
244                     "6=\"Overwrite Specific Records\" indicates that specially "
245                     "flagged records may be overwritten. This property only "
246                     "makes sense when the Capabilities array includes a value of "
247                     "10, \"Can Flag Records for Overwrite\"."), 
248                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" }, 
249                  Values { "Unknown", "Other", "Wraps When Full",
250                     "Clear When Near Full", "Overwrite Outdated When Needed",
251                     "Remove Outdated Records", "Overwrite Specific Records",
252                     "Never Overwrite" }, 
253 karl  1.1        ModelCorrespondence { "CIM_MessageLog.OtherPolicyDescription",
254                     "CIM_MessageLog.TimeWhenOutdated",
255                     "CIM_MessageLog.PercentageNearFull" }]
256              uint16 OverwritePolicy;
257           
258                 [Description (
259                     "When the OverwritePolicy specifies a value of 1 "
260                     "(\"Other\"), the Log's behavior can be explained using this "
261                     "property. If OverwritePolicy is not 1, then this property's "
262                     "contents are undefined."), 
263                  ModelCorrespondence { "CIM_MessageLog.OverwritePolicy" }]
264              string OtherPolicyDescription;
265           
266                 [Description (
267                     "If the OverwritePolicy is based on 'outdated' records "
268                     "(values 4 or 5), this property defines when a Log entry is "
269                     "considered to be outdated - either by time interval or at a "
270                     "specific date and time."), 
271                  ModelCorrespondence { "CIM_MessageLog.OverwritePolicy" }]
272              datetime TimeWhenOutdated;
273           
274 karl  1.1       [Description (
275                     "If the OverwritePolicy is based on clearing records when "
276                     "the Log is near full (value=3), this property defines the "
277                     "record capacity (in percentage) that is considered to be "
278                     "'near full'."), 
279                  Units ( "Percent" ), 
280                  ModelCorrespondence { "CIM_MessageLog.OverwritePolicy" }]
281              uint8 PercentageNearFull;
282           
283                 [Description (
284                     "An enumeration describing the last change to the "
285                     "MessageLog."), 
286                  ValueMap { "0", "1", "2", "3", "4" }, 
287                  Values { "Unknown", "Add", "Delete", "Modify", "Log Cleared" }]
288              uint16 LastChange;
289           
290                 [Description (
291                     "When a change is made to the Log, the date/time of that "
292                     "modification is captured. This property could be used to "
293                     "event against any update to the MessageLog.")]
294              datetime TimeOfLastChange;
295 karl  1.1 
296                 [Description (
297                     "When a change is made to the Log, the record number that "
298                     "was modified is captured.")]
299              uint64 RecordLastChanged;
300           
301                 [Description (
302                     "Boolean indicating that the Log is currently frozen and "
303                     "modifications are not allowed.")]
304              boolean IsFrozen;
305           
306                 [Description (
307                     "An enumeration describing the character set used to record "
308                     "data in the individual Log entries. For example, the Log "
309                     "records may contain ASCII data (value=2), or be raw octet "
310                     "strings (value=10)."), 
311                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
312                     "10", "11" }, 
313                  Values { "Unknown", "Other", "ASCII", "Unicode", "ISO2022",
314                     "ISO8859", "Extended UNIX Code", "UTF-8", "UCS-2",
315                     "Bitmapped Data", "OctetString",
316 karl  1.1           "Defined by Individual Records" }]
317              uint16 CharacterSet;
318           
319                 [Description (
320                     "Requests that an iteration of the MessageLog be established "
321                     "and that the iterator be set to the first entry in the Log. "
322                     "An identifier for the iterator is returned as an output "
323                     "parameter of the method. \n"
324                     "\n"
325                     "Regarding iteration, you have 2 choices: 1) Embed iteration "
326                     "data in the method call, and allow implementations to "
327                     "track/ store this data manually; or, 2) Iterate using a "
328                     "separate object (for example, class ActiveIterator) as an "
329                     "iteration agent. The first approach is used here for "
330                     "interoperability. The second requires an instance of the "
331                     "Iterator object for EACH iteration in progress. 2's "
332                     "functionality could be implemented underneath 1. \n"
333                     "\n"
334                     "The return value from PositionToFirstRecord should be 0 if "
335                     "the request was successfully executed, 1 if the request is "
336                     "not supported and some other value if an error occurred. In "
337 karl  1.1           "a subclass, the set of possible return codes could be "
338                     "specified, using a ValueMap qualifier on the method. The "
339                     "strings to which the ValueMap contents are 'translated' may "
340                     "also be specified in the subclass as a Values array "
341                     "qualifier.")]
342              uint32 PositionToFirstRecord ( 
343                    [IN ( false ), OUT, Description (
344                        "An identifier for the iterator.")]
345                 string IterationIdentifier); 
346           
347                 [Description (
348                     "Requests that the Log's iteration identifier be advanced or "
349                     "retreated a specific number of records, or set to the entry "
350                     "at a specified numeric location. These two different "
351                     "behaviors are accomplished using the input parameters of "
352                     "the method. Advancing or retreating is achieved by setting "
353                     "the MoveAbsolute boolean to FALSE, and then specifying the "
354                     "number of entries to advance or retreat as positive or "
355                     "negative values in the RecordNumber parameter. Moving to a "
356                     "specific record number is accomplished by setting the "
357                     "MoveAbsolute input parameter to TRUE, and then placing the "
358 karl  1.1           "record number into the RecordNumber parameter. This can "
359                     "only be done if the Capabilities array includes a value of "
360                     "7, \"Supports Addressing by Ordinal Record Number\". \n"
361                     "\n"
362                     "After the method completes and if ordinal record numbers "
363                     "are supported (the Capabilities array includes a 7), the "
364                     "current record number is returned in the RecordNumber "
365                     "output parameter. Otherwise, the value of the parameter is "
366                     "undefined. \n"
367                     "\n"
368                     "IterationIdentifier is defined as an Input/Output method "
369                     "parameter to allow the Log to embed state information in "
370                     "the Identifier and potentially let the identifier be "
371                     "maintained by the using application. \n"
372                     "\n"
373                     "The return value from PositionAtRecord should be 0 if the "
374                     "request was successfully executed, 1 if the request is not "
375                     "supported and some other value if an error occurred. If the "
376                     "request is not supported, check the Capabilities array "
377                     "regarding support for ordinal record number addressing and "
378                     "backward movement in the Log (values 7 and 4, "
379 karl  1.1           "respectively). \n"
380                     "\n"
381                     "Note: In a subclass, the set of possible return codes could "
382                     "be described using a ValueMap qualifier on the method. The "
383                     "strings to which the ValueMap contents are 'translated' may "
384                     "also be specified in the subclass as a Values array "
385                     "qualifier.")]
386              uint32 PositionAtRecord ( 
387                    [IN, OUT, Description (
388                        "An identifier for the iterator.")]
389                 string IterationIdentifier, 
390                    [IN, Description (
391                        "Advancing or retreating the IterationIdentifier is "
392                        "achieved by setting the MoveAbsolute boolean to FALSE, "
393                        "and specifying the number of entries to advance or "
394                        "retreat as positive or negative values in the "
395                        "RecordNumber parameter. Moving to a specific record "
396                        "number is accomplished by setting the MoveAbsolute "
397                        "parameter to TRUE, and placing the record number into "
398                        "the RecordNumber parameter.")]
399                 boolean MoveAbsolute, 
400 karl  1.1          [IN, OUT, Description (
401                        "The relative or absolute record number.")]
402                 sint64 RecordNumber); 
403           
404                 [Description (
405                     "Requests that the record indicated by the "
406                     "IterationIdentifier be retrieved from the MessageLog. After "
407                     "retrieval, the IterationIdentifier may be advanced to the "
408                     "next record by setting the PositionToNext input parameter "
409                     "to TRUE. Two output parameters are defined for the method - "
410                     "RecordData which holds the contents of the Log entry (as an "
411                     "array of bytes that can be recast to an appropriate "
412                     "format), and RecordNumber which returns the current record "
413                     "number addressed via the Iteration Identifier. The "
414                     "RecordNumber parameter is only defined/valid when the "
415                     "Capabilities array indicates that ordinal record number "
416                     "addressing is supported (a value of 7). \n"
417                     "\n"
418                     "IterationIdentifier is defined as an Input/Output method "
419                     "parameter to allow the Log to embed state information in "
420                     "the Identifier and potentially let the identifier be "
421 karl  1.1           "maintained by the using application. \n"
422                     "\n"
423                     "The return value from GetRecord should be 0 if the request "
424                     "was successfully executed, 1 if the request is not "
425                     "supported, and some other value if an error occurred. In a "
426                     "subclass, the set of possible return codes could be "
427                     "specified, using a ValueMap qualifier on the method. The "
428                     "strings to which the ValueMap contents are 'translated' may "
429                     "also be specified in the subclass as a Values array "
430                     "qualifier.")]
431              uint32 GetRecord ( 
432                    [IN, OUT, Description (
433                        "An identifier for the iterator.")]
434                 string IterationIdentifier, 
435                    [IN, Description (
436                        "Boolean indicating that the Iteration Identifier should "
437                        "be advanced to the next record, after retrieving the "
438                        "current Log entry.")]
439                 boolean PositionToNext, 
440                    [IN ( false ), OUT, Description (
441                        "The record number.")]
442 karl  1.1       uint64 RecordNumber, 
443                    [IN ( false ), OUT, Description (
444                        "The record data.")]
445                 uint8 RecordData[]); 
446           
447                 [Description (
448                     "Requests that the record indicated by the "
449                     "IterationIdentifier be deleted from the MessageLog. After "
450                     "deletion, the Iteration Identifier may be advanced to the "
451                     "next record by setting the PositionToNext input parameter "
452                     "to TRUE. If set to FALSE, then the IterationIdentifier will "
453                     "be positioned at the previous record. Two output parameters "
454                     "are defined for the method - RecordData which holds the "
455                     "contents of the deleted Log entry (as an array of bytes "
456                     "that can be recast to an appropriate format or discarded), "
457                     "and RecordNumber which returns the current record number "
458                     "addressed via the IterationIdentifier. The RecordNumber "
459                     "parameter is only defined/valid when the Capabilities array "
460                     "indicates that ordinal record number addressing is "
461                     "supported (a value of 7). \n"
462                     "\n"
463 karl  1.1           "IterationIdentifier is defined as an Input/Output method "
464                     "parameter to allow the Log to embed state information in "
465                     "the Identifier and potentially let the identifier be "
466                     "maintained by the using application. \n"
467                     "\n"
468                     "The return value from DeleteRecord should be 0 if the "
469                     "request was successfully executed, 1 if the request is not "
470                     "supported, and some other value if an error occurred. If "
471                     "the request is not supported, check the Capabilities array "
472                     "that a value of 3 (\"Delete Record Supported\") is "
473                     "specified. \n"
474                     "\n"
475                     "Note: In a subclass, the set of possible return codes could "
476                     "be described using a ValueMap qualifier on the method. The "
477                     "strings to which the ValueMap contents are 'translated' may "
478                     "also be specified in the subclass as a Values array "
479                     "qualifier.")]
480              uint32 DeleteRecord ( 
481                    [IN, OUT, Description (
482                        "An identifier for the iterator.")]
483                 string IterationIdentifier, 
484 karl  1.1          [IN, Description (
485                        "Boolean that when set to TRUE requests the "
486                        "IterationIdentifier to be advanced to the next record, "
487                        "after the current entry is deleted. If set to FALSE, "
488                        "IterationIdentifier is set to the previous record.")]
489                 boolean PositionToNext, 
490                    [IN ( false ), OUT, Description (
491                        "The record number.")]
492                 uint64 RecordNumber, 
493                    [IN ( false ), OUT, Description (
494                        "The record data.")]
495                 uint8 RecordData[]); 
496           
497                 [Description (
498                     "Requests that a record be inserted at the Log position "
499                     "indicated by the IterationIdentifier. The entry's data is "
500                     "provided in the RecordData input parameter. After "
501                     "insertion, the IterationIdentifier may be advanced to the "
502                     "next record by setting the PositionToNext input parameter "
503                     "to TRUE. The output parameter, RecordNumber, returns the "
504                     "current record number addressed via the "
505 karl  1.1           "IterationIdentifier. This parameter is only defined/valid "
506                     "when the Capabilities array indicates that ordinal record "
507                     "number addressing is supported (a value of 7). \n"
508                     "\n"
509                     "IterationIdentifier is defined as an Input/Output method "
510                     "parameter to allow the Log to embed state information in "
511                     "the Identifier and potentially let the identifier be "
512                     "maintained by the using application. \n"
513                     "\n"
514                     "The return value from WriteRecord should be 0 if the "
515                     "request was successfully executed, 1 if the request is not "
516                     "supported, and some other value if an error occurred. If "
517                     "the request is not supported, check the Capabilities array "
518                     "that a value of 2 (\"Write Record Supported\") is "
519                     "specified. \n"
520                     "\n"
521                     "Note: In a subclass, the set of possible return codes could "
522                     "be described using a ValueMap qualifier on the method. The "
523                     "strings to which the ValueMap contents are 'translated' may "
524                     "also be specified in the subclass as a Values array "
525                     "qualifier.")]
526 karl  1.1    uint32 WriteRecord ( 
527                    [IN, OUT, Description (
528                        "An identifier for the iterator.")]
529                 string IterationIdentifier, 
530                    [IN, Description (
531                        "Boolean indicating that the Iteration Identifier should "
532                        "be advanced to the next record, after writing the Log "
533                        "entry.")]
534                 boolean PositionToNext, 
535                    [IN, Description (
536                        "The record data.")]
537                 uint8 RecordData[], 
538                    [IN ( false ), OUT, Description (
539                        "The record number.")]
540                 uint64 RecordNumber); 
541           
542                 [Description (
543                     "Requests that an iteration of the Log, identified by the "
544                     "IterationIdentifier input parameter, be stopped. The return "
545                     "value from CancelIteration should be 0 if the request was "
546                     "successfully executed, 1 if the request is not supported "
547 karl  1.1           "and some other value if an error occurred. In a subclass, "
548                     "the set of possible return codes could be specified, using "
549                     "a ValueMap qualifier on the method. The strings to which "
550                     "the ValueMap contents are 'translated' may also be "
551                     "specified in the subclass as a Values array qualifier.")]
552              uint32 CancelIteration ( 
553                    [IN, Description (
554                        "An identifier for the iterator.")]
555                 string IterationIdentifier); 
556           
557                 [Description (
558                     "Requests that the MessageLog be placed in a frozen state "
559                     "(\"Freeze\" input parameter = TRUE) or 'unfrozen' (= "
560                     "FALSE). If frozen, modifications to the Log will not be "
561                     "allowed. If successful, the Log's IsFrozen boolean property "
562                     "will be updated to reflect the desired state. \n"
563                     "\n"
564                     "The method's return code should be 0 if the request was "
565                     "successfully executed, 1 if the request is not supported "
566                     "and some other value if an error occurred. If the request "
567                     "is not supported, check the Capabilities array that a value "
568 karl  1.1           "of 5 (\"Freeze Log Supported\") is specified. \n"
569                     "\n"
570                     "Note: In a subclass, the set of possible return codes could "
571                     "be described using a ValueMap qualifier on the method. The "
572                     "strings to which the ValueMap contents are 'translated' may "
573                     "also be specified in the subclass as a Values array "
574                     "qualifier.")]
575              uint32 FreezeLog( 
576                    [IN, Description (
577                        "If TRUE then freeze the log, if FALSE 'unfreeze' the "
578                        "log.")]
579                 boolean Freeze); 
580           
581                 [Description (
582                     "Requests that the record indicated by the "
583                     "IterationIdentifier be flagged as overwriteable. This "
584                     "method is only supported when the Capabilities array "
585                     "includes a value of 10, \"Can Flag Records for Overwrite\". "
586                     "After updating the entry, the IterationIdentifier may be "
587                     "advanced to the next record by setting the PositionToNext "
588                     "input parameter to TRUE. One output parameter is defined "
589 karl  1.1           "for the method RecordNumber. It returns the current record "
590                     "number addressed via the Iteration Identifier. This "
591                     "parameter is only defined/valid when the Capabilities array "
592                     "indicates that ordinal record number addressing is "
593                     "supported (a value of 7). \n"
594                     "\n"
595                     "IterationIdentifier is defined as an Input/Output method "
596                     "parameter to allow the Log to embed state information in "
597                     "the Identifier and potentially let the identifier be "
598                     "maintained by the using application. \n"
599                     "\n"
600                     "The return value from FlagRecordForOverwrite should be 0 if "
601                     "the request was successfully executed, 1 if the request is "
602                     "not supported, and some other value if an error occurred. "
603                     "In a subclass, the set of possible return codes could be "
604                     "specified, using a ValueMap qualifier on the method. The "
605                     "strings to which the ValueMap contents are 'translated' may "
606                     "also be specified in the subclass as a Values array "
607                     "qualifier.")]
608              uint32 FlagRecordForOverwrite ( 
609                    [IN, OUT, Description (
610 karl  1.1              "An identifier for the iterator.")]
611                 string IterationIdentifier, 
612                    [IN, Description (
613                        "Boolean indicating that the Iteration Identifier should "
614                        "be advanced to the next record, after updating the "
615                        "current Log entry.")]
616                 boolean PositionToNext, 
617                    [IN ( false ), OUT, Description (
618                        "The record number.")]
619                 uint64 RecordNumber); 
620           };
621           
622           // ===================================================================
623           // RecordLog
624           // ===================================================================
625              [Experimental, Version ( "2.8.1000" ), Description (
626                  "RecordLog serves as an aggregation point for LogRecord "
627                  "objects. This class presents a higher level view of a log than "
628                  "its peer class MessageLog (which uses iterators) and "
629                  "introduces a new key structure. Access to records in this log "
630                  "is achieved through the use of the standard CIM Operations "
631 karl  1.1        "defined as part of WBEM.")]
632           class CIM_RecordLog : CIM_Log {
633           
634                 [Key, Description (
635                     "Within the scope of the instantiating Namespace, InstanceID "
636                     "opaquely and uniquely identifies an instance of this class. "
637                     "\nIn order to ensure uniqueness within the NameSpace, the "
638                     "value of InstanceID SHOULD be constructed using the "
639                     "following 'preferred' algorithm: \n"
640                     "<OrgID>:<LocalID> \n"
641                     "Where <OrgID> and <LocalID> are separated by a colon ':', "
642                     "and where <OrgID> MUST include a copyrighted, trademarked "
643                     "or otherwise unique name that is owned by the business "
644                     "entity creating/defining the InstanceID, or is a registered "
645                     "ID that is assigned to the business entity by a recognized "
646                     "global authority (This is similar to the <Schema "
647                     "Name>_<Class Name> structure of Schema class names.) In "
648                     "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
649                     "colon (':'). When using this algorithm, the first colon to "
650                     "appear in InstanceID MUST appear between <OrgID> and "
651                     "<LocalID>. \n"
652 karl  1.1           "<LocalID> is chosen by the business entity and SHOULD not "
653                     "be re-used to identify different underlying (real-world) "
654                     "elements. If the above 'preferred' algorithm is not used, "
655                     "the defining entity MUST assure that the resultant "
656                     "InstanceID is not re-used across any InstanceIDs produced "
657                     "by this or other providers for this instance's NameSpace. \n"
658                     "For DMTF defined instances, the 'preferred' algorithm MUST "
659                     "be used with the <OrgID> set to 'CIM'.")]
660              string InstanceID;
661           
662           };
663           
664           // ===================================================================
665           // DiagnosticsLog
666           // ===================================================================
667              [Experimental, Version ( "2.8.1000" ), Description (
668                  "DiagnosticsLog serves as an aggregation point for "
669                  "DiagnosticRecord objects. This class exists in order to "
670                  "encourage the use of a consolidated record management "
671                  "methodology for diagnostics. A common set of providers for "
672                  "this log and its associated records SHOULD be used to control "
673 karl  1.1        "functions such as record persistence, query support and "
674                  "overall data integrity in a consistent manner.")]
675           class CIM_DiagnosticsLog : CIM_RecordLog {
676           };
677           
678           // ===================================================================
679           // LogRecord
680           // ===================================================================
681              [Version ( "2.8.1000" ), Description (
682                  "The LogRecord object can describe the definitional format for "
683                  "entries in a MessageLog, or can be used to instantiate the "
684                  "actual records in the Log. The latter approach provides a "
685                  "great deal more semantic definition and management control "
686                  "over the individual entries in a MessageLog, than do the "
687                  "record manipulation methods of the Log class. It is "
688                  "recommended that the data in individual Log entries be modeled "
689                  "using subclasses of LogRecord, to avoid the creation of "
690                  "LogRecords with one property (such as RecordData) without "
691                  "semantics. \n"
692                  "Definitional formats for LogRecords could be specified by "
693                  "establishing a naming convention for the RecordID and Message "
694 karl  1.1        "Timestamp key properties.")]
695           class CIM_LogRecord : CIM_ManagedElement {
696           
697                 [Key, Propagated ( "CIM_MessageLog.CreationClassName" ), 
698                  Description (
699                     "The scoping Log's CreationClassName."), 
700                  MaxLen ( 256 )]
701              string LogCreationClassName;
702           
703                 [Key, Propagated ( "CIM_MessageLog.Name" ), Description (
704                     "The scoping Log's Name."), 
705                  MaxLen ( 256 )]
706              string LogName;
707           
708                 [Key, Description (
709                     "CreationClassName indicates the name of the class or the "
710                     "subclass used in the creation of an instance. When used "
711                     "with the other key properties of this class, this property "
712                     "allows all instances of this class and its subclasses to be "
713                     "uniquely identified."), 
714                  MaxLen ( 256 )]
715 karl  1.1    string CreationClassName;
716           
717                 [Key, Description (
718                     "RecordID, with the MessageTimestamp property, serve to "
719                     "uniquely identify the LogRecord within a MessageLog. Note "
720                     "that this property is different than the RecordNumber "
721                     "parameters of the MessageLog methods. The latter are "
722                     "ordinal values only, useful to track position when "
723                     "iterating through a Log. On the other hand, RecordID is "
724                     "truly an identifier for an instance of LogRecord. It may be "
725                     "set to the record's ordinal position, but this is not "
726                     "required."), 
727                  MaxLen ( 256 )]
728              string RecordID;
729           
730                 [Key, Description (
731                     "A LogRecord's key structure includes a timestamp for the "
732                     "entry.")]
733              datetime MessageTimestamp;
734           
735                 [Deprecated { "CIM_LogRecord.RecordFormat" }, Description (
736 karl  1.1           "A free-form string describing the LogRecord's data "
737                     "structure.")]
738              string DataFormat;
739           
740                 [Experimental, Description (
741                     "A string describing the data structure of the information "
742                     "in the property, RecordData. If the RecordFormat string is "
743                     "<empty>, RecordData should be interpreted as a free-form "
744                     "string. \n"
745                     "\n"
746                     "To describe the data structure of RecordData, the "
747                     "RecordFormat string should be constructed as follows: \n"
748                     "- The first character is a delimiter character and is used "
749                     "to parse the remainder of the string into sub-strings. \n"
750                     "- Each sub-string is separated by the delimiter character "
751                     "and should be in the form of a CIM property declaration "
752                     "(i.e., datatype and property name). This set of "
753                     "declarations may be used to interpret the similarly "
754                     "delimited RecordData property. \n"
755                     "For example, using a '*' delimiter, RecordFormat = "
756                     "\"*string ThisDay*uint32 ThisYear*datetime SomeTime\" \n"
757 karl  1.1           "may be used to interpret: RecordData = \"*This is "
758                     "Friday*2002*20020807141000.000000-300\"."), 
759                  ModelCorrespondence { "CIM_LogRecord.RecordData" }]
760              string RecordFormat;
761           
762                 [Experimental, Description (
763                     "A string containing LogRecord data. \n"
764                     "If the corresponding RecordFormat property is <empty>, or "
765                     "cannot be parsed according to the recommended format, "
766                     "RecordData should be interpreted as a free-form string. If "
767                     "the RecordFormat property contains parseable format "
768                     "information (as recommended in the RecordFormat Description "
769                     "qualifier), the RecordData string SHOULD be parsed in "
770                     "accordance with this format. In this case, RecordData "
771                     "SHOULD begin with the delimiter character and this "
772                     "character SHOULD be used to separate substrings in the "
773                     "manner described. The RecordData string can then be parsed "
774                     "by the data consumer and appropriately typed."), 
775                  ModelCorrespondence { "CIM_LogRecord.RecordFormat" }]
776              string RecordData;
777           };
778 karl  1.1 
779           
780           // ===================================================================
781           // RecordInLog
782           // ===================================================================
783              [Association, Aggregation, Composition, Version ( "2.7.0" ), 
784               Description (
785                  "RecordInLog describes the aggregation or location of Log "
786                  "entries within a MessageLog.")]
787           class CIM_RecordInLog {
788           
789                 [Key, Aggregate, Min ( 1 ), Max ( 1 ), Description (
790                     "The Message Log.")]
791              CIM_MessageLog REF MessageLog;
792           
793                 [Key, Weak, Description (
794                     "The Log entry contained within the MessageLog.")]
795              CIM_LogRecord REF LogRecord;
796           };
797           
798           
799 karl  1.1 // ===================================================================
800           // LogInDeviceFile
801           // ===================================================================
802              [Association, Version ( "2.6.0" ), Description (
803                  "MessageLogs can reside in data files, on specially allocated "
804                  "storage areas such as disks or memory, or output as raw I/O "
805                  "streams. In fact, a single Log may use each of these "
806                  "mechanisms to output or capture its contents. The "
807                  "LogInDeviceFile association describes a Log outputting to a "
808                  "raw I/O stream DeviceFile - for example, a serial port on a "
809                  "UNIX system.")]
810           class CIM_LogInDeviceFile : CIM_Dependency {
811           
812                 [Override ( "Antecedent" ), Description (
813                     "The I/O stream DeviceFile.")]
814              CIM_DeviceFile REF Antecedent;
815           
816                 [Override ( "Dependent" ), Description (
817                     "The MessageLog outputting to the DeviceFile.")]
818              CIM_MessageLog REF Dependent;
819           };
820 karl  1.1 
821           
822           // ===================================================================
823           // LogInDataFile
824           // ===================================================================
825              [Association, Version ( "2.6.0" ), Description (
826                  "MessageLogs can reside in data files, on specially allocated "
827                  "storage areas such as disks or memory, or output as raw I/O "
828                  "streams. In fact, a single Log may use each of these "
829                  "mechanisms to output or capture its contents. The "
830                  "LogInDataFile association describes a Log stored as a "
831                  "DataFile.")]
832           class CIM_LogInDataFile : CIM_Dependency {
833           
834                 [Override ( "Antecedent" ), Description (
835                     "The DataFile.")]
836              CIM_DataFile REF Antecedent;
837           
838                 [Override ( "Dependent" ), Description (
839                     "The MessageLog residing in the DataFile.")]
840              CIM_MessageLog REF Dependent;
841 karl  1.1 };
842           
843           
844           // ===================================================================
845           // LogInStorage
846           // ===================================================================
847              [Association, Version ( "2.6.0" ), Description (
848                  "MessageLogs can reside in data files, on specially allocated "
849                  "storage areas such as disks or memory, or output as raw I/O "
850                  "streams. In fact, a single Log may use each of these "
851                  "mechanisms to output or capture its contents. The LogInStorage "
852                  "association describes a Log located in a specially allocated "
853                  "portion of a StorageExtent. The offset of the Log, within the "
854                  "Extent, is defined using a property of the association, "
855                  "StartingOffset.")]
856           class CIM_LogInStorage : CIM_Dependency {
857           
858                 [Override ( "Antecedent" ), Description (
859                     "The StorageExtent.")]
860              CIM_StorageExtent REF Antecedent;
861           
862 karl  1.1       [Override ( "Dependent" ), Description (
863                     "The MessageLog located within the Extent.")]
864              CIM_MessageLog REF Dependent;
865           
866                 [Description (
867                     "StartingOffset indicates where in the Extent that the Log "
868                     "begins.")]
869              uint64 StartingOffset;
870           };
871           
872           // ===================================================================
873           // UseOfLog
874           // ===================================================================
875              [Association, Experimental, Version ( "2.8.1000" ), Description (
876                  "ManagedSystemElements may record their event, error or "
877                  "informational data within Logs. The use of a Log to hold a "
878                  "ManagedSystemElement's data is described by this association. "
879                  "The type of Element data captured by the Log can be specified "
880                  "using the RecordedData string property.")]
881           class CIM_UseOfLog : CIM_Dependency {
882           
883 karl  1.1       [Override ( "Antecedent" ), Description (
884                     "The Log.")]
885              CIM_Log REF Antecedent;
886           
887                 [Override ( "Dependent" ), Description (
888                     "The ManagedSystemElement whose information is recorded in "
889                     "the Log.")]
890              CIM_ManagedSystemElement REF Dependent;
891           
892                 [Description (
893                     "A free-form string describing the use of the Log by the "
894                     "ManagedSystemElement.")]
895              string RecordedData;
896           };
897           
898           
899           // ===================================================================
900           // UseOfMessageLog
901           // ===================================================================
902              [Association, Version ( "2.8.1000" ), Description (
903                  "ManagedSystemElements may record their event, error or "
904 karl  1.1        "informational data within MessageLogs. The use of a Log to "
905                  "hold a ManagedSystemElement's data is described by this "
906                  "association. \n"
907                  "UseOfMessageLog has the same semantics as UseOfLog. Users "
908                  "SHOULD reference UseOfLog in lieu of this association.")]
909           class CIM_UseOfMessageLog : CIM_UseOfLog {
910           
911                 [Override ( "Antecedent" ), Description (
912                     "The MessageLog.")]
913              CIM_MessageLog REF Antecedent;
914           
915           };
916           
917           // ===================================================================
918           // OperationLog
919           // ===================================================================
920              [Association, Version ( "2.8.0" ), Description (
921                  "CIM_OperationLog is a specialization of the "
922                  "CIM_UseOfMessageLog association that identifies a reproducible "
923                  "record of operations for a LogicalElement.")]
924           class CIM_OperationLog : CIM_UseOfMessageLog {
925 karl  1.1 
926                 [Override ( "Antecedent" ), Description (
927                     "The Log containing reproducible operations for the "
928                     "associated LogicalElement.")]
929              CIM_MessageLog REF Antecedent;
930           
931                 [Override ( "Dependent" ), Min ( 1 ), Max ( 1 ), Description (
932                     "The LogicalElement for the associated OperationLog.")]
933              CIM_LogicalElement REF Dependent;
934           };
935           
936           // ===================================================================
937           // RecordAppliesToElement
938           // ===================================================================
939              [Association, Experimental, Version ( "2.8.1000" ), Description (
940                  "ManagedSystemElements may create LogRecord objects to record "
941                  "their event, error or informational data within Logs. The "
942                  "relationship between these managed elements and the records "
943                  "they create is described by this association.")]
944           class CIM_RecordAppliesToElement : CIM_Dependency {
945           
946 karl  1.1       [Override ( "Antecedent" ), Description (
947                     "The Record.")]
948              CIM_LogRecord REF Antecedent;
949           
950                 [Override ( "Dependent" ), Description (
951                     "The ManagedSystemElement that participated in the creation "
952                     "of the Record.")]
953              CIM_ManagedElement REF Dependent;
954           
955           };
956           
957           // ===================================================================
958           // LogManagesRecord
959           // ===================================================================
960              [Association, Experimental, Aggregation, Composition,
961                  Version ( "2.8.1000" ), Description (
962                  "LogManagesRecord describes the aggregation or location of "
963                  "records managed by a RecordLog. \n"
964                  "Since RecordLog has a different key structure than MessageLog, "
965                  "this association is required (as a peer to RecordInLog) in "
966                  "order to remove the weak record-to-log relationship "
967 karl  1.1        "represented by RecordInLog.")]
968           class CIM_LogManagesRecord {
969           
970                 [Key, Aggregate, Min ( 1 ), Max ( 1 ), Description (
971                     "The Log.")]
972              CIM_RecordLog REF RecordLog;
973           
974                 [Key, Description (
975                     "The record managed by the Log.")]
976              CIM_LogRecord REF LogRecord;
977           };
978           
979           // ===================================================================
980           // end of file
981           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2