(file) Return to OperationContext.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

  1 karl  1.36 //%2006////////////////////////////////////////////////////////////////////////
  2 mike  1.2  //
  3 karl  1.31 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4            // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5            // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6 karl  1.25 // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.31 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8            // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9 karl  1.33 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl  1.36 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12            // EMC Corporation; Symantec Corporation; The Open Group.
 13 mike  1.2  //
 14            // Permission is hereby granted, free of charge, to any person obtaining a copy
 15            // of this software and associated documentation files (the "Software"), to
 16            // deal in the Software without restriction, including without limitation the
 17            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 18            // sell copies of the Software, and to permit persons to whom the Software is
 19            // furnished to do so, subject to the following conditions:
 20 kumpf 1.10 // 
 21 mike  1.2  // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22            // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 23            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 24            // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 25            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 26            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 27            // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 28            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 29            //
 30            //==============================================================================
 31            //
 32            //%/////////////////////////////////////////////////////////////////////////////
 33            
 34            #ifndef Pegasus_OperationContext_h
 35            #define Pegasus_OperationContext_h
 36 mike  1.5  
 37 mike  1.2  #include <Pegasus/Common/Config.h>
 38            #include <Pegasus/Common/Exception.h>
 39 kumpf 1.17 #include <Pegasus/Common/CIMInstance.h>
 40 kumpf 1.35 #include <Pegasus/Common/AcceptLanguageList.h>
 41            #include <Pegasus/Common/ContentLanguageList.h>
 42 kumpf 1.12 #include <Pegasus/Common/Linkage.h>
 43 chip  1.8  
 44 mike  1.2  PEGASUS_NAMESPACE_BEGIN
 45            
 46 kumpf 1.9  class OperationContextRep;
 47            
 48 chip  1.8  /**
 49 kumpf 1.37     An OperationContext object holds information about the context of an
 50                operation, using various Container classes.  The Container subclasses
 51                define the set of information that may be available in the
 52                OperationContext.
 53 chip  1.8  */
 54 chip  1.6  class PEGASUS_COMMON_LINKAGE OperationContext
 55            {
 56            public:
 57 kumpf 1.37 
 58 kumpf 1.13     /**
 59 kumpf 1.37         A Container subclass object holds a piece of context information
 60                    for an operation.
 61 kumpf 1.13     */
 62 chip  1.6      class PEGASUS_COMMON_LINKAGE Container
 63                {
 64                public:
 65 mike  1.2  
 66 kumpf 1.37         /**
 67                        Destructs the Container.
 68 karl  1.26         */
 69 kumpf 1.37         virtual ~Container();
 70 mike  1.5  
 71 kumpf 1.37         /**
 72                        Returns the unique name for a Container type.
 73                        @return The String name of the Container type.
 74 karl  1.26         */
 75 kumpf 1.37         virtual String getName() const = 0;
 76 kumpf 1.13 
 77 kumpf 1.37         /**
 78 kumpf 1.41             Makes a copy of the Container object.  The caller is responsible
 79 kumpf 1.37             for cleaning up the copy by calling destroy() method.
 80                        @return A pointer to the new Container object.
 81 kumpf 1.19         */
 82 kumpf 1.37         virtual Container* clone() const = 0;
 83 chip  1.8  
 84 kumpf 1.37         /**
 85                        Cleans up a Container object that was created by the clone()
 86                        method.
 87 kumpf 1.19         */
 88 kumpf 1.37         virtual void destroy() = 0;
 89 chip  1.6      };
 90 mike  1.5  
 91 kumpf 1.37     /**
 92                    Constructs an empty OperationContext object.
 93 karl  1.26     */
 94 kumpf 1.37     OperationContext();
 95 mike  1.4  
 96 kumpf 1.37     /**
 97                    Constructs a copy of an OperationContext object.  The newly
 98                    constructed OperationContext object is independent from the source
 99                    object.
100                    @param context The OperationContext object to copy.
101 karl  1.26     */
102 kumpf 1.37     OperationContext(const OperationContext& context);
103 chip  1.7  
104 kumpf 1.37     /**
105                    Destructs the OperationContext.
106 karl  1.26     */
107 kumpf 1.37     virtual ~OperationContext();
108 mike  1.4  
109 kumpf 1.37     /**
110                    Assigns the value of the specified OperationContext object to this
111                    OperationContext.  As a result, this OperationContext object will
112                    contain the same set of Containers as in the specified object.
113                    @param context The OperationContext object to copy.
114 karl  1.26     */
115 kumpf 1.37     OperationContext& operator=(const OperationContext& context);
116 chip  1.8  
117 kumpf 1.37     /**
118                    Removes all the Containers from the OperationContext.
119 karl  1.26     */
120 kumpf 1.37     void clear();
121 mike  1.5  
122 kumpf 1.37     /**
123                    Retrieves the specified Container object from the OperationContext.
124                    @param containerName The name of the Container type to retrieve.
125                    @return A reference to the specified Container object.
126                    @exception Exception if the OperationContext does not contain the
127                    specified Container type.
128 karl  1.26     */
129 kumpf 1.37     const Container& get(const String& containerName) const;
130 kumpf 1.13 
131 kumpf 1.37     /**
132 a.dunfey 1.40         Tests if the specified Container object is in the OperationContext.
133                       @param containerName The name of the Container type to retrieve.
134                       @return "true" if the container is present in the OperationContext,
135                       "false" if it is not present.
136                   */
137                   Boolean contains(const String& containerName) const;
138               
139                   /**
140 kumpf    1.37         Replaces an OperationContext Container with the specified Container
141                       object of the same type.
142                       @param container The Container to set in the OperationContext.
143                       @exception Exception if the OperationContext does not contain the
144                       specified Container type.
145 karl     1.26     */
146 kumpf    1.37     void set(const Container& container);
147 mike     1.5  
148 kumpf    1.37     /**
149                       Inserts a Container into the OperationContext.
150                       @param container The Container to insert into the OperationContext.
151                       @exception Exception if the OperationContext already contains a
152                       Container of this type.
153 karl     1.26     */
154 kumpf    1.37     void insert(const Container& container);
155 mike     1.5  
156 kumpf    1.37     /**
157                       Removes a Container from the OperationContext.
158                       @param containerName The name of the Container type to remove from
159                       the OperationContext.
160                       @exception Exception if the OperationContext does not contain the
161                       specified Container type.
162 karl     1.26     */
163 kumpf    1.13     void remove(const String& containerName);
164               
165 chip     1.6  protected:
166 kumpf    1.9      OperationContextRep* _rep;
167 chip     1.6  };
168 mike     1.5  
169 chip     1.6  
170 kumpf    1.13 class IdentityContainerRep;
171               
172 kumpf    1.37 /**
173                   An IdentityContainer object holds the identity of a user associated with
174                   an operation.  For example, a provider must use this Container to
175                   determine whether to perform an operation on the behalf of the requesting
176                   user.
177               */
178 kumpf    1.13 class PEGASUS_COMMON_LINKAGE IdentityContainer
179 kumpf    1.29     : virtual public OperationContext::Container
180 mike     1.2  {
181 mike     1.5  public:
182 kumpf    1.37     /**
183                       The unique name for this container type.
184 karl     1.26     */
185 kumpf    1.13     static const String NAME;
186               
187 kumpf    1.37     /**
188                       Constructs an IdentityContainer object from the specified Container.
189                       @param container The Container object to copy.
190                       @exception DynamicCastFailedException If the specified Container
191                       object is not an IdentityContainer object.
192 karl     1.26     */
193 kumpf    1.37     IdentityContainer(const OperationContext::Container& container);
194 karl     1.26 
195 kumpf    1.37     /**
196                       Constructs a copy of the specified IdentityContainer.
197                       @param container The IdentityContainer object to copy.
198 karl     1.26     */
199 kumpf    1.37     IdentityContainer(const IdentityContainer& container);
200 karl     1.26 
201 kumpf    1.37     /**
202                       Constructs an IdentityContainer with a specified user name.
203                       @param userName A String user name for this identity.
204 karl     1.26     */
205 kumpf    1.37     IdentityContainer(const String& userName);
206 karl     1.26 
207 kumpf    1.37     /**
208                       Destructs the IdentityContainer.
209 karl     1.26     */
210 kumpf    1.37     virtual ~IdentityContainer();
211 karl     1.26 
212 kumpf    1.37     /**
213                       Assigns the value of the specified IdentityContainer object to this
214                       object.
215                       @param container The IdentityContainer object to copy.
216 karl     1.26     */
217 kumpf    1.37     IdentityContainer& operator=(const IdentityContainer& container);
218 karl     1.26 
219 kumpf    1.37     /**
220                       Returns the unique name for this Container type.
221                       @return The String name of the Container type.
222 karl     1.26     */
223 kumpf    1.37     virtual String getName() const;
224 karl     1.26 
225 kumpf    1.37     /**
226                       Makes a copy of this IdentityContainer object.  The caller is
227                       responsible for cleaning up the copy by calling destroy() method.
228                       @return A pointer to the new Container object.
229 karl     1.26     */
230 kumpf    1.37     virtual OperationContext::Container* clone() const;
231 karl     1.26 
232 kumpf    1.37     /**
233                       Cleans up an IdentityContainer object that was created by the
234                       clone() method.
235 karl     1.26     */
236 kumpf    1.37     virtual void destroy();
237 karl     1.26 
238 kumpf    1.37     /**
239                       Gets the user name from the IdentityContainer object.
240                       @return A String containing the user name identity.
241 karl     1.26     */
242 kumpf    1.37     String getUserName() const;
243 mike     1.5  
244 chip     1.6  protected:
245 kumpf    1.13     IdentityContainerRep* _rep;
246 kumpf    1.17 
247 kumpf    1.28 private:
248                   IdentityContainer();    // Unimplemented
249 kumpf    1.17 };
250 kumpf    1.19 
251 kumpf    1.17 
252               class SubscriptionInstanceContainerRep;
253               
254 kumpf    1.37 /**
255                   A SubscriptionInstanceContainer object holds a CIMInstance associated
256                   with an indication subscription.
257               */
258 kumpf    1.17 class PEGASUS_COMMON_LINKAGE SubscriptionInstanceContainer
259                   : virtual public OperationContext::Container
260               {
261               public:
262 kumpf    1.37     /**
263                       The unique name for this container type.
264 karl     1.26     */
265 kumpf    1.17     static const String NAME;
266               
267 kumpf    1.37     /**
268                       Constructs a SubscriptionInstanceContainer object from the
269                       specified Container.
270                       @param container The Container object to copy.
271                       @exception DynamicCastFailedException If the specified Container
272                       object is not a SubscriptionInstanceContainer object.
273 karl     1.26     */
274 kumpf    1.37     SubscriptionInstanceContainer(
275                       const OperationContext::Container& container);
276 karl     1.26 
277 kumpf    1.37     /**
278                       Constructs a copy of the specified SubscriptionInstanceContainer.
279                       @param container The SubscriptionInstanceContainer object to copy.
280 karl     1.26     */
281 kumpf    1.37     SubscriptionInstanceContainer(
282                       const SubscriptionInstanceContainer& container);
283 karl     1.26 
284 kumpf    1.37     /**
285                       Constructs a SubscriptionInstanceContainer with the specified
286                       subscription instance.
287                       @param subscriptionInstance The subscription instance to be held by
288                       this Container.
289 karl     1.26     */
290 kumpf    1.37     SubscriptionInstanceContainer(const CIMInstance& subscriptionInstance);
291 karl     1.26 
292 kumpf    1.37     /**
293                       Destructs the SubscriptionInstanceContainer.
294 karl     1.26     */
295 kumpf    1.37     virtual ~SubscriptionInstanceContainer();
296 kumpf    1.17 
297 kumpf    1.37     /**
298                       Assigns the value of the specified SubscriptionInstanceContainer
299                       object to this object.
300                       @param container The SubscriptionInstanceContainer object to copy.
301 karl     1.26     */
302 kumpf    1.37     SubscriptionInstanceContainer& operator=(
303                       const SubscriptionInstanceContainer& container);
304 kumpf    1.17 
305 kumpf    1.37     /**
306                       Returns the unique name for this Container type.
307                       @return The String name of the Container type.
308 karl     1.26     */
309 kumpf    1.37     virtual String getName() const;
310 karl     1.26 
311 kumpf    1.37     /**
312                       Makes a copy of this SubscriptionInstanceContainer object.  The
313                       caller is responsible for cleaning up the copy by calling destroy()
314                       method.
315                       @return A pointer to the new Container object.
316 karl     1.26     */
317 kumpf    1.37     virtual OperationContext::Container* clone() const;
318 karl     1.26 
319 kumpf    1.37     /**
320                       Cleans up a SubscriptionInstanceContainer object that was created
321                       by the clone() method.
322 karl     1.26     */
323 kumpf    1.37     virtual void destroy();
324 kumpf    1.17 
325 kumpf    1.37     /**
326                       Gets the subscription instance from the SubscriptionInstanceContainer.
327                       @return A CIMInstance representing a subscription.
328 karl     1.26     */
329 kumpf    1.37     CIMInstance getInstance() const;
330 kumpf    1.17 
331               protected:
332                   SubscriptionInstanceContainerRep* _rep;
333               
334 kumpf    1.28 private:
335                   SubscriptionInstanceContainer();    // Unimplemented
336 kumpf    1.17 };
337               
338 kumpf    1.37 
339 kumpf    1.17 class SubscriptionFilterConditionContainerRep;
340               
341 kumpf    1.37 /**
342                   A SubscriptionFilterConditionContainer object holds the filter condition
343                   and query language associated with an indication subscription.  The
344                   filter condition is equivalent to only the "WHERE" clause of a filter
345                   query.
346               */
347 kumpf    1.17 class PEGASUS_COMMON_LINKAGE SubscriptionFilterConditionContainer
348                   : virtual public OperationContext::Container
349               {
350               public:
351 kumpf    1.37     /**
352                       The unique name for this container type.
353 karl     1.26     */
354 kumpf    1.17     static const String NAME;
355               
356 kumpf    1.37     /**
357                       Constructs a SubscriptionFilterConditionContainer object from the
358                       specified Container.
359                       @param container The Container object to copy.
360                       @exception DynamicCastFailedException If the specified Container
361                       object is not a SubscriptionFilterConditionContainer object.
362 karl     1.26     */
363 kumpf    1.37     SubscriptionFilterConditionContainer(
364                       const OperationContext::Container& container);
365 karl     1.26 
366 kumpf    1.37     /**
367                       Constructs a copy of the specified
368                       SubscriptionFilterConditionContainer.
369                       @param container The SubscriptionFilterConditionContainer object
370                       to copy.
371 karl     1.26     */
372 kumpf    1.37     SubscriptionFilterConditionContainer(
373                       const SubscriptionFilterConditionContainer& container);
374 karl     1.26 
375 kumpf    1.37     /**
376                       Constructs a SubscriptionFilterConditionContainer with the specified
377                       filter condition and query language.
378                       @param filterCondition The query condition String associated with an
379                       indication subscription filter.
380                       @param queryLanguage The query language String associated with an
381                       indication subscription filter.
382                   */
383                   SubscriptionFilterConditionContainer(
384 kumpf    1.41         const String& filterCondition,
385 kumpf    1.37         const String& queryLanguage);
386 karl     1.26 
387 kumpf    1.37     /**
388                       Destructs the SubscriptionFilterConditionContainer.
389 karl     1.26     */
390 kumpf    1.37     virtual ~SubscriptionFilterConditionContainer();
391 kumpf    1.17 
392 kumpf    1.37     /**
393                       Assigns the value of the specified SubscriptionFilterConditionContainer
394                       object to this object.
395                       @param container The SubscriptionFilterConditionContainer object to
396                       copy.
397 karl     1.26     */
398 kumpf    1.37     SubscriptionFilterConditionContainer& operator=(
399                       const SubscriptionFilterConditionContainer& container);
400 kumpf    1.17 
401 kumpf    1.37     /**
402                       Returns the unique name for this Container type.
403                       @return The String name of the Container type.
404 karl     1.26     */
405 kumpf    1.37     virtual String getName() const;
406 karl     1.26 
407 kumpf    1.37     /**
408                       Makes a copy of this SubscriptionFilterConditionContainer object.
409                       The caller is responsible for cleaning up the copy by calling
410                       destroy() method.
411                       @return A pointer to the new Container object.
412 karl     1.26     */
413 kumpf    1.37     virtual OperationContext::Container* clone() const;
414 karl     1.26 
415 kumpf    1.37     /**
416                       Cleans up a SubscriptionFilterConditionContainer object that was
417                       created by the clone() method.
418 karl     1.26     */
419 kumpf    1.37     virtual void destroy();
420 kumpf    1.17 
421 kumpf    1.37     /**
422                       Gets the filter query condition from the
423                       SubscriptionFilterConditionContainer.  Note that the filter query
424                       condition is equivalent to only the "WHERE" clause of a filter query.
425                       @return The query condition String associated with an indication
426                       subscription filter.
427 karl     1.26     */
428 kumpf    1.37     String getFilterCondition() const;
429 karl     1.26 
430 kumpf    1.37     /**
431                       Gets the query language from the SubscriptionFilterConditionContainer.
432                       @return The query language String associated with an indication
433                       subscription filter.
434 karl     1.26     */
435 kumpf    1.37     String getQueryLanguage() const;
436 kumpf    1.17 
437               protected:
438                   SubscriptionFilterConditionContainerRep* _rep;
439               
440 kumpf    1.28 private:
441                   SubscriptionFilterConditionContainer();    // Unimplemented
442 kumpf    1.17 };
443               
444 chuck    1.32 
445               class SubscriptionFilterQueryContainerRep;
446               
447 kumpf    1.37 /**
448                   A SubscriptionFilterQueryContainer object holds the query filter
449                   and query language associated with an indication subscription, as well
450                   as the source namespace of the filter.  The query filter contains the
451                   whole query string ("SELECT" statement) from the subscription filter
452                   instance.  (This differs from the filter condition string in
453                   SubscriptionFilterConditionContainer, which only contains the "WHERE"
454                   clause of the filter.)
455 chuck    1.32 */
456               class PEGASUS_COMMON_LINKAGE SubscriptionFilterQueryContainer
457                   : virtual public OperationContext::Container
458               {
459               public:
460 kumpf    1.37     /**
461                       The unique name for this container type.
462 chuck    1.32     */
463                   static const String NAME;
464               
465 kumpf    1.37     /**
466                       Constructs a SubscriptionFilterQueryContainer object from the
467                       specified Container.
468                       @param container The Container object to copy.
469                       @exception DynamicCastFailedException If the specified Container
470                       object is not a SubscriptionFilterQueryContainer object.
471 chuck    1.32     */
472 kumpf    1.37     SubscriptionFilterQueryContainer(
473                       const OperationContext::Container& container);
474 chuck    1.32 
475 kumpf    1.37     /**
476                       Constructs a copy of the specified SubscriptionFilterQueryContainer.
477                       @param container The SubscriptionFilterQueryContainer object to copy.
478 chuck    1.32     */
479 kumpf    1.37     SubscriptionFilterQueryContainer(
480                       const SubscriptionFilterQueryContainer& container);
481 chuck    1.32 
482 kumpf    1.37     /**
483                       Constructs a SubscriptionFilterQueryContainer with the specified
484                       filter query, query language, and source namespace.
485                       @param filterQuery The filter query String associated with an
486                       indication subscription filter.
487                       @param queryLanguage The query language String associated with an
488                       indication subscription filter.
489                       @param sourceNameSpace The CIMNamespaceName of the source namespace
490                       associated with an indication subscription filter.
491                   */
492                   SubscriptionFilterQueryContainer(
493                      const String& filterQuery,
494                      const String& queryLanguage,
495                      const CIMNamespaceName& sourceNameSpace);
496 chuck    1.32 
497 kumpf    1.37     /**
498                       Destructs the SubscriptionFilterQueryContainer.
499 chuck    1.32     */
500 kumpf    1.37     virtual ~SubscriptionFilterQueryContainer();
501 chuck    1.32 
502 kumpf    1.37     /**
503                       Assigns the value of the specified SubscriptionFilterQueryContainer
504                       object to this object.
505                       @param container The SubscriptionFilterQueryContainer object to copy.
506 chuck    1.32     */
507 kumpf    1.37     SubscriptionFilterQueryContainer& operator=(
508                       const SubscriptionFilterQueryContainer& container);
509 chuck    1.32 
510 kumpf    1.37     /**
511                       Returns the unique name for this Container type.
512                       @return The String name of the Container type.
513 chuck    1.32     */
514 kumpf    1.37     virtual String getName() const;
515 chuck    1.32 
516 kumpf    1.37     /**
517                       Makes a copy of this SubscriptionFilterQueryContainer object.
518                       The caller is responsible for cleaning up the copy by calling
519                       destroy() method.
520                       @return A pointer to the new Container object.
521 chuck    1.32     */
522 kumpf    1.37     virtual OperationContext::Container* clone() const;
523 chuck    1.32 
524 kumpf    1.37     /**
525                       Cleans up a SubscriptionFilterQueryContainer object that was
526                       created by the clone() method.
527 chuck    1.32     */
528 kumpf    1.37     virtual void destroy();
529 chuck    1.32 
530 kumpf    1.37     /**
531                       Gets the filter query from the SubscriptionFilterQueryContainer.
532                       @return The query String associated with an indication subscription
533                       filter.
534 chuck    1.32     */
535 kumpf    1.37     String getFilterQuery() const;
536 chuck    1.32 
537 kumpf    1.37     /**
538                       Gets the filter query language from the
539                       SubscriptionFilterQueryContainer.
540                       @return The query language String associated with an indication
541                       subscription filter.
542 chuck    1.32     */
543 kumpf    1.37     String getQueryLanguage() const;
544 chuck    1.32 
545 kumpf    1.37     /**
546                       Gets the source namespace from the SubscriptionFilterQueryContainer.
547                       @return The source namespace associated with an indication
548                       subscription filter.
549 chuck    1.32     */
550 kumpf    1.37     CIMNamespaceName getSourceNameSpace() const;
551 chuck    1.32 
552               protected:
553                   SubscriptionFilterQueryContainerRep* _rep;
554               
555               private:
556                   SubscriptionFilterQueryContainer();    // Unimplemented
557               };
558               
559 kumpf    1.37 
560 kumpf    1.17 class SubscriptionInstanceNamesContainerRep;
561               
562 kumpf    1.37 /**
563                   A SubscriptionInstanceNamesContainer object holds a list of subscription
564                   instance names.  This can be used to limit the set of subscriptions that
565                   are considered targets for an indication when it is generated, which is
566                   necessary for a provider to generate localized indications or to
567                   implement a subscription's repeat notification policy.
568               */
569 kumpf    1.17 class PEGASUS_COMMON_LINKAGE SubscriptionInstanceNamesContainer
570                   : virtual public OperationContext::Container
571               {
572               public:
573 karl     1.26 
574 kumpf    1.37     /**
575                       The unique name for this container type.
576 karl     1.26     */
577 kumpf    1.17     static const String NAME;
578               
579 kumpf    1.37     /**
580                       Constructs a SubscriptionInstanceNamesContainer object from the
581                       specified Container.
582                       @param container The Container object to copy.
583                       @exception DynamicCastFailedException If the specified Container
584                       object is not a SubscriptionInstanceNamesContainer object.
585 karl     1.26     */
586 kumpf    1.37     SubscriptionInstanceNamesContainer(
587                       const OperationContext::Container& container);
588 karl     1.26 
589 kumpf    1.37     /**
590                       Constructs a copy of the specified SubscriptionInstanceNamesContainer.
591                       @param container The SubscriptionInstanceNamesContainer object to copy.
592 karl     1.26     */
593 kumpf    1.37     SubscriptionInstanceNamesContainer(
594                       const SubscriptionInstanceNamesContainer& container);
595 karl     1.26 
596 kumpf    1.37     /**
597                       Constructs a SubscriptionInstanceNamesContainer with the specified
598                       list of subscription instance names.
599                       @param subscriptionInstanceNames A CIMObjectPath Array with the names
600                       of indication subscription instances.
601 karl     1.26     */
602 kumpf    1.37     SubscriptionInstanceNamesContainer(
603                       const Array<CIMObjectPath>& subscriptionInstanceNames);
604 karl     1.26 
605 kumpf    1.37     /**
606                       Destructs the SubscriptionInstanceNamesContainer.
607 karl     1.26     */
608 kumpf    1.37     virtual ~SubscriptionInstanceNamesContainer();
609 kumpf    1.17 
610 kumpf    1.37     /**
611                       Assigns the value of the specified SubscriptionInstanceNamesContainer
612                       object to this object.
613                       @param container The SubscriptionInstanceNamesContainer object to copy.
614 karl     1.26     */
615 kumpf    1.37     SubscriptionInstanceNamesContainer& operator=(
616                       const SubscriptionInstanceNamesContainer& container);
617 kumpf    1.17 
618 kumpf    1.37     /**
619                       Returns the unique name for this Container type.
620                       @return The String name of the Container type.
621 karl     1.26     */
622 kumpf    1.37     virtual String getName() const;
623 karl     1.26 
624 kumpf    1.37     /**
625                       Makes a copy of this SubscriptionInstanceNamesContainer object.
626                       The caller is responsible for cleaning up the copy by calling
627                       destroy() method.
628                       @return A pointer to the new Container object.
629 karl     1.26     */
630 kumpf    1.37     virtual OperationContext::Container* clone() const;
631 karl     1.26 
632 kumpf    1.37     /**
633                       Cleans up a SubscriptionInstanceNamesContainer object that was
634                       created by the clone() method.
635 karl     1.26     */
636 kumpf    1.37     virtual void destroy();
637 kumpf    1.17 
638 kumpf    1.37     /**
639                       Gets the list of subscription instance names from the
640                       SubscriptionInstanceNamesContainer.
641                       @return A CIMObjectPath Array of indication subscription instance
642                       names.
643 karl     1.26     */
644 kumpf    1.37     Array<CIMObjectPath> getInstanceNames() const;
645 kumpf    1.17 
646               protected:
647                   SubscriptionInstanceNamesContainerRep* _rep;
648 chip     1.6  
649 kumpf    1.28 private:
650                   SubscriptionInstanceNamesContainer();    // Unimplemented
651 mike     1.5  };
652 chip     1.6  
653 kumpf    1.37 
654               /**
655                   A TimeoutContainer object holds an operation timeout value, in
656                   milliseconds.
657               */
658               class PEGASUS_COMMON_LINKAGE TimeoutContainer
659                   : virtual public OperationContext::Container
660 mday     1.20 {
661 kumpf    1.37 public:
662 karl     1.26 
663 kumpf    1.37     /**
664                       The unique name for this container type.
665 karl     1.26     */
666 kumpf    1.37     static const String NAME;
667 kumpf    1.41 
668 kumpf    1.37     /**
669                       Constructs a TimeoutContainer object from the specified Container.
670                       @param container The Container object to copy.
671                       @exception DynamicCastFailedException If the specified Container
672                       object is not a TimeoutContainer object.
673 karl     1.26     */
674 kumpf    1.37     TimeoutContainer(const OperationContext::Container& container);
675 karl     1.26 
676 kumpf    1.37     /**
677                       Constructs a TimeoutContainer with the specified timeout value.
678                       @param timeout An integer timeout value (in milliseconds).
679 karl     1.26     */
680 kumpf    1.37     TimeoutContainer(Uint32 timeout);
681 karl     1.26 
682 kumpf    1.37     /**
683                       Returns the unique name for this Container type.
684                       @return The String name of the Container type.
685 karl     1.26     */
686 kumpf    1.37     virtual String getName() const;
687 karl     1.26 
688 kumpf    1.37     /**
689                       Makes a copy of this TimeoutContainer object.  The caller is
690                       responsible for cleaning up the copy by calling destroy() method.
691                       @return A pointer to the new Container object.
692 karl     1.26     */
693 kumpf    1.37     virtual OperationContext::Container* clone() const;
694 karl     1.26 
695 kumpf    1.37     /**
696                       Cleans up a TimeoutContainer object that was created by the clone()
697                       method.
698 karl     1.26     */
699 kumpf    1.37     virtual void destroy();
700 kumpf    1.41 
701 kumpf    1.37     /**
702                       Gets the timeout value from the TimeoutContainer.
703                       @return An integer timeout value (in milliseconds).
704 karl     1.26     */
705 kumpf    1.37     Uint32 getTimeOut() const;
706               
707               protected:
708                   Uint32 _value;
709               
710               private:
711                   TimeoutContainer();
712 chuck    1.21 };
713               
714               
715               class AcceptLanguageListContainerRep;
716               
717 kumpf    1.39 /**
718 kumpf    1.37     An AcceptLanguageListContainer object holds a list of languages that
719                   are acceptable in the response for a given operation.
720               */
721 chuck    1.21 class PEGASUS_COMMON_LINKAGE AcceptLanguageListContainer
722                   : virtual public OperationContext::Container
723               {
724               public:
725 kumpf    1.37     /**
726                       The unique name for this container type.
727 karl     1.26     */
728 chuck    1.21     static const String NAME;
729 kumpf    1.37 
730                   /**
731                       Constructs an AcceptLanguageListContainer object from the
732                       specified Container.
733                       @param container The Container object to copy.
734                       @exception DynamicCastFailedException If the specified Container
735                       object is not an AcceptLanguageListContainer object.
736 karl     1.26     */
737 kumpf    1.37     AcceptLanguageListContainer(
738                       const OperationContext::Container& container);
739 karl     1.26 
740 kumpf    1.37     /**
741                       Constructs a copy of the specified AcceptLanguageListContainer.
742                       @param container The AcceptLanguageListContainer object to copy.
743 karl     1.26     */
744 kumpf    1.37     AcceptLanguageListContainer(
745                       const AcceptLanguageListContainer& container);
746 karl     1.26 
747 kumpf    1.37     /**
748                       Constructs an AcceptLanguageListContainer with the specified
749                       accept language list.
750                       @param languages An AcceptLanguageList with the response languages
751                       that are acceptable in this context.
752 karl     1.26     */
753 kumpf    1.37     AcceptLanguageListContainer(const AcceptLanguageList& languages);
754 kumpf    1.41 
755 kumpf    1.37     /**
756                       Destructs the AcceptLanguageListContainer.
757 karl     1.26     */
758 kumpf    1.37     virtual ~AcceptLanguageListContainer();
759 chuck    1.21 
760 kumpf    1.37     /**
761                       Assigns the value of the specified AcceptLanguageListContainer
762                       object to this object.
763                       @param container The AcceptLanguageListContainer object to copy.
764 karl     1.26     */
765 kumpf    1.37     AcceptLanguageListContainer& operator=(
766                       const AcceptLanguageListContainer& container);
767 chuck    1.21 
768 kumpf    1.37     /**
769                       Returns the unique name for this Container type.
770                       @return The String name of the Container type.
771 karl     1.26     */
772 kumpf    1.37     virtual String getName() const;
773 karl     1.26 
774 kumpf    1.37     /**
775                       Makes a copy of this AcceptLanguageListContainer object.  The caller
776                       is responsible for cleaning up the copy by calling destroy() method.
777                       @return A pointer to the new Container object.
778 karl     1.26     */
779 kumpf    1.37     virtual OperationContext::Container* clone() const;
780 karl     1.26 
781 kumpf    1.37     /**
782                       Cleans up an AcceptLanguageListContainer object that was created by
783                       the clone() method.
784 karl     1.26     */
785 kumpf    1.37     virtual void destroy();
786 chuck    1.21 
787 kumpf    1.37     /**
788                       Gets the list of acceptable response languages from the
789                       AcceptLanguageListContainer.
790                       @return An AcceptLanguageList with the response languages that are
791                       acceptable in this context.
792 karl     1.26     */
793 kumpf    1.37     AcceptLanguageList getLanguages() const;
794 chuck    1.21 
795               protected:
796 kumpf    1.37     AcceptLanguageListContainerRep* _rep;
797 chuck    1.21 
798 kumpf    1.28 private:
799                   AcceptLanguageListContainer();    // Unimplemented
800 chuck    1.21 };
801 denise.eckstein 1.30 
802 kumpf           1.37 
803 chuck           1.21 class ContentLanguageListContainerRep;
804 kumpf           1.37 
805 kumpf           1.39 /**
806 kumpf           1.37     A ContentLanguageListContainer object holds a list of languages that
807                          are contained in the associated data.
808                      */
809 chuck           1.21 class PEGASUS_COMMON_LINKAGE ContentLanguageListContainer
810                          : virtual public OperationContext::Container
811                      {
812                      public:
813 karl            1.26 
814 kumpf           1.37     /**
815                              The unique name for this container type.
816 karl            1.26     */
817 chuck           1.21     static const String NAME;
818                      
819 kumpf           1.37     /**
820                              Constructs a ContentLanguageListContainer object from the
821                              specified Container.
822                              @param container The Container object to copy.
823                              @exception DynamicCastFailedException If the specified Container
824                              object is not a ContentLanguageListContainer object.
825 karl            1.26     */
826 kumpf           1.37     ContentLanguageListContainer(
827                              const OperationContext::Container& container);
828 karl            1.26 
829 kumpf           1.37     /**
830                              Constructs a copy of the specified ContentLanguageListContainer.
831                              @param container The ContentLanguageListContainer object to copy.
832 karl            1.26     */
833 kumpf           1.37     ContentLanguageListContainer(
834                              const ContentLanguageListContainer& container);
835 karl            1.26 
836 kumpf           1.37     /**
837                              Constructs a ContentLanguageListContainer with the specified
838                              content language list.
839                              @param languages A ContentLanguageList with the languages that are
840                              contained in the associated data.
841 karl            1.26     */
842 kumpf           1.37     ContentLanguageListContainer(const ContentLanguageList& languages);
843 karl            1.26 
844 kumpf           1.37     /**
845                              Destructs the ContentLanguageListContainer.
846 karl            1.26     */
847 kumpf           1.37     virtual ~ContentLanguageListContainer();
848 chuck           1.21 
849 kumpf           1.37     /**
850                              Assigns the value of the specified ContentLanguageListContainer
851                              object to this object.
852                              @param container The ContentLanguageListContainer object to copy.
853 karl            1.26     */
854 kumpf           1.37     ContentLanguageListContainer& operator=(
855                              const ContentLanguageListContainer& container);
856 chuck           1.21 
857 kumpf           1.37     /**
858                              Returns the unique name for this Container type.
859                              @return The String name of the Container type.
860 karl            1.26     */
861 kumpf           1.37     virtual String getName() const;
862 karl            1.26 
863 kumpf           1.37     /**
864                              Makes a copy of this ContentLanguageListContainer object.  The caller
865                              is responsible for cleaning up the copy by calling destroy() method.
866                              @return A pointer to the new Container object.
867 karl            1.26     */
868 kumpf           1.37     virtual OperationContext::Container* clone() const;
869 karl            1.26 
870 kumpf           1.37     /**
871                              Cleans up a ContentLanguageListContainer object that was created
872                              by the clone() method.
873 karl            1.26     */
874 kumpf           1.37     virtual void destroy();
875 chuck           1.21 
876 kumpf           1.37     /**
877                              Gets the list of content languages from the
878                              ContentLanguageListContainer.
879                              @return A ContentLanguageList with the languages that are contained
880                              in the associated data.
881 karl            1.26     */
882 kumpf           1.37     ContentLanguageList getLanguages() const;
883 chuck           1.21 
884                      protected:
885 kumpf           1.37     ContentLanguageListContainerRep* _rep;
886 chuck           1.21 
887 kumpf           1.28 private:
888                          ContentLanguageListContainer();    // Unimplemented
889 mday            1.20 };
890 chuck           1.24 
891 mday            1.20 
892 kumpf           1.22 class SnmpTrapOidContainerRep;
893                      
894 kumpf           1.37 /**
895                          An SnmpTrapOidContainer object holds an SNMP trap OID that corresponds
896                          to the associated data.
897                      */
898 kumpf           1.22 class PEGASUS_COMMON_LINKAGE SnmpTrapOidContainer
899                          : virtual public OperationContext::Container
900                      {
901                      public:
902 karl            1.26 
903 kumpf           1.37     /**
904                              The unique name for this container type.
905 karl            1.26     */
906 kumpf           1.22     static const String NAME;
907                      
908 kumpf           1.37     /**
909                              Constructs an SnmpTrapOidContainer object from the specified Container.
910                              @param container The Container object to copy.
911                              @exception DynamicCastFailedException If the specified Container
912                              object is not an SnmpTrapOidContainer object.
913 karl            1.26     */
914 kumpf           1.37     SnmpTrapOidContainer(const OperationContext::Container& container);
915 kumpf           1.41 
916 kumpf           1.37     /**
917                              Constructs a copy of the specified SnmpTrapOidContainer.
918                              @param container The SnmpTrapOidContainer object to copy.
919 karl            1.26     */
920 kumpf           1.37     SnmpTrapOidContainer(const SnmpTrapOidContainer& container);
921 karl            1.26 
922 kumpf           1.37     /**
923                              Constructs an SnmpTrapOidContainer with the specified SNMP trap OID.
924                              @param snmpTrapOid A String containing an SNMP trap OID.
925 karl            1.26     */
926 kumpf           1.37     SnmpTrapOidContainer(const String& snmpTrapOid);
927 karl            1.26 
928 kumpf           1.37     /**
929                              Destructs the SnmpTrapOidContainer.
930 karl            1.26     */
931 kumpf           1.37     virtual ~SnmpTrapOidContainer();
932 kumpf           1.22 
933 kumpf           1.37     /**
934                              Assigns the value of the specified SnmpTrapOidContainer
935                              object to this object.
936                              @param container The SnmpTrapOidContainer object to copy.
937 karl            1.26     */
938 kumpf           1.37     SnmpTrapOidContainer& operator=(const SnmpTrapOidContainer& container);
939 kumpf           1.22 
940 kumpf           1.37     /**
941                              Returns the unique name for this Container type.
942                              @return The String name of the Container type.
943 karl            1.26     */
944 kumpf           1.37     virtual String getName() const;
945 karl            1.26 
946 kumpf           1.37     /**
947                              Makes a copy of this SnmpTrapOidContainer object.  The caller is
948                              responsible for cleaning up the copy by calling destroy() method.
949                              @return A pointer to the new Container object.
950 karl            1.26     */
951 kumpf           1.37     virtual OperationContext::Container* clone() const;
952 karl            1.26 
953 kumpf           1.37     /**
954                              Cleans up an SnmpTrapOidContainer object that was created
955                              by the clone() method.
956                          */
957                          virtual void destroy();
958 kumpf           1.22 
959 kumpf           1.37     /**
960                              Gets the SNMP trap OID from the SnmpTrapOidContainer.
961                              @return A String with the SNMP trap OID corresponding to the
962                              associated data.
963 karl            1.26     */
964 kumpf           1.37     String getSnmpTrapOid() const;
965 kumpf           1.22 
966                      protected:
967                          SnmpTrapOidContainerRep* _rep;
968                      
969 kumpf           1.28 private:
970                          SnmpTrapOidContainer();    // Unimplemented
971 kumpf           1.22 };
972 mday            1.20 
973                      
974 mike            1.2  PEGASUS_NAMESPACE_END
975                      
976 chip            1.6  #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2