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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2