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

  1 mike  1.1 //BEGIN_LICENSE
  2           //
  3           // Copyright (c) 2000 The Open Group, BMC Software, Tivoli Systems, IBM
  4           //
  5           // Permission is hereby granted, free of charge, to any person obtaining a
  6           // copy of this software and associated documentation files (the "Software"),
  7           // to deal in the Software without restriction, including without limitation
  8           // the rights to use, copy, modify, merge, publish, distribute, sublicense,
  9           // and/or sell copies of the Software, and to permit persons to whom the
 10           // Software is furnished to do so, subject to the following conditions:
 11           //
 12           // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 13           // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 14           // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 15           // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 16           // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 17           // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 18           // DEALINGS IN THE SOFTWARE.
 19           //
 20           //END_LICENSE
 21           //BEGIN_HISTORY
 22 mike  1.1 //
 23           // Author:
 24           //
 25           // $Log$
 26           //
 27           //END_HISTORY
 28           
 29           #ifndef Pegasus_QualifierDeclRep_h
 30           #define Pegasus_QualifierDeclRep_h
 31           
 32           #include <Pegasus/Common/Config.h>
 33           #include <Pegasus/Common/String.h>
 34           #include <Pegasus/Common/Value.h>
 35           #include <Pegasus/Common/Sharable.h>
 36           #include <Pegasus/Common/Array.h>
 37           #include <Pegasus/Common/Pair.h>
 38           #include <Pegasus/Common/Sharable.h>
 39           #include <Pegasus/Common/Exception.h>
 40           #include <Pegasus/Common/Flavor.h>
 41           #include <Pegasus/Common/Scope.h>
 42           
 43 mike  1.1 PEGASUS_NAMESPACE_BEGIN
 44           
 45           class ConstQualifierDecl;
 46           class QualifierDecl;
 47           
 48           class PEGASUS_COMMON_LINKAGE QualifierDeclRep : public Sharable
 49           {
 50           public:
 51           
 52               QualifierDeclRep(
 53           	const String& name, 
 54           	const Value& value, 
 55           	Uint32 scope,
 56           	Uint32 flavor,
 57           	Uint32 arraySize);
 58           
 59               virtual ~QualifierDeclRep();
 60           
 61               const String& getName() const 
 62               { 
 63           	return _name; 
 64 mike  1.1     }
 65           
 66               void setName(const String& name);
 67           
 68               Type getType() const 
 69               { 
 70           	return _value.getType(); 
 71               }
 72           
 73               const Value& getValue() const 
 74               { 
 75           	return _value; 
 76               }
 77           
 78               void setValue(const Value& value) 
 79               {
 80           	_value = value; 
 81           
 82           	if (_value.getType() == Type::NONE)
 83           	    throw NullType();
 84               }
 85 mike  1.1 
 86               Uint32 getScope() const 
 87               {
 88           	return _scope; 
 89               }
 90           
 91               Uint32 getFlavor() const 
 92               {
 93           	return _flavor; 
 94               }
 95           
 96               Uint32 getArraySize() const 
 97               {
 98           	return _arraySize; 
 99               }
100           
101               void toXml(Array<Sint8>& out) const;
102           
103               void print() const;
104           
105               Boolean identical(const QualifierDeclRep* x) const;
106 mike  1.1 
107               QualifierDeclRep* clone() const
108               {
109           	return new QualifierDeclRep(*this);
110               }
111           
112           private:
113           
114               QualifierDeclRep();
115           
116               QualifierDeclRep(const QualifierDeclRep& x);
117           
118               QualifierDeclRep& operator=(const QualifierDeclRep& x);
119           
120               String _name;
121               Value _value;
122               Uint32 _scope;
123               Uint32 _flavor;
124               Uint32 _arraySize;
125           };
126           
127 mike  1.1 PEGASUS_NAMESPACE_END
128           
129           #endif /* Pegasus_QualifierDeclRep_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2