00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00029
00030
00031
00032 #ifndef Pegasus_Parameter_h
00033 #define Pegasus_Parameter_h
00034
00035 #include <Pegasus/Common/Config.h>
00036 #include <Pegasus/Common/CIMName.h>
00037 #include <Pegasus/Common/CIMQualifier.h>
00038 #include <Pegasus/Common/CIMType.h>
00039 #include <Pegasus/Common/Linkage.h>
00040
00041 PEGASUS_NAMESPACE_BEGIN
00042
00044
00045
00046
00048
00049 class Resolver;
00050 class CIMConstParameter;
00051 class CIMParameterRep;
00052
00077 class PEGASUS_COMMON_LINKAGE CIMParameter
00078 {
00079 public:
00080
00088 CIMParameter();
00089
00096 CIMParameter(const CIMParameter& x);
00097
00115 CIMParameter(
00116 const CIMName& name,
00117 CIMType type,
00118 Boolean isArray = false,
00119 Uint32 arraySize = 0,
00120 const CIMName& referenceClassName = CIMName());
00121
00125 ~CIMParameter();
00126
00134 CIMParameter& operator=(const CIMParameter& x);
00135
00142 const CIMName& getName() const;
00143
00151 void setName(const CIMName& name);
00152
00159 Boolean isArray() const;
00160
00167 Uint32 getArraySize() const;
00168
00177 const CIMName& getReferenceClassName() const;
00178
00185 CIMType getType() const;
00186
00196 CIMParameter& addQualifier(const CIMQualifier& x);
00197
00205 Uint32 findQualifier(const CIMName& name) const;
00206
00216 CIMQualifier getQualifier(Uint32 index);
00217
00226 void removeQualifier (Uint32 index);
00227
00237 CIMConstQualifier getQualifier(Uint32 index) const;
00238
00252 Uint32 getQualifierCount() const;
00253
00258 Boolean isUninitialized() const;
00259
00268 Boolean identical(const CIMConstParameter& x) const;
00269
00277 CIMParameter clone() const;
00278
00279 private:
00280
00281 CIMParameter(CIMParameterRep* rep);
00282
00283 CIMParameterRep* _rep;
00284
00285 friend class CIMConstParameter;
00286 friend class Resolver;
00287 friend class XmlWriter;
00288 friend class MofWriter;
00289 friend class BinaryStreamer;
00290 };
00291
00292
00294
00295
00296
00298
00306 class PEGASUS_COMMON_LINKAGE CIMConstParameter
00307 {
00308 public:
00309
00317 CIMConstParameter();
00318
00326 CIMConstParameter(const CIMConstParameter& x);
00327
00335 CIMConstParameter(const CIMParameter& x);
00336
00352 CIMConstParameter(
00353 const CIMName& name,
00354 CIMType type,
00355 Boolean isArray = false,
00356 Uint32 arraySize = 0,
00357 const CIMName& referenceClassName = CIMName());
00358
00362 ~CIMConstParameter();
00363
00371 CIMConstParameter& operator=(const CIMConstParameter& x);
00372
00380 CIMConstParameter& operator=(const CIMParameter& x);
00381
00388 const CIMName& getName() const;
00389
00396 Boolean isArray() const;
00397
00404 Uint32 getArraySize() const;
00405
00414 const CIMName& getReferenceClassName() const;
00415
00422 CIMType getType() const;
00423
00431 Uint32 findQualifier(const CIMName& name) const;
00432
00442 CIMConstQualifier getQualifier(Uint32 index) const;
00443
00450 Uint32 getQualifierCount() const;
00451
00456 Boolean isUninitialized() const;
00457
00466 Boolean identical(const CIMConstParameter& x) const;
00467
00476 CIMParameter clone() const;
00477
00478 private:
00479
00480 CIMParameterRep* _rep;
00481 friend class CIMParameter;
00482 friend class XmlWriter;
00483 friend class MofWriter;
00484 };
00485
00486 #define PEGASUS_ARRAY_T CIMParameter
00487 # include <Pegasus/Common/ArrayInter.h>
00488 #undef PEGASUS_ARRAY_T
00489
00490 PEGASUS_NAMESPACE_END
00491
00492 #endif