(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.7.2.2 and 1.16

version 1.7.2.2, 2001/08/06 14:39:03 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)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 /*  
   
  CIMFlavor.h -- This file declares qualifier flavor constants.  
   
 */  
   
 #ifndef Pegasus_Flavor_h #ifndef Pegasus_Flavor_h
 #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
   
 /** /**
 CIMQualifier flavor constants      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
 { {
     static const Uint32 NONE;  public:
     static const Uint32 OVERRIDABLE;  
     static const Uint32 TOSUBCLASS;  
     static const Uint32 TOINSTANCE;  
     static const Uint32 TRANSLATABLE;  
  
     // These are the defaults according to the CIM DTD:      /**
     // OVERRIDABLE, TOSUBCLASS          Constructs a CIMFlavor object with no flavor values set (default
           constructor).
        */
       CIMFlavor ();
  
     static const Uint32 DEFAULTS;      /**
 };          Constructs a CIMFlavor object from an existing CIMFlavor object (copy
           constructor).
   
           @param   flavor                another CIMFlavor object
        */
       CIMFlavor (const CIMFlavor & flavor);
   
       /**
           Assigns the value of one CIMFlavor object to another (assignment
           operator).
   
           @param   flavor                a CIMFlavor object
   
           @return  the CIMFlavor object
        */
       CIMFlavor & operator= (const CIMFlavor & flavor);
   
       /**
           Adds the set of flavor values of the specified CIMFlavor object to this
           CIMFlavor object.
   
           @param   flavor                a CIMFlavor object
        */
       void addFlavor (const CIMFlavor & flavor);
   
       /**
           Removes the specified set of flavor values from the CIMFlavor object.
   
           @param   flavor                a CIMFlavor representing the set of
                                          flavor values to remove
        */
       void removeFlavor (const CIMFlavor & flavor);
   
       /**
           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
        */
       Boolean hasFlavor (const CIMFlavor & flavor) const;
   
       /**
           Compares two CIMFlavor objects.
   
           @param   flavor                a CIMFlavor object
   
           @return True if the two CIMFlavor objects are equal,
                   False otherwise
        */
       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;
  
 /** FlavorToMof - Converts the flavor attributes of a qualifier to CIM MOF      /**
     keywords separated by spaces and returns them as a String.          Returns a String representation of the CIMFlavor object.
     @param flavor Variable contianing the flavor mask          This method is for diagnostic purposes.  The format of the output
     @return Strin containing the flavor attribute keywords.          is subject to change.
 */       */
 PEGASUS_COMMON_LINKAGE String FlavorToMof(Uint32 flavor);      String toString () const;
   
 /** FlavorToXML - converts the flavor attributes of a qualifier to cimxml      /**
     format and puts them into the variable out.          Indicates that the qualifier has no flavors
     @param out XML output stream into which the xml is places.       */
     @param flavor variable containing the flavor definition      static const CIMFlavor NONE;
     <pre>  
     // Get flavorkeywords and test for any returned keywords      /**
     Uint32 flavor = CIMFlavor::DEFAULTS,          Indicates that the qualifier may be overridden
     String flavorString;       */
     flavorString = FlavorToMof(_flavor);      static const CIMFlavor OVERRIDABLE;
     if (flavorString.size())      static const CIMFlavor ENABLEOVERRIDE;
         ...           // code to execute if keywords exist  
       /**
     </pre>          Indicates that the qualifier may not be overridden
 */       */
 PEGASUS_COMMON_LINKAGE void FlavorToXml(      static const CIMFlavor DISABLEOVERRIDE;
     Array<Sint8>& out,  
     Uint32 flavor);      /**
           Indicates that the qualifier is propagated to the qualifier in the
           subclass with the same name
        */
       static const CIMFlavor TOSUBCLASS;
   
       /**
           Indicates that the qualifier is not propagated to the qualifier in the
           subclass with the same name; it applies only to the class in which it
           is declared
        */
       static const CIMFlavor RESTRICTED;
   
       /**
           Indicates that the qualifier is propagated to the qualifier in the
           instance with the same name
        */
       static const CIMFlavor TOINSTANCE;
   
       /**
           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.7.2.2  
changed lines
  Added in v.1.16

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2