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

Diff for /pegasus/src/Pegasus/Common/CIMFlavor.h between version 1.10 and 1.16

version 1.10, 2002/03/07 00:44:14 version 1.16, 2002/08/14 21:09:00
Line 1 
Line 1 
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM  // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
   // The Open Group, Tivoli Systems
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 22 
Line 23 
 // //
 // Author: Mike Brasher (mbrasher@bmc.com) // Author: Mike Brasher (mbrasher@bmc.com)
 // //
 // Modified By:  // Modified By:  Karl Schopmeyer(k.schopmeyer@opengroup.org)
   //               Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
   //              Carol Ann Krug Graves, Hewlett-Packard Company
   //                (carolann_graves@hp.com)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 30 
Line 34 
 #define Pegasus_Flavor_h #define Pegasus_Flavor_h
  
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
 #include <Pegasus/Common/Array.h>  
 #include <Pegasus/Common/String.h> #include <Pegasus/Common/String.h>
   #include <Pegasus/Common/Linkage.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 /** This structure defines flavor constants borne by CIMQualifier objects.  /**
       The CIMFlavor class implements the concept of the CIM qualifier flavor.
       The qualifier flavor concept encapsulates the propagation and override
       rules for the qualifier.  The propagation rules define whether a qualifier
       may be propagated from classes to derived classes, or from classes to
       instances.  The override rules define whether or not derived classes may
       override a qualifier value, or whether it must be fixed for an entire
       class hierarchy.
   
       The possible values are: OVERRIDABLE, TOSUBCLASS, TOINSTANCE,
       TRANSLATABLE, DISABLEOVERRIDE, RESTRICTED.
       The flavor is a set of zero or more of these possible values.
 */ */
 struct PEGASUS_COMMON_LINKAGE CIMFlavor  class PEGASUS_COMMON_LINKAGE CIMFlavor
 { {
     /** Indicates that the qualifier has no flavors.  public:
   
       /**
           Constructs a CIMFlavor object with no flavor values set (default
           constructor).
     */     */
     static const Uint32 NONE;      CIMFlavor ();
   
       /**
           Constructs a CIMFlavor object from an existing CIMFlavor object (copy
           constructor).
  
     /** Indicates that the qualifier may be overriden.          @param   flavor                another CIMFlavor object
     */     */
     static const Uint32 OVERRIDABLE;      CIMFlavor (const CIMFlavor & flavor);
   
       /**
           Assigns the value of one CIMFlavor object to another (assignment
           operator).
  
     /** Indicates that the qualifier is propagated to the qualifier in the          @param   flavor                a CIMFlavor object
         subclass with the same name.  
           @return  the CIMFlavor object
     */     */
     static const Uint32 TOSUBCLASS;      CIMFlavor & operator= (const CIMFlavor & flavor);
   
       /**
           Adds the set of flavor values of the specified CIMFlavor object to this
           CIMFlavor object.
  
     /** Indicates that the qualifier is propagated to the qualifier in the          @param   flavor                a CIMFlavor object
         instance with the same name.  
     */     */
     static const Uint32 TOINSTANCE;      void addFlavor (const CIMFlavor & flavor);
   
       /**
           Removes the specified set of flavor values from the CIMFlavor object.
  
     /** Indicates whether qualifier is translatable (for internationalization).          @param   flavor                a CIMFlavor representing the set of
                                          flavor values to remove
     */     */
     static const Uint32 TRANSLATABLE;      void removeFlavor (const CIMFlavor & flavor);
  
     /** Defaults according to the CIM DTD (OVERRIDABLE | TOSUBCLASS).      /**
           Determines if every value in the specified CIMFlavor object is included
           in this CIMFlavor object.
   
           @param   flavor                a CIMFlavor object
   
           @return  True if every value in the specified CIMFlavor object is
                      included in the CIMFlavor object,
                    False otherwise
     */     */
     static const Uint32 DEFAULTS;      Boolean hasFlavor (const CIMFlavor & flavor) const;
   
       /**
           Compares two CIMFlavor objects.
  
     /** Set both toInstance and toinstance according to the CIM DTD (OVERRIDABLE | TOSUBCLASS).          @param   flavor                a CIMFlavor object
   
           @return True if the two CIMFlavor objects are equal,
                   False otherwise
     */     */
     static const Uint32 TOSUBELEMENTS;      Boolean equal (const CIMFlavor & flavor) const;
 };  
       /**
           Combines two CIMFlavor objects.
   
           @param   flavor                a CIMFlavor object to add
   
           @return A new CIMFlavor object that represents the combination of this
                   flavor with the specified flavor.
        */
       CIMFlavor operator+ (const CIMFlavor & flavor) const;
   
       /**
           Returns a String representation of the CIMFlavor object.
           This method is for diagnostic purposes.  The format of the output
           is subject to change.
        */
       String toString () const;
   
       /**
           Indicates that the qualifier has no flavors
        */
       static const CIMFlavor NONE;
   
       /**
           Indicates that the qualifier may be overridden
        */
       static const CIMFlavor OVERRIDABLE;
       static const CIMFlavor ENABLEOVERRIDE;
  
 /** FlavorToMof - Converts the flavor attributes of a qualifier to CIM MOF      /**
     keywords separated by spaces and returns them as a String.          Indicates that the qualifier may not be overridden
     @param flavor Variable contianing the flavor mask       */
     @return Strin containing the flavor attribute keywords.      static const CIMFlavor DISABLEOVERRIDE;
 */  
 PEGASUS_COMMON_LINKAGE String FlavorToMof(Uint32 flavor);      /**
           Indicates that the qualifier is propagated to the qualifier in the
 /** FlavorToXML - converts the flavor attributes of a qualifier to cimxml          subclass with the same name
     format and puts them into the variable out.       */
     @param out XML output stream into which the xml is places.      static const CIMFlavor TOSUBCLASS;
     @param flavor variable containing the flavor definition  
       /**
         <pre>          Indicates that the qualifier is not propagated to the qualifier in the
         // Get flavorkeywords and test for any returned keywords          subclass with the same name; it applies only to the class in which it
         Uint32 flavor = CIMFlavor::DEFAULTS,          is declared
         String flavorString;       */
         flavorString = FlavorToMof(_flavor);      static const CIMFlavor RESTRICTED;
         if (flavorString.size())  
             ...           // code to execute if keywords exist      /**
           Indicates that the qualifier is propagated to the qualifier in the
         </pre>          instance with the same name
 */       */
 PEGASUS_COMMON_LINKAGE void FlavorToXml(      static const CIMFlavor TOINSTANCE;
     Array<Sint8>& out,  
     Uint32 flavor);      /**
           Indicates that the qualifier is translatable (for internationalization)
        */
       static const CIMFlavor TRANSLATABLE;
   
       /**
           Indicates default flavor setting (OVERRIDABLE | TOSUBCLASS)
        */
       static const CIMFlavor DEFAULTS;
   
       /**
           Indicates both toSubclass and toInstance (TOSUBCLASS | TOINSTANCE)
        */
       static const CIMFlavor TOSUBELEMENTS;
   
       /**
           Indicates the set of all possible flavor values: OVERRIDABLE,
           TOSUBCLASS, TOINSTANCE, TRANSLATABLE, DISABLEOVERRIDE, RESTRICTED
           Note that some of these possible values are mutually exclusive, and
           thus CIMFlavor:ALL does not represent a valid qualifier flavor object
           It may be used, for example, to clear the flavor settings
        */
       static const CIMFlavor ALL;
   
   private:
   
       /**
           Constructs a CIMFlavor object with the specified set of values.
   
           @param   flavor                a Uint32 representing the set of flavor
                                          values to initialize with
        */
       CIMFlavor (const Uint32 flavor);
   
       Uint32 cimFlavor;
   };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
  


Legend:
Removed from v.1.10  
changed lines
  Added in v.1.16

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2