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

Diff for /pegasus/src/Pegasus/Common/CIMName.h between version 1.6 and 1.19

version 1.6, 2001/05/14 00:39:51 version 1.19, 2002/08/08 18:30:00
Line 1 
Line 1 
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000 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  // Permission is hereby granted, free of charge, to any person obtaining a copy
 // copy of this software and associated documentation files (the "Software"),  // of this software and associated documentation files (the "Software"), to
 // to deal in the Software without restriction, including without limitation  // deal in the Software without restriction, including without limitation the
 // the rights to use, copy, modify, merge, publish, distribute, sublicense,  // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 // and/or sell copies of the Software, and to permit persons to whom the  // sell copies of the Software, and to permit persons to whom the Software is
 // Software is furnished to do so, subject to the following conditions:  // furnished to do so, subject to the following conditions:
 //  //
 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,  // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL  // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING  // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER  // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 // DEALINGS IN THE SOFTWARE.  // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 // //
 //============================================================================== //==============================================================================
 // //
 // Author: Mike Brasher (mbrasher@bmc.com) // Author: Mike Brasher (mbrasher@bmc.com)
 // //
 // Modified By:  // Modified By: Roger Kumpf, Hewlett Packard Company (roger_kumpf@hp.com)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 29 
Line 31 
 #define Pegasus_Name_h #define Pegasus_Name_h
  
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
   #include <Pegasus/Common/Linkage.h>
 #include <Pegasus/Common/String.h> #include <Pegasus/Common/String.h>
   #include <Pegasus/Common/Array.h>
 #include <Pegasus/Common/Exception.h> #include <Pegasus/Common/Exception.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
   ////////////////////////////////////////////////////////////////////////////////
   //
   // CIMName
   //
   ////////////////////////////////////////////////////////////////////////////////
   
 /** /**
     The name class defines static methods for handling CIM names.      The CIMName class defines methods for handling CIM names.
       <p>
     The names of classes, properties, qualifiers, and methods are all     The names of classes, properties, qualifiers, and methods are all
     CIM names. A CIM name must match the following regular     CIM names. A CIM name must match the following regular
     expression:     expression:
Line 46 
Line 57 
  
     Notice that the definition of a name is the same as C, C++,     Notice that the definition of a name is the same as C, C++,
     and Java.     and Java.
   
     This class cannot be instantiated (since its only constructor is  
     private).  
 */ */
 class PEGASUS_COMMON_LINKAGE CIMName class PEGASUS_COMMON_LINKAGE CIMName
 { {
 public: public:
  
     /** CIMMethod legal - Determine if the name string input is legal as      CIMName();
         defnined in the CIMName class definition      CIMName(const String& name);
         ATTN: Define what is legal      CIMName(const char* name);
         @param - String to test  
         @return Returns true if the given name is legal. Throws      CIMName& operator=(const CIMName& name);
         NullPointer exception if name argument is null.      CIMName& operator=(const String& name);
       CIMName& operator=(const char* name);
   
   #if 0
       String toString() const;
   #endif
   
       operator String() const;
   
       Boolean isNull() const;
   
       void clear();
   
       /** equal - Compares two names.
           @return Return true if the two names are equal. CIM names are
           case insensitive and so it this method.
     */     */
     static Boolean legal(const Char16* name);      Boolean equal(const CIMName& name) const;
  
     /** CIMMethod legal - Determine if the name string input is legal as      //  ATTN: Define what is legal
       /** legal - Determine if the name string input is legal as
         defnined in the CIMName class definition         defnined in the CIMName class definition
         @param - String to test         @param - String to test
         @return Returns true if the given name is legal. Throws          @return Returns true if the given name is legal.
         NullPointer exception if name argument is null.  
     */     */
     static Boolean legal(const String& name)      static Boolean legal(const String& name) throw();
     {  
         return legal(name.getData());  
     }  
  
     /** CIMMethod equal - Compares two names.  #if 0
       /** equal - Compares two names.
         @return Return true if the two names are equal. CIM names are         @return Return true if the two names are equal. CIM names are
         case insensitive and so it this method.         case insensitive and so it this method.
     */     */
     static Boolean equal(const String& name1, const String& name2)      static Boolean equal(const String& name1, const String& name2) throw();
     {  #endif
         return String::equalNoCase(name1, name2);  
     }  
  
 private: private:
       String cimName;
   };
   
   #if 0
   // Defining this causes ambiguous operator== errors between String and CIMName
   PEGASUS_COMMON_LINKAGE Boolean operator==(
       const CIMName& name1,
       const CIMName& name2);
   #endif
   
   #if 0
   PEGASUS_COMMON_LINKAGE PEGASUS_STD(ostream)& operator<<(
       PEGASUS_STD(ostream)& os,
       const CIMName& name);
   #endif
  
     CIMName() { }  #define PEGASUS_ARRAY_T CIMName
   # include "ArrayInter.h"
   #undef PEGASUS_ARRAY_T
   
   
   ////////////////////////////////////////////////////////////////////////////////
   //
   // CIMNamespaceName
   //
   ////////////////////////////////////////////////////////////////////////////////
   
   /**
       The CIMNamespaceName class defines methods for handling CIM namespace names.
       <p>
       A CIM namespace name must match the following expression:
       <PRE>
           <CIMName>[/<CIMName>]...
       </PRE>
   */
   class PEGASUS_COMMON_LINKAGE CIMNamespaceName
   {
   public:
   
       CIMNamespaceName();
       CIMNamespaceName(const String& name);
       CIMNamespaceName(const char* name);
   
       CIMNamespaceName& operator=(const CIMNamespaceName& name);
       CIMNamespaceName& operator=(const String& name);
       CIMNamespaceName& operator=(const char* name);
   
   #if 0
       String toString() const;
   #endif
   
       operator String() const;
   
       Boolean isNull() const;
   
       void clear();
   
       /** equal - Compares two names.
           @return Return true if the two names are equal. CIM names are
           case insensitive and so it this method.
       */
       Boolean equal(const CIMNamespaceName& name) const;
   
       //  ATTN: Define what is legal
       /** legal - Determine if the name string input is legal as
           defnined in the CIMNamespaceName class definition
           @param - String to test
           @return Returns true if the given name is legal.
       */
       static Boolean legal(const String& name) throw();
   
   #if 0
       /** equal - Compares two names.
           @return Return true if the two names are equal. CIM names are
           case insensitive and so it this method.
       */
       static Boolean equal(const String& name1, const String& name2) throw();
   #endif
   
   private:
       String cimNamespaceName;
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.6  
changed lines
  Added in v.1.19

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2