1 kumpf 1.27 //%/////////////////////////////////////////////////////////////////////////////
|
2 kumpf 1.1 //
|
3 kumpf 1.27 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
|
4 kumpf 1.1 // The Open Group, Tivoli Systems
5 //
6 // Permission is hereby granted, free of charge, to any person obtaining a copy
7 // of this software and associated documentation files (the "Software"), to
8 // deal in the Software without restriction, including without limitation the
9 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10 // sell copies of the Software, and to permit persons to whom the Software is
11 // furnished to do so, subject to the following conditions:
|
12 kumpf 1.27 //
|
13 kumpf 1.1 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
14 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
15 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
16 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
17 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
18 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 //
22 //==============================================================================
23 //
24 // Author: Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com)
25 //
26 // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company
27 // (carolann_graves@hp.com)
28 //
29 // Modified By: Ben Heilbronn, Hewlett-Packard Company
30 // (ben_heilbronn@hp.com)
31 //
32 //%/////////////////////////////////////////////////////////////////////////////
33
34 kumpf 1.1 #ifndef Pegasus_IndicationService_h
35 #define Pegasus_IndicationService_h
36
37 #include <Pegasus/Common/Config.h>
38 #include <Pegasus/Common/MessageQueueService.h>
39 #include <Pegasus/Common/CIMMessage.h>
|
40 kumpf 1.24 #include <Pegasus/Common/IPC.h>
|
41 kumpf 1.1 #include <Pegasus/Repository/CIMRepository.h>
|
42 kumpf 1.6 #include <Pegasus/Server/ProviderRegistrationManager/ProviderRegistrationManager.h>
|
43 kumpf 1.1 #include <Pegasus/WQL/WQLParser.h>
44 #include <Pegasus/WQL/WQLSelectStatement.h>
45 #include <Pegasus/WQL/WQLSimplePropertySource.h>
|
46 kumpf 1.28 #include <Pegasus/Server/Linkage.h>
|
47 kumpf 1.1
48 PEGASUS_NAMESPACE_BEGIN
49
|
50 kumpf 1.10 /**
51 Entry for list of indication providers
52 */
53 struct providerClassList
|
54 kumpf 1.1 {
|
55 kumpf 1.6 CIMInstance provider;
56 CIMInstance providerModule;
|
57 kumpf 1.31 Array <CIMName> classList;
|
58 mday 1.13 providerClassList()
59 {
60 }
61
62 providerClassList(const providerClassList & rh)
63 : provider(rh.provider),
64 providerModule(rh.providerModule),
65 classList(rh.classList)
66 {
67
68 }
69 providerClassList & operator= (const providerClassList & rh)
70 {
71 if( this != &rh)
72 {
73 provider = rh.provider;
74 providerModule = rh.providerModule;
75 classList = rh.classList;
76 }
77 return *this;
78 }
|
79 kumpf 1.1 };
|
80 mday 1.13
|
81 kumpf 1.10 typedef struct providerClassList ProviderClassList;
82
|
83 mday 1.13 struct enableProviderList
84 {
85 ProviderClassList *pcl;
|
86 kumpf 1.26 CIMInstance *cni;
|
87 mday 1.13
88 enableProviderList(const ProviderClassList & list,
|
89 kumpf 1.26 const CIMInstance & instance)
|
90 mday 1.13 {
91 pcl = new ProviderClassList(list);
|
92 kumpf 1.26 cni = new CIMInstance (instance);
|
93 mday 1.13
94 }
95
96 ~enableProviderList()
97 {
98 delete pcl;
99 delete cni;
100 }
101
102 };
103
104
|
105 kumpf 1.10 /**
106 Entry for Subscription table
107 */
108 struct SubscriptionTableEntry
109 {
|
110 kumpf 1.26 CIMInstance subscription;
|
111 kumpf 1.10 CIMInstance provider;
|
112 kumpf 1.31 Array <CIMName> classList;
|
113 kumpf 1.10 };
|
114 kumpf 1.1
|
115 kumpf 1.10 /**
116 Table for subscription information.
117 The table keys are generated by concatenating the Subscription namespace
118 name, Filter and Handler key values, and Provider key values. Each table
119 value includes the Subscription, the Provider, and the list of classnames.
120 The key allows quick access when the subscription and provider are both
121 known (i.e. initialize, instance operations, provider registration changes).
122 When only the provider is known (i.e. provider termination), an iterator is
123 used to search the table. That is, the table is designed to optimize all
124 operations except provider termination.
125 */
126 typedef HashTable <String,
127 SubscriptionTableEntry,
128 EqualFunc <String>,
129 HashFunc <String> > SubscriptionTable;
|
130 kumpf 1.1
131 /**
132
|
133 kumpf 1.5 IndicationService class is the service that serves the
|
134 kumpf 1.10 Indication Subscription, Indication Filter, and Indication Handler
|
135 kumpf 1.5 classes, and processes indications.
|
136 kumpf 1.1
137 @author Hewlett-Packard Company
138
139 */
140
141 class PEGASUS_SERVER_LINKAGE IndicationService : public MessageQueueService
142 {
143 public:
144
145 typedef MessageQueueService Base;
146
147 /**
148 Constructs an IndicationSubscription instance and initializes instance
149 variables.
150 */
|
151 kumpf 1.6 IndicationService (
152 CIMRepository * repository,
|
153 kumpf 1.8 ProviderRegistrationManager * providerRegManager);
|
154 kumpf 1.1
155 virtual ~IndicationService(void);
156
|
157 mday 1.2 void handleEnqueue(Message* message);
|
158 kumpf 1.1
159 virtual void handleEnqueue(void);
160
161 virtual void _handle_async_request(AsyncRequest *req);
162
163 AtomicInt dienow;
164
165 /**
|
166 kumpf 1.5 Operation types for the NotifyProviderRegistration message
|
167 kumpf 1.1 */
|
168 kumpf 1.5 enum Operation {OP_CREATE = 1, OP_DELETE = 2, OP_MODIFY = 3};
|
169 kumpf 1.24
170 static Mutex _mutex;
|
171 kumpf 1.1
|
172 kumpf 1.5 private:
|
173 kumpf 1.1
174 void _initialize (void);
175
176 void _terminate (void);
177
178 void _handleGetInstanceRequest(const Message * message);
179
180 void _handleEnumerateInstancesRequest(const Message * message);
181
182 void _handleEnumerateInstanceNamesRequest(const Message * message);
183
184 void _handleCreateInstanceRequest(const Message * message);
185
186 void _handleModifyInstanceRequest(const Message * message);
187
188 void _handleDeleteInstanceRequest(const Message * message);
189
190 void _handleProcessIndicationRequest(const Message * message);
191
192 /**
193 Notifies the Indication Service that a change in provider registration
194 kumpf 1.1 has occurred. The Indication Service retrieves the subscriptions
|
195 kumpf 1.23 affected by the registration change, sends the appropriate Create,
196 Modify, and/or Delete requests to the provider, and sends an alert to
|
197 kumpf 1.10 handler instances of subscriptions that are no longer served by the
198 provider.
|
199 kumpf 1.1 */
200 void _handleNotifyProviderRegistrationRequest(const Message * message);
201
202 /**
|
203 kumpf 1.11 Notifies the Indication Service that a provider has
204 terminated (either intentionally or abnormally). The
205 Indication Service retrieves the subscriptions affected by the
|
206 kumpf 1.1 termination, and sends an alert to handler instances of
207 subscriptions that are no longer served by the provider.
208 */
209 void _handleNotifyProviderTerminationRequest(const Message * message);
210
211 /**
|
212 kumpf 1.12 Implements the subscription's On Fatal Error Policy.
213 This function is called when a fatal error has occurred in the
214 indication provider or indication handler, and the subscription can no
215 longer be served.
216 If the subscription's policy is Disable, the Subscription State is
217 set to Disabled.
218 If the subscription's policy is Remove, the subscription instance is
219 deleted.
220
221 @param subscription the subscription named instance
222
223 @return True if the subscription has been disabled or deleted
224 False otherwise
225 */
226 Boolean _handleError (
|
227 kumpf 1.26 const CIMInstance subscription);
|
228 kumpf 1.12
229 /**
230 Disables the subscription.
231 This function is called when a fatal error has occurred in the
232 indication provider or indication handler, the subscription can no
233 longer be served, and the subscription's policy is Disable.
234 The Subscription State is set to Disabled.
235
236 @param subscription the subscription named instance
237 */
238 void _disableSubscription (
|
239 kumpf 1.26 CIMInstance subscription);
|
240 kumpf 1.12
241 /**
242 Deletes the subscription instance.
243 This function is called when a fatal error has occurred in the
244 indication provider or indication handler, the subscription can no
245 longer be served, and the subscription's policy is Remove.
246 The subscription instance is deleted.
247
248 @param subscription the subscription named instance
249 */
250 void _deleteSubscription (
|
251 kumpf 1.26 const CIMInstance subscription);
|
252 kumpf 1.12
253 /**
|
254 kumpf 1.5 Determines if it is legal to create an instance.
255 Checks for existence of all key and required properties. Checks that
256 properties that MUST NOT exist (based on values of other properties),
257 do not exist. For any property that has a default value, if it does
258 not exist, adds the property with the default value.
259
260 @param instance instance to be created
261 @param nameSpace namespace for instance to be created
262
263 @throw CIM_ERR_INVALID_PARAMETER if instance is invalid
264 @throw CIM_ERR_NOT_SUPPORTED if the specified class is not
265 supported
266
267 @return True if the instance can be created
|
268 kumpf 1.10 Otherwise throws an exception
|
269 kumpf 1.5 */
270 Boolean _canCreate (
271 CIMInstance & instance,
|
272 kumpf 1.31 const CIMNamespaceName & nameSpace);
|
273 kumpf 1.5
|
274 kumpf 1.21 /**
275 Validates the specified required property in the instance.
276 If the property does not exist, or has a null value, an exceptiuon is
277 thrown, using the specified message.
278
279 This function is called by the _canCreate function, and is used to
280 validate the Filter and Handler properties in Subscription instances,
281 the Name, CreationClassName, Query and Query Language properties in
282 Filter instances, the Name, CreationClassName, and Destination
283 properties in CIMXML Handler instances, and the Name, CreationClassName,
284 Trap Destination, and SNMP Version properties in SNMP Mapper instances.
285
286 @param instance instance to be validated
287 @param propertyName name of property to be validated
288 @param message message to be used in exception
289
290 @throw CIM_ERR_INVALID_PARAMETER if required property is missing or
291 null
292 */
|
293 kumpf 1.20 void _checkRequiredProperty (
294 CIMInstance & instance,
|
295 kumpf 1.31 const CIMName & propertyName,
|
296 kumpf 1.20 const String & message);
297
|
298 kumpf 1.5 /**
|
299 kumpf 1.15 Validates the specified property and its corresponding Other___
300 property in the instance.
301 If the property does not exist, it is added with the default value.
302 If the property exists, but its value is NULL, its value is set to
303 the default value.
304 If the value of the property is Other, but the corresponding Other___
305 property either does not exist or has a value of NULL, an exception is
306 thrown.
307 If the value of the property is not Other, but the corresponding
308 Other___ property exists and has a non-NULL value, an exception is
309 thrown.
310 This function is called by the _canCreate function, and is used to
311 validate the following pairs of properties in Subscription or Handler
312 instances: Subscription State, Other Subscription State, Repeat
313 Notification Policy, Other Repeat Notification Policy, On Fatal Error
314 Policy, Other On Fatal Error Policy, Persistence Type, Other
315 Persistence Type.
316
317 @param instance instance to be validated
318 @param propertyName name of property to be validated
319 @param otherPropertyName name of Other___ property to be validated
320 kumpf 1.15 @param defaultValue default value for property
321 @param otherValue "Other" value for property
|
322 kumpf 1.19 @param validValues set of valid values for property
|
323 kumpf 1.15
324 @throw CIM_ERR_INVALID_PARAMETER if value of property or Other___
325 property is invalid
326 */
|
327 kumpf 1.20 void _checkPropertyWithOther (
|
328 kumpf 1.15 CIMInstance & instance,
|
329 kumpf 1.31 const CIMName & propertyName,
330 const CIMName & otherPropertyName,
|
331 kumpf 1.15 const Uint16 defaultValue,
|
332 kumpf 1.19 const Uint16 otherValue,
333 const Array <Uint16> & validValues);
|
334 kumpf 1.20
|
335 kumpf 1.21 /**
336 Validates the specified property in the instance.
337 If the property does not exist, it is added with the default value.
338 If the property exists, but its value is NULL, its value is set to
339 the default value.
340 This function is called by the _canCreate function, and is used to
341 validate the System Name and System Creation Class Name properties in
342 Filter and Handler instances, and the Source Namespace property in
343 Filter instances.
344
345 @param instance instance to be validated
346 @param propertyName name of property to be validated
347 @param defaultValue default value for property
348
349 @return the value of the property
350
351 */
|
352 kumpf 1.20 String _checkPropertyWithDefault (
353 CIMInstance & instance,
|
354 kumpf 1.31 const CIMName & propertyName,
|
355 kumpf 1.20 const String & defaultValue);
|
356 kumpf 1.15
357 /**
|
358 kumpf 1.10 Determines if the user is authorized to modify the instance, and if the
359 specified modification is supported. Currently, the only modification
360 supported is of the Subscription State property of the Subscription
361 class.
|
362 kumpf 1.5
363 @param request modification request
364 @param instance instance to be modified
365
|
366 kumpf 1.10 @throw CIM_ERR_NOT_SUPPORTED if the specified modification is
|
367 kumpf 1.5 not supported
368 @throw CIM_ERR_ACCESS_DENIED if the user is not authorized to
369 modify the instance
370
371 @return True if the instance can be modified
|
372 kumpf 1.10 Otherwise throws an exception
|
373 kumpf 1.5 */
374 Boolean _canModify (
375 const CIMModifyInstanceRequestMessage * request,
|
376 kumpf 1.25 const CIMObjectPath & instanceReference,
|
377 kumpf 1.19 CIMInstance & instance);
|
378 kumpf 1.5
379 /**
|
380 kumpf 1.10 Determines if the user is authorized to delete the instance, and if it
|
381 kumpf 1.11 is legal to delete the instance. If authorized, Subscription instances
|
382 kumpf 1.10 may always be deleted. Filter and non-transient Handler instances may
383 only be deleted if they are not being referenced by any Subscription
384 instances. If the instance to be deleted is a transient Handler, any
385 referencing Subscriptions are also deleted.
|
386 kumpf 1.5
387 @param instanceReference reference for instance to be deleted
388 @param nameSpace namespace for instance to be deleted
|
389 kumpf 1.10 @param currentUser current user
390
391 @throw CIM_ERR_ACCESS_DENIED if the user is not authorized to
392 delete the instance
393 @throw CIM_ERR_FAILED if the instance to be deleted is
394 referenced by a subscription
|
395 kumpf 1.5
396 @return True if the instance can be deleted
|
397 kumpf 1.10 Otherwise throws an exception
|
398 kumpf 1.1 */
399 Boolean _canDelete (
|
400 kumpf 1.25 const CIMObjectPath & instanceReference,
|
401 kumpf 1.31 const CIMNamespaceName & nameSpace,
|
402 kumpf 1.10 const String & currentUser);
|
403 kumpf 1.1
404 /**
405 Retrieves list of enabled subscription instances in all namespaces.
406
|
407 kumpf 1.26 @return list of CIMInstance subscriptions
|
408 kumpf 1.1 */
|
409 kumpf 1.26 Array <CIMInstance> _getActiveSubscriptions () const;
|
410 kumpf 1.1
411 /**
412 Retrieves list of enabled subscription instances in all namespaces,
413 where the subscription indication class matches or is a superclass
|
414 kumpf 1.10 of the supported class, and the properties required to process the
415 subscription are all contained in the list of supported properties.
|
416 kumpf 1.1
|
417 kumpf 1.10 @param supportedClass the supported class
418 @param nameSpaces the list of supported namespaces
419 @param supportedProperties the list of supported properties
|
420 kumpf 1.1
|
421 kumpf 1.26 @return list of CIMInstance subscriptions
|
422 kumpf 1.1 */
|
423 kumpf 1.26 Array <CIMInstance> _getMatchingSubscriptions (
|
424 kumpf 1.31 const CIMName & supportedClass,
425 const Array <CIMNamespaceName> nameSpaces,
|
426 kumpf 1.10 const CIMPropertyList & supportedProperties);
|
427 kumpf 1.1
428 /**
429 Retrieves lists of enabled subscription instances in all namespaces
430 that are either newly supported or previously supported, based on the
|
431 kumpf 1.9 supported class, the supported namespaces before and after modification,
432 and the supported properties before and after modification. For
|
433 kumpf 1.10 subscriptions based on the supported class, the newSubscriptions list
|
434 kumpf 1.9 returned contains the subscriptions for which the properties required
435 to process the subscription are all contained in the new list of
436 supported properties, but are not all contained in the old list of
437 supported properties, and/or the filter source namespace is contained in
438 the new list if supported namespaces, but is not contained in the old
439 list of supported namespaces. The formerSubscriptions list returned
440 contains the subscriptions for which the properties required to process
441 the subscription are not all contained in the new list of supported
442 properties, but are all contained in the old list of supported
443 properties, and/or the filter source namespace is not contained in the
444 new list if supported namespaces, but is contained in the old list of
445 supported namespaces.
446
|
447 kumpf 1.10 @param supportedClass the supported class
|
448 kumpf 1.9 @param newNameSpaces namespaces supported after modification
449 @param oldNameSpaces namespaces supported before modification
450 @param newProperties properties supported after modification
451 @param oldProperties properties supported before modification
|
452 kumpf 1.1 @param newSubscriptions the list of newly supported subscriptions
453 @param formerSubscriptions the list of previously supported
454 subscriptions
455 */
456 void _getModifiedSubscriptions (
|
457 kumpf 1.31 const CIMName & supportedClass,
458 const Array <CIMNamespaceName> & newNameSpaces,
459 const Array <CIMNamespaceName> & oldNameSpaces,
|
460 kumpf 1.1 const CIMPropertyList & newProperties,
461 const CIMPropertyList & oldProperties,
|
462 kumpf 1.26 Array <CIMInstance> & newSubscriptions,
463 Array <CIMInstance> & formerSubscriptions);
|
464 kumpf 1.1
465 /**
|
466 kumpf 1.15 Retrieves list of all namespaces from the repository.
467
468 @return List of all namespace names
469 */
|
470 kumpf 1.31 Array <CIMNamespaceName> _getNameSpaceNames (void) const;
|
471 kumpf 1.15
472 /**
473 Retrieves list of subscriptions in the specified namespace.
474
475 @param nameSpace the namespace
476
477 @return List of subscription named instances
478 */
|
479 kumpf 1.26 Array <CIMInstance> _getSubscriptions (
|
480 kumpf 1.31 const CIMNamespaceName & nameSpaceName) const;
|
481 kumpf 1.15
482 /**
|
483 kumpf 1.9 Determines if all of the required properties in the specified list
484 are contained in the specified list of supported properties.
485
486 @param requiredProperties the required properties
|
487 kumpf 1.10 @param supportedProperties the supported properties
|
488 kumpf 1.9
489 @return true if all required properties are supported
490 false otherwise
491 */
492 Boolean _inPropertyList (
493 const CIMPropertyList & requiredProperties,
|
494 kumpf 1.10 const CIMPropertyList & supportedProperties);
|
495 kumpf 1.9
496 /**
|
497 kumpf 1.1 Retrieves list of enabled subscription instances in all namespaces,
498 that are served by the specified provider.
499
|
500 kumpf 1.10 @param provider the provider instance
|
501 kumpf 1.1
|
502 kumpf 1.26 @return list of CIMInstance subscriptions
|
503 kumpf 1.1 */
|
504 kumpf 1.26 Array <CIMInstance> _getProviderSubscriptions (
|
505 kumpf 1.10 const CIMInstance & provider);
|
506 kumpf 1.1
507 /**
|
508 kumpf 1.10 Retrieves the values of the filter query, source namespace,
509 and query language properties for the specified subscription instance.
|
510 kumpf 1.1
|
511 kumpf 1.10 @param subscription Input subscription instance
512 @param nameSpaceName Input namespace name
513 @param query Output query for the filter
514 @param sourceNameSpace Output source namespace for the filter
515 subscription
516 @param queryLanguage Output query language in which the filter
517 query is expressed
|
518 kumpf 1.1 */
|
519 kumpf 1.10 void _getFilterProperties (
|
520 kumpf 1.1 const CIMInstance & subscription,
|
521 kumpf 1.31 const CIMNamespaceName & nameSpaceName,
|
522 kumpf 1.10 String & query,
|
523 kumpf 1.31 CIMNamespaceName & sourceNameSpace,
|
524 kumpf 1.10 String & queryLanguage);
|
525 kumpf 1.1
526 /**
|
527 kumpf 1.10 Retrieves the values of the filter query and source namespace
528 properties for the specified subscription instance.
|
529 kumpf 1.8
|
530 kumpf 1.10 @param subscription Input subscription instance
531 @param nameSpaceName Input namespace name
532 @param query Output query for the filter
533 @param sourceNameSpace Output source namespace for the filter
534 subscription
|
535 kumpf 1.8 */
|
536 kumpf 1.10 void _getFilterProperties (
|
537 kumpf 1.8 const CIMInstance & subscription,
|
538 kumpf 1.31 const CIMNamespaceName & nameSpaceName,
|
539 kumpf 1.10 String & query,
|
540 kumpf 1.31 CIMNamespaceName & sourceNameSpace);
|
541 kumpf 1.8
542 /**
|
543 kumpf 1.32 Retrieves the value of the filter query property
|
544 kumpf 1.1 for the specified subscription instance.
545
|
546 kumpf 1.10 @param subscription Input subscription instance
547 @param nameSpaceName Input namespace name
548 @param query Output query for the filter
|
549 kumpf 1.1 */
|
550 kumpf 1.10 void _getFilterProperties (
|
551 kumpf 1.1 const CIMInstance & subscription,
|
552 kumpf 1.31 const CIMNamespaceName & nameSpaceName,
|
553 kumpf 1.10 String & query);
|
554 kumpf 1.1
555 /**
556 Parses the filter query string, and returns the corresponding
557 WQLSelectStatement object.
558
559 @param filterQuery the filter query string
560
561 @return WQLSelectStatement representing the filter query
562 */
563 WQLSelectStatement _getSelectStatement (
564 const String & filterQuery) const;
565
566 /**
567 Extracts the indication class name from the specified WQL select
568 statement, and validates that the name represents a subclass of the
569 Indication class.
570
571 @param selectStatement the WQL select statement
572 @param nameSpaceName the namespace
573
574 @return String containing the indication class name
575 kumpf 1.1 */
|
576 kumpf 1.31 CIMName _getIndicationClassName (
|
577 kumpf 1.1 const WQLSelectStatement & selectStatement,
|
578 kumpf 1.31 const CIMNamespaceName & nameSpaceName) const;
|
579 kumpf 1.15
580 /**
581 Enumerates the subclass names of the specified indication class.
582
583 @param nameSpace the namespace
584 @param indicationClassName the indication class name
585
586 @return List of indication subclass names
587 */
|
588 kumpf 1.31 Array <CIMName> _getIndicationSubclasses (
589 const CIMNamespaceName & nameSpace,
590 const CIMName & indicationClassName) const;
|
591 kumpf 1.1
592 /**
593 Retrieves the list of indication providers that serve the specified
594 indication subclasses.
595
596 @param nameSpaceName the namespace name
597 @param indicationClassName the indication class name
598 @param indicationSubclasses the list of indication subclass names
599 @param requiredPropertyList the properties required
600
601 @return list of ProviderClassList structs
602 */
|
603 kumpf 1.10 Array <ProviderClassList> _getIndicationProviders (
|
604 kumpf 1.31 const CIMNamespaceName & nameSpace,
605 const CIMName & indicationClassName,
606 const Array <CIMName> & indicationSubclasses,
|
607 kumpf 1.1 const CIMPropertyList & requiredPropertyList) const;
608
609 /**
610 Retrieves the list of properties referenced by the specified
611 filter query select statement.
612
613 @param selectStatement the WQL select statement
|
614 kumpf 1.22 @param nameSpaceName the namespace
615 @param indicationClassName the indciation class name
|
616 kumpf 1.1
|
617 kumpf 1.22 @return CIMPropertyList of properties referenced by the filter query
618 select statement
|
619 kumpf 1.1 */
620 CIMPropertyList _getPropertyList (
|
621 kumpf 1.11 const WQLSelectStatement & selectStatement,
|
622 kumpf 1.31 const CIMNamespaceName & nameSpaceName,
623 const CIMName & indicationClassName) const;
|
624 kumpf 1.22
625 /**
626 Checks if the property list includes all properties in the specified
627 class. If so, a NULL CIMPropertyList is returned. Otherwise, a
|
628 kumpf 1.32 CIMPropertyList containing the properties is returned.
|
629 kumpf 1.22
630 @param propertyList the list of property names
631 @param nameSpaceName the namespace
632 @param indicationClassName the indciation class name
633
634 @return CIMPropertyList of properties referenced by the filter query
635 select statement
636 */
637 CIMPropertyList _checkPropertyList (
|
638 kumpf 1.29 const Array <CIMName> & propertyList,
|
639 kumpf 1.31 const CIMNamespaceName & nameSpaceName,
640 const CIMName & indicationClassName) const;
|
641 kumpf 1.1
642 /**
643 Extracts the condition (WHERE Clause) from the specified filter query
644 string.
645
646 @param filterQuery the filter query
647
648 @return String containing the filter query condition
649 */
650 String _getCondition (
651 const String & filterQuery) const;
652
653 /**
|
654 kumpf 1.26 Retrieves the Handler CIMInstance representing the handler of the
|
655 kumpf 1.1 specified subscription.
656
|
657 kumpf 1.7 @param subscription the subscription
|
658 kumpf 1.1
|
659 kumpf 1.26 @return a Handler CIMInstance for the subscription's handler
|
660 kumpf 1.1 */
|
661 kumpf 1.26 CIMInstance _getHandler (
662 const CIMInstance & subscription) const;
|
663 kumpf 1.1
664 /**
|
665 kumpf 1.4 Determines if specified handler is Transient.
666
667 @param nameSpace the name space
668 @param handler the handler reference
669
670 @return True if the Handler is Transient,
671 False otherwise
672 */
673 Boolean _isTransient (
|
674 kumpf 1.31 const CIMNamespaceName & nameSpace,
|
675 kumpf 1.25 const CIMObjectPath & handler) const;
|
676 kumpf 1.4
677 /**
678 Deletes subscriptions referencing the specified handler.
679
680 @param nameSpace the name space
681 @param referenceProperty the name of the reference property in the
682 subscription instance
683 @param handler the handler reference
684 */
685 void _deleteReferencingSubscriptions (
|
686 kumpf 1.31 const CIMNamespaceName & nameSpace,
687 const CIMName & referenceProperty,
|
688 kumpf 1.25 const CIMObjectPath & handler);
|
689 kumpf 1.4
690 /**
691 Determines if specified Subscription has expired
692
693 NOTE: It is assumed that the instance passed to this function is a
694 Subscription instance, and that the Subscription Duration and
695 Start Time properties exist
696
697 @param instance the subscription instance
698
699 @return True if the Subscription has expired,
700 False otherwise
701 */
702 Boolean _isExpired (
703 const CIMInstance & instance) const;
704
705 /**
|
706 kumpf 1.5 Deletes specified subscription
707
708 @param subscription the subscription reference
709 */
710 void _deleteExpiredSubscription (
|
711 kumpf 1.25 CIMObjectPath & subscription);
|
712 kumpf 1.21
713 /**
714 Gets the Subscription Time Remaining property
715
716 Calculates time remaining from Subscription Start Time, Subscription
717 Duration, and current date time. If the subscription has a non-null
718 Duration, the Time Remaining is set, and True is returned. If the
719 subscription does not have a non-null Duration, it has no expiration
720 date, and the time remaining is unlimited. In this case, the Time
721 Remaining is not set and False is returned.
722
723 NOTE: It is assumed that the instance passed to this function is a
724 Subscription instance, and that the Start Time property exists and
725 has a value
726
727 @param instance Input the subscription instance
728 @param timeRemaining Output the time remaining (seconds)
729
730 @return True if the subscription has a non-null Duration
731 False otherwise
732 */
733 kumpf 1.21 Boolean _getTimeRemaining (
734 const CIMInstance & instance,
735 Uint64 & timeRemaining) const;
|
736 kumpf 1.5
737 /**
|
738 kumpf 1.4 Sets the Subscription Time Remaining property
739
740 Calculates time remaining from Subscription Start Time, Subscription
741 Duration, and current date time
742
743 NOTE: It is assumed that the instance passed to this function is a
744 Subscription instance, and that the Subscription Duration and
745 Start Time properties exist
746
747 @param instance the subscription instance
748 */
749 void _setTimeRemaining (
750 CIMInstance & instance);
751
752 /**
|
753 kumpf 1.23 Gets the parameter values required to Create or Modify the subscription
|
754 kumpf 1.10 request.
|
755 kumpf 1.5 If no indication providers are found, condition and queryLanguage are
|
756 kumpf 1.3 set to empty string.
757
|
758 kumpf 1.17 @param nameSpace Input namespace name (of subscription)
|
759 kumpf 1.3 @param subscription Input subscription instance
760 @param indicationProviders Output list of providers with associated
761 classes
762 @param propertyList Output list of properties required by the
763 subscription
|
764 kumpf 1.17 @param sourceNameSpace Output source namespace for filter query
|
765 kumpf 1.3 @param condition Output condition part of the filter query
766 @param queryLanguage Output query language in which the filter
767 query is expressed
768 */
|
769 kumpf 1.23 void _getCreateParams (
|
770 kumpf 1.31 const CIMNamespaceName & nameSpaceName,
|
771 kumpf 1.3 const CIMInstance & subscriptionInstance,
|
772 kumpf 1.10 Array <ProviderClassList> & indicationProviders,
773 CIMPropertyList & propertyList,
|
774 kumpf 1.31 CIMNamespaceName & sourceNameSpace,
|
775 kumpf 1.10 String & condition,
776 String & queryLanguage);
777
778 /**
|
779 kumpf 1.23 Gets the parameter values required to Create or Modify the subscription
|
780 kumpf 1.10 request.
781
|
782 kumpf 1.17 @param nameSpace Input namespace name (of subscription)
|
783 kumpf 1.10 @param subscription Input subscription instance
784 @param propertyList Output list of properties required by the
785 subscription
|
786 kumpf 1.17 @param sourceNameSpace Output source namespace for filter query
|
787 kumpf 1.10 @param condition Output condition part of the filter query
788 @param queryLanguage Output query language in which the filter
789 query is expressed
790 */
|
791 kumpf 1.23 void _getCreateParams (
|
792 kumpf 1.31 const CIMNamespaceName & nameSpaceName,
|
793 kumpf 1.10 const CIMInstance & subscriptionInstance,
|
794 kumpf 1.3 CIMPropertyList & propertyList,
|
795 kumpf 1.31 CIMNamespaceName & sourceNameSpace,
|
796 kumpf 1.3 String & condition,
797 String & queryLanguage);
798
799 /**
|
800 kumpf 1.23 Gets the parameter values required to Delete the subscription request.
|
801 kumpf 1.5
802 @param nameSpace Input namespace name
803 @param subscription Input subscription instance
804
|
805 kumpf 1.23 @return List of providers with associated classes to Delete
|
806 kumpf 1.5 */
|
807 kumpf 1.23 Array <ProviderClassList> _getDeleteParams (
|
808 kumpf 1.31 const CIMNamespaceName & nameSpaceName,
|
809 kumpf 1.5 const CIMInstance & subscriptionInstance);
810
|
811 mday 1.13
812 /**
|
813 kumpf 1.23 Asynchronous completion routine for _sendCreateRequests.
|
814 mday 1.13
|
815 kumpf 1.23 @param operation shared data structure that controls msg
816 processing
|
817 mday 1.13 @param destination target queue of completion callback
818 @param parm user parameter for callback processing
819 */
820
|
821 kumpf 1.23 static void _sendCreateRequestsCallBack(AsyncOpNode *operation,
|
822 mday 1.13 MessageQueue *destination,
823 void *parm);
824
825
|
826 kumpf 1.5 /**
|
827 kumpf 1.23 Sends Create subscription request for the specified subscription
|
828 kumpf 1.1 to each provider in the list.
829
830 @param indicationProviders list of providers with associated classes
831 @param nameSpace the namespace name
832 @param propertyList the properties referenced by the
833 subscription
834 @param condition the condition part of the filter query
835 @param queryLanguage the query language in which the filter
836 query is expressed
|
837 kumpf 1.23 @param subscription the subscription to be created
|
838 kumpf 1.9 @param userName the userName for authentication
839 @param authType the authentication type
840
841 @return True if at least one provider accepted the subscription
842 False otherwise
|
843 kumpf 1.1 */
|
844 kumpf 1.23 Boolean _sendCreateRequests (
|
845 kumpf 1.10 const Array <ProviderClassList> & indicationProviders,
|
846 kumpf 1.31 const CIMNamespaceName & nameSpace,
|
847 kumpf 1.1 const CIMPropertyList & propertyList,
848 const String & condition,
849 const String & queryLanguage,
|
850 kumpf 1.26 const CIMInstance & subscription,
|
851 kumpf 1.9 const String & userName,
852 const String & authType = String::EMPTY);
|
853 mday 1.13
854
855 /**
856 Callback completion routine for _sendModifyRequests
857
858 */
859
860 static void _sendModifyRequestsCallBack(AsyncOpNode *operation,
861 MessageQueue *destination,
862 void *parm);
863
|
864 kumpf 1.1
865 /**
|
866 kumpf 1.23 Sends Modify subscription request for the specified subscription
|
867 kumpf 1.1 to each provider in the list.
868
869 @param indicationProviders list of providers with associated classes
870 @param nameSpace the namespace name
871 @param propertyList the properties referenced by the
872 subscription
873 @param condition the condition part of the filter query
874 @param queryLanguage the query language in which the filter
875 query is expressed
876 @param subscription the subscription to be modified
|
877 kumpf 1.9 @param userName the userName for authentication
878 @param authType the authentication type
|
879 kumpf 1.1 */
880 void _sendModifyRequests (
|
881 kumpf 1.10 const Array <ProviderClassList> & indicationProviders,
|
882 kumpf 1.31 const CIMNamespaceName & nameSpace,
|
883 kumpf 1.1 const CIMPropertyList & propertyList,
884 const String & condition,
885 const String & queryLanguage,
|
886 kumpf 1.26 const CIMInstance & subscription,
|
887 kumpf 1.9 const String & userName,
888 const String & authType = String::EMPTY);
|
889 kumpf 1.1
|
890 mday 1.14
891 /**
|
892 kumpf 1.23 Asynchronous completion routine for _sendDeleteRequests.
|
893 mday 1.14 */
894
|
895 kumpf 1.23 static void _sendDeleteRequestsCallBack (
896 AsyncOpNode *operation,
897 MessageQueue *callback_destination,
898 void *parameter);
|
899 mday 1.14
|
900 kumpf 1.1 /**
|
901 kumpf 1.23 Sends Delete subscription request for the specified subscription
|
902 kumpf 1.1 to each provider in the list.
903
904 @param indicationProviders list of providers with associated classes
905 @param nameSpace the namespace name
906 @param subscription the subscription to be modified
|
907 kumpf 1.9 @param userName the userName for authentication
908 @param authType the authentication type
|
909 kumpf 1.1 */
|
910 kumpf 1.23 void _sendDeleteRequests (
|
911 kumpf 1.10 const Array <ProviderClassList> & indicationProviders,
|
912 kumpf 1.31 const CIMNamespaceName & nameSpace,
|
913 kumpf 1.26 const CIMInstance & subscription,
|
914 kumpf 1.9 const String & userName,
915 const String & authType = String::EMPTY);
|
916 kumpf 1.1
917 /**
|
918 kumpf 1.32 Generates a unique String key from the subscription namespace name and
919 key values and provider key values.
|
920 kumpf 1.10
|
921 kumpf 1.32 @param subscription the subscription instance
|
922 kumpf 1.10 @param provider the provider instance
923
924 @return the generated key
925 */
926 String _generateKey (
|
927 kumpf 1.26 const CIMInstance & subscription,
|
928 kumpf 1.32 const CIMInstance & provider);
|
929 kumpf 1.10
930 /**
931 Inserts an entry into the subscription table.
932
|
933 kumpf 1.32 @param subscription the subscription instance
|
934 kumpf 1.10 @param provider the provider instance
935 @param classList the list of class names
936 */
937 void _insertEntry (
|
938 kumpf 1.26 const CIMInstance & subscription,
|
939 kumpf 1.10 const CIMInstance & provider,
|
940 kumpf 1.31 const Array <CIMName> classList);
|
941 kumpf 1.10
942 /**
|
943 kumpf 1.1 Creates an alert instance of the specified class.
944
945 @param alertClassName the alert class name
|
946 kumpf 1.7 @param subscriptions subscriptions for which alert is to be
|
947 kumpf 1.1 created
948
949 @return the created alert instance
950 */
951 CIMInstance _createAlertInstance (
|
952 kumpf 1.31 const CIMName & alertClassName,
|
953 kumpf 1.26 const Array <CIMInstance> & subscriptions);
|
954 mday 1.14
955
956
957 /**
958 Asynchronous completion routine for _sendAlerts
959 */
960
961 static void _sendAlertsCallBack(AsyncOpNode *operation,
962 MessageQueue *callback_destination,
963 void *parameter);
964
|
965 kumpf 1.1
966 /**
967 Sends specified alert to each unique handler instance for the
968 specified subscriptions in the list.
969
|
970 kumpf 1.7 @param subscriptions subscriptions for which alert is to be
|
971 kumpf 1.1 sent
972 @param alertInstance the alert to be sent
973 */
974 void _sendAlerts (
|
975 kumpf 1.26 const Array <CIMInstance> & subscriptions,
|
976 kumpf 1.1 /* const */ CIMInstance & alertInstance);
|
977 mday 1.18
|
978 kumpf 1.1
|
979 kumpf 1.23 /** Async completion routine for _sendEnable */
|
980 mday 1.18
|
981 kumpf 1.23 static void _sendEnableCallBack(AsyncOpNode *operation,
|
982 mday 1.18 MessageQueue *callback_destination,
983 void *parameter);
984
985
|
986 kumpf 1.16 /**
|
987 kumpf 1.23 Sends an Enable message to the specified provider.
|
988 kumpf 1.16
|
989 kumpf 1.23 @param enableProvider the provider to be enabled
|
990 kumpf 1.16 */
|
991 kumpf 1.23 void _sendEnable (
992 const ProviderClassList & enableProvider);
|
993 kumpf 1.16
|
994 kumpf 1.1 WQLSimplePropertySource _getPropertySourceFromInstance(
995 CIMInstance & indicationInstance);
|
996 kumpf 1.5
|
997 kumpf 1.6 CIMRepository * _repository;
998
|
999 kumpf 1.8 /**
1000 Handle to Provider Registration Manager
1001 */
1002 ProviderRegistrationManager * _providerRegManager;
|
1003 kumpf 1.5
1004 /**
1005 Integer representing queue ID for accessing Provider Manager Service
1006 */
1007 Uint32 _providerManager;
1008
1009 /**
1010 Integer representing queue ID for accessing Handler Manager Service
1011 */
1012 Uint32 _handlerService;
1013
1014 /**
|
1015 kumpf 1.32 FUTURE: Integer representing queue ID for accessing Repository Service
|
1016 kumpf 1.5 */
1017 //Uint32 _repository;
1018
1019 /**
|
1020 kumpf 1.10 Subscription information table
1021 */
1022 SubscriptionTable _subscriptionTable;
1023
|
1024 kumpf 1.19 Array <Uint16> _validStates;
1025 Array <Uint16> _validRepeatPolicies;
1026 Array <Uint16> _validErrorPolicies;
1027 Array <Uint16> _validPersistenceTypes;
1028
|
1029 kumpf 1.10 /**
|
1030 kumpf 1.5 Values for the Subscription State property of the Subscription class,
1031 as defined in the CIM Events MOF
1032 */
1033 enum SubscriptionState {_STATE_UNKNOWN = 0, _STATE_OTHER = 1,
1034 _STATE_ENABLED = 2, _STATE_ENABLEDDEGRADED = 3, _STATE_DISABLED = 4};
1035
1036 /**
1037 Values for the Repeat Notification Policy property of the Subscription
1038 class, as defined in the CIM Events MOF
1039 */
1040 enum RepeatNotificationPolicy {_POLICY_UNKNOWN = 0, _POLICY_OTHER = 1,
1041 _POLICY_NONE = 2, _POLICY_SUPPRESS = 3, _POLICY_DELAY = 4};
1042
1043 /**
1044 Values for the On Fatal Error Policy property of the Subscription
1045 class, as defined in the CIM Events MOF
1046 */
1047 enum OnFatalErrorPolicy {_ERRORPOLICY_OTHER = 1, _ERRORPOLICY_IGNORE = 2,
1048 _ERRORPOLICY_DISABLE = 3, _ERRORPOLICY_REMOVE = 4};
1049
1050 /**
1051 kumpf 1.5 Values for the Persistence Type property of the Handler class,
1052 as defined in the CIM Events MOF
1053 */
1054 enum PersistenceType {_PERSISTENCE_OTHER = 1, _PERSISTENCE_PERMANENT = 2,
1055 _PERSISTENCE_TRANSIENT = 3};
1056
1057 /**
1058 Values for the Perceived Severity property of the Alert Indication
1059 class, as defined in the CIM Events MOF
1060 */
1061 enum PerceivedSeverity {_SEVERITY_UNKNOWN = 0, _SEVERITY_OTHER = 1,
1062 _SEVERITY_INFORMATION = 2, _SEVERITY_WARNING = 3, _SEVERITY_MINOR = 4,
1063 _SEVERITY_MAJOR = 5, _SEVERITY_CRITICAL = 6, _SEVERITY_FATAL = 7};
1064
1065 /**
1066 Values for the Probable Cause property of the Alert Indication
1067 class, as defined in the CIM Events MOF
1068 Note: not all possible values have been included
1069 */
1070 enum ProbableCause {_CAUSE_UNKNOWN = 0, _CAUSE_OTHER = 1};
1071
1072 kumpf 1.5 /**
1073 Values for the Alert Type property of the Alert Indication class,
1074 as defined in the CIM Events MOF
1075 */
1076 enum AlertType {_TYPE_OTHER = 1, _TYPE_COMMUNICATIONS = 2, _TYPE_QOS = 3,
1077 _TYPE_PROCESSING = 4, _TYPE_DEVICE = 5, _TYPE_ENVIRONMENTAL = 6,
1078 _TYPE_MODELCHANGE = 7, _TYPE_SECURITY = 8};
|
1079 kumpf 1.1
|
1080 kumpf 1.3 //
1081 // Class names
1082 //
1083
|
1084 kumpf 1.1 /**
1085 The name of the CIMOM Shutdown alert indication class
1086 */
|
1087 kumpf 1.31 static const CIMName _CLASS_CIMOM_SHUTDOWN_ALERT;
|
1088 kumpf 1.1
1089 /**
1090 The name of the No Provider alert indication class
1091 */
|
1092 kumpf 1.31 static const CIMName _CLASS_NO_PROVIDER_ALERT;
|
1093 kumpf 1.1
1094 /**
1095 The name of the CIMOM shutdown alert indication class
1096 */
|
1097 kumpf 1.31 static const CIMName _CLASS_PROVIDER_TERMINATED_ALERT;
|
1098 kumpf 1.1
1099
|
1100 kumpf 1.3 //
1101 // Property names
1102 //
1103
|
1104 kumpf 1.1 /**
1105 The name of the Subscription State property for Indication Subscription
1106 class
1107 */
|
1108 kumpf 1.31 static const CIMName _PROPERTY_STATE;
|
1109 kumpf 1.1
1110 /**
1111 The name of the Other Subscription State property for Indication
1112 Subscription class
1113 */
|
1114 kumpf 1.31 static const CIMName _PROPERTY_OTHERSTATE;
|
1115 kumpf 1.1
1116 /**
1117 The name of the repeat notification policy property for indication
1118 subscription class
1119 */
|
1120 kumpf 1.31 static const CIMName _PROPERTY_REPEATNOTIFICATIONPOLICY;
|
1121 kumpf 1.1
1122 /**
1123 The name of the other repeat notification policy property for
1124 indication subscription class
1125 */
|
1126 kumpf 1.31 static const CIMName _PROPERTY_OTHERREPEATNOTIFICATIONPOLICY;
|
1127 kumpf 1.1
1128 /**
1129 The name of the repeat notification interval property for indication
1130 subscription class
1131 */
|
1132 kumpf 1.31 static const CIMName _PROPERTY_REPEATNOTIFICATIONINTERVAL;
|
1133 kumpf 1.1
1134 /**
1135 The name of the repeat notification gap property for indication
1136 subscription class
1137 */
|
1138 kumpf 1.31 static const CIMName _PROPERTY_REPEATNOTIFICATIONGAP;
|
1139 kumpf 1.1
1140 /**
1141 The name of the repeat notification count property for indication
1142 subscription class
1143 */
|
1144 kumpf 1.31 static const CIMName _PROPERTY_REPEATNOTIFICATIONCOUNT;
|
1145 kumpf 1.1
1146 /**
1147 The name of the On Fatal Error Policy property for Indication
1148 Subscription class
1149 */
|
1150 kumpf 1.31 static const CIMName _PROPERTY_ONFATALERRORPOLICY;
|
1151 kumpf 1.1
1152 /**
1153 The name of the Other On Fatal Error Policy property for Indication
1154 Subscription class
1155 */
|
1156 kumpf 1.31 static const CIMName _PROPERTY_OTHERONFATALERRORPOLICY;
|
1157 kumpf 1.1
1158 /**
|
1159 kumpf 1.4 The name of the Time Of Last State Change property for Indication
1160 Subscription class
1161 */
|
1162 kumpf 1.31 static const CIMName _PROPERTY_LASTCHANGE;
|
1163 kumpf 1.4
1164 /**
1165 The name of the Subscription Start Time property for Indication
1166 Subscription class
1167 */
|
1168 kumpf 1.31 static const CIMName _PROPERTY_STARTTIME;
|
1169 kumpf 1.4
1170 /**
1171 The name of the Subscription Duration property for Indication
1172 Subscription class
1173 */
|
1174 kumpf 1.31 static const CIMName _PROPERTY_DURATION;
|
1175 kumpf 1.4
1176 /**
1177 The name of the Subscription Time Remaining property for Indication
1178 Subscription class
1179 */
|
1180 kumpf 1.31 static const CIMName _PROPERTY_TIMEREMAINING;
|
1181 kumpf 1.4
1182 /**
|
1183 kumpf 1.1 The name of the filter reference property for indication subscription
1184 class
1185 */
|
1186 kumpf 1.31 static const CIMName _PROPERTY_FILTER;
|
1187 kumpf 1.1
1188 /**
1189 The name of the handler reference property for indication subscription
1190 class
1191 */
|
1192 kumpf 1.31 static const CIMName _PROPERTY_HANDLER;
|
1193 kumpf 1.1
1194 /**
1195 The name of the query property for indication filter class
1196 */
|
1197 kumpf 1.31 static const CIMName _PROPERTY_QUERY;
|
1198 kumpf 1.1
1199 /**
1200 The name of the query language property for indication filter class
1201 */
|
1202 kumpf 1.31 static const CIMName _PROPERTY_QUERYLANGUAGE;
|
1203 kumpf 1.1
1204 /**
1205 The name of the Source Namespace property for indication filter class
1206 */
|
1207 kumpf 1.31 static const CIMName _PROPERTY_SOURCENAMESPACE;
|
1208 kumpf 1.1
1209 /**
1210 The name of the name property for indication filter and indication
1211 handler classes
1212 */
|
1213 kumpf 1.31 static const CIMName _PROPERTY_NAME;
|
1214 kumpf 1.1
1215 /**
1216 The name of the creation class name property for indication filter and
1217 indication handler classes
1218 */
|
1219 kumpf 1.31 static const CIMName _PROPERTY_CREATIONCLASSNAME;
|
1220 kumpf 1.1
1221 /**
1222 The name of the system name property for indication filter and
1223 indication handler classes
1224 */
|
1225 kumpf 1.31 static const CIMName _PROPERTY_SYSTEMNAME;
|
1226 kumpf 1.1
1227 /**
1228 The name of the system creation class name property for indication
1229 filter and indication handler classes
1230 */
|
1231 kumpf 1.31 static const CIMName _PROPERTY_SYSTEMCREATIONCLASSNAME;
|
1232 kumpf 1.1
1233 /**
1234 The name of the Persistence Type property for Indication Handler class
1235 */
|
1236 kumpf 1.31 static const CIMName _PROPERTY_PERSISTENCETYPE;
|
1237 kumpf 1.1
1238 /**
1239 The name of the Other Persistence Type property for Indication Handler
1240 class
1241 */
|
1242 kumpf 1.31 static const CIMName _PROPERTY_OTHERPERSISTENCETYPE;
|
1243 kumpf 1.1
1244 /**
|
1245 kumpf 1.7 The name of the Destination property for CIM XML Indication Handler
1246 subclass
|
1247 kumpf 1.1 */
|
1248 kumpf 1.31 static const CIMName _PROPERTY_DESTINATION;
|
1249 kumpf 1.7
1250 /**
1251 The name of the Trap Destination property for SNMP Mapper Indication
1252 Handler subclass
1253 */
|
1254 kumpf 1.31 static const CIMName _PROPERTY_TRAPDESTINATION;
|
1255 kumpf 1.1
1256 /**
1257 The name of the SNMP Type property for SNMP Indication Handler class
1258 */
|
1259 kumpf 1.31 static const CIMName _PROPERTY_SNMPTYPE;
|
1260 kumpf 1.1
1261 /**
1262 The name of the Alert Type property for Alert Indication class
1263 */
|
1264 kumpf 1.31 static const CIMName _PROPERTY_ALERTTYPE;
|
1265 kumpf 1.1
1266 /**
1267 The name of the Other Alert Type property for Alert Indication class
1268 */
|
1269 kumpf 1.31 static const CIMName _PROPERTY_OTHERALERTTYPE;
|
1270 kumpf 1.1
1271 /**
1272 The name of the Perceived Severity property for Alert Indication class
1273 */
|
1274 kumpf 1.31 static const CIMName _PROPERTY_PERCEIVEDSEVERITY;
|
1275 kumpf 1.1
1276 /**
1277 The name of the Probable Cause property for Alert Indication class
1278 */
|
1279 kumpf 1.31 static const CIMName _PROPERTY_PROBABLECAUSE;
|
1280 kumpf 1.1
1281 /**
|
1282 kumpf 1.10 The name of the Provider Name property for Provider class
|
1283 kumpf 1.1 */
|
1284 kumpf 1.31 static const CIMName _PROPERTY_PROVIDERNAME;
|
1285 kumpf 1.1
1286 /**
|
1287 kumpf 1.10 The name of the Provider Module Name property for Provider class
|
1288 kumpf 1.1 */
|
1289 kumpf 1.31 static const CIMName _PROPERTY_PROVIDERMODULENAME;
|
1290 kumpf 1.1
|
1291 kumpf 1.9
1292 //
1293 // Qualifier names
1294 //
1295
1296 /**
1297 The name of the Indication qualifier for classes
1298 */
|
1299 kumpf 1.31 static const CIMName _QUALIFIER_INDICATION;
|
1300 kumpf 1.9
|
1301 kumpf 1.4
1302 //
1303 // Other literal values
1304 //
|
1305 kumpf 1.1
1306 /**
|
1307 kumpf 1.4 The WHERE keyword in WQL
|
1308 kumpf 1.1 */
|
1309 kumpf 1.4 static const char _QUERY_WHERE [];
|
1310 kumpf 1.1
1311 /**
|
1312 kumpf 1.4 The string representing the asterisk all properties symbol in WQL
|
1313 kumpf 1.1 */
|
1314 kumpf 1.4 static const char _QUERY_ALLPROPERTIES [];
|
1315 kumpf 1.3
|
1316 kumpf 1.30 /**
1317 A zero value CIMDateTime interval
1318 */
1319 static const char _ZERO_INTERVAL_STRING [];
1320
1321
|
1322 kumpf 1.3 //
1323 // Message substrings used in exception messages
1324 //
1325
1326 static const char _MSG_MISSING_REQUIRED [];
1327
1328 static const char _MSG_KEY_PROPERTY [];
1329
1330 static const char _MSG_PROPERTY [];
1331
1332 static const char _MSG_PROPERTY_PRESENT [];
1333
1334 static const char _MSG_VALUE_NOT [];
1335
1336 static const char _MSG_NO_PROVIDERS [];
1337
|
1338 kumpf 1.9 static const char _MSG_NOT_ACCEPTED [];
1339
|
1340 kumpf 1.3 static const char _MSG_INVALID_CLASSNAME [];
1341
1342 static const char _MSG_IN_FROM [];
|
1343 kumpf 1.4
1344 static const char _MSG_EXPIRED [];
|
1345 kumpf 1.9
1346 static const char _MSG_REFERENCED [];
|
1347 kumpf 1.19
1348 static const char _MSG_INVALID_VALUE [];
1349
1350 static const char _MSG_FOR_PROPERTY [];
|
1351 kumpf 1.23
1352 static const char _MSG_CLASS_NOT_SERVED [];
|
1353 kumpf 1.1 };
1354
1355 PEGASUS_NAMESPACE_END
1356
1357 #endif
|