version 1.60, 2005/10/31 17:39:11
|
version 1.61, 2005/10/31 18:19:27
|
|
|
#include "Buffer.h" | #include "Buffer.h" |
#include "CIMValueRep.h" | #include "CIMValueRep.h" |
#include "Buffer.h" | #include "Buffer.h" |
|
|
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
#define PEGASUS_ARRAY_T CIMValue | #define PEGASUS_ARRAY_T CIMValue |
|
|
while (size--) | while (size--) |
{ | { |
_toString(out, *p++); | _toString(out, *p++); |
out << " "; |
out.append(' '); |
} | } |
} | } |
| |
|
|
break; | break; |
| |
case CIMTYPE_STRING: | case CIMTYPE_STRING: |
_rep->_u._stringArray = |
new(_rep->_u._stringArray) Array<String>(x._rep->stringArray()); |
new Array<String>(*(x._rep->_u._stringArray)); |
|
break; | break; |
| |
case CIMTYPE_DATETIME: | case CIMTYPE_DATETIME: |
|
|
break; | break; |
| |
case CIMTYPE_STRING: | case CIMTYPE_STRING: |
_rep->_u._stringValue = new String(*(x._rep->_u._stringValue)); |
new(_rep->_u._stringValue) String( |
|
*((String*)x._rep->_u._stringValue)); |
break; | break; |
| |
case CIMTYPE_DATETIME: | case CIMTYPE_DATETIME: |
|
|
break; | break; |
| |
case CIMTYPE_STRING: | case CIMTYPE_STRING: |
delete _rep->_u._stringArray; |
_rep->stringArray().~Array<String>(); |
break; | break; |
| |
case CIMTYPE_DATETIME: | case CIMTYPE_DATETIME: |
|
|
break; | break; |
| |
case CIMTYPE_STRING: | case CIMTYPE_STRING: |
delete _rep->_u._stringValue; |
((String*)_rep->_u._stringValue)->~String(); |
break; | break; |
| |
case CIMTYPE_DATETIME: | case CIMTYPE_DATETIME: |
|
|
break; | break; |
| |
case CIMTYPE_STRING: | case CIMTYPE_STRING: |
return _rep->_u._stringArray->size(); |
return _rep->stringArray().size(); |
break; | break; |
| |
case CIMTYPE_DATETIME: | case CIMTYPE_DATETIME: |
|
|
void CIMValue::set(const String& x) | void CIMValue::set(const String& x) |
{ | { |
clear(); | clear(); |
_rep->_u._stringValue = new String(x); |
new(_rep->_u._stringValue) String(x); |
_rep->_type = CIMTYPE_STRING; | _rep->_type = CIMTYPE_STRING; |
_rep->_isNull = false; | _rep->_isNull = false; |
} | } |
|
|
void CIMValue::set(const Array<String>& x) | void CIMValue::set(const Array<String>& x) |
{ | { |
clear(); | clear(); |
_rep->_u._stringArray = new Array<String>(x); |
new(_rep->_u._stringArray) Array<String>(x); |
_rep->_type = CIMTYPE_STRING; | _rep->_type = CIMTYPE_STRING; |
_rep->_isArray = true; | _rep->_isArray = true; |
_rep->_isNull = false; | _rep->_isNull = false; |
|
|
throw TypeMismatchException(); | throw TypeMismatchException(); |
| |
if (!_rep->_isNull) | if (!_rep->_isNull) |
x = *_rep->_u._stringValue; |
x = *((String*)_rep->_u._stringValue); |
} | } |
| |
void CIMValue::get(CIMDateTime& x) const | void CIMValue::get(CIMDateTime& x) const |
|
|
throw TypeMismatchException(); | throw TypeMismatchException(); |
| |
if (!_rep->_isNull) | if (!_rep->_isNull) |
x = *_rep->_u._stringArray; |
x = _rep->stringArray(); |
} | } |
| |
void CIMValue::get(Array<CIMDateTime>& x) const | void CIMValue::get(Array<CIMDateTime>& x) const |
|
|
(*x._rep->_u._char16Array); | (*x._rep->_u._char16Array); |
| |
case CIMTYPE_STRING: | case CIMTYPE_STRING: |
return (*_rep->_u._stringArray) == |
return _rep->stringArray() == x._rep->stringArray(); |
(*x._rep->_u._stringArray); |
|
| |
case CIMTYPE_DATETIME: | case CIMTYPE_DATETIME: |
return (*_rep->_u._dateTimeArray) == | return (*_rep->_u._dateTimeArray) == |
|
|
return _rep->_u._char16Value == x._rep->_u._char16Value; | return _rep->_u._char16Value == x._rep->_u._char16Value; |
| |
case CIMTYPE_STRING: | case CIMTYPE_STRING: |
return String::equal(*_rep->_u._stringValue, |
return String::equal( |
*x._rep->_u._stringValue); |
*((String*)_rep->_u._stringValue), |
|
*((String*)x._rep->_u._stringValue)); |
| |
case CIMTYPE_DATETIME: | case CIMTYPE_DATETIME: |
return *_rep->_u._dateTimeValue == *x._rep->_u._dateTimeValue; | return *_rep->_u._dateTimeValue == *x._rep->_u._dateTimeValue; |
|
|
for (Uint32 i = 0; i < size; i++) | for (Uint32 i = 0; i < size; i++) |
{ | { |
_toString(out, Boolean(_rep->_u._booleanArray->getData()[i])); | _toString(out, Boolean(_rep->_u._booleanArray->getData()[i])); |
out << " "; |
out.append(' '); |
} | } |
break; | break; |
} | } |
|
|
break; | break; |
| |
case CIMTYPE_STRING: | case CIMTYPE_STRING: |
_toString(out, _rep->_u._stringArray->getData(), |
_toString(out, _rep->stringArray().getData(), |
_rep->_u._stringArray->size()); |
_rep->stringArray().size()); |
break; | break; |
| |
case CIMTYPE_DATETIME: | case CIMTYPE_DATETIME: |
|
|
break; | break; |
| |
case CIMTYPE_STRING: | case CIMTYPE_STRING: |
_toString(out, *_rep->_u._stringValue); |
_toString(out, *((String*)_rep->_u._stringValue)); |
break; | break; |
| |
case CIMTYPE_DATETIME: | case CIMTYPE_DATETIME: |
|
|
| |
#endif | #endif |
| |
|
void CIMValue::_get(const String*& data, Uint32& size) const |
|
{ |
|
data = _rep->stringArray().getData(); |
|
size = _rep->stringArray().size(); |
|
} |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |