blob: 7dc4f7bec702b932943bf4197cad58a4605e53b6 [file] [log] [blame]
// Copyright 2003-2004 The Apache Software Foundation.
// (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// !!! This include file must be first thing in file !!!
#include "../../platforms/PlatformAutoSense.hpp"
#include "Boolean.hpp"
AXIS_CPP_NAMESPACE_START
Boolean::Boolean()
{
}
Boolean::Boolean(const xsd__boolean* value)
{
if (value)
{
setNil(false);
serialize(value);
}
}
Boolean::~Boolean()
{
}
XSDTYPE Boolean::getType()
{
return XSD_BOOLEAN;
}
xsd__boolean* Boolean::getBoolean()
{
if (isNil())
return NULL;
else
return deserializeBoolean(m_Buf);
}
void * Boolean::getValue()
{
return (void*) getBoolean();
}
/**
* Serialize boolean value to it's on-the-wire string form.
* @param value The boolean value to be serialized.
* @return Serialized form of boolean value.
*/
AxisChar* Boolean::serialize(const xsd__boolean * value) throw (AxisSoapException)
{
AxisChar serializedValue[6];
AxisSprintf (serializedValue, 6, "%s",
(*((int *) (value)) == false_) ? "false" : "true");
IAnySimpleType::serialize(serializedValue);
return m_Buf;
}
/**
* Deserialize boolean value from it's on-the-wire string form.
* @param valueAsChar Serialized form of boolean value.
* @return Deserialized boolean value.
*/
xsd__boolean * Boolean::deserializeBoolean(const AxisChar* valueAsChar) throw (AxisSoapException)
{
xsd__boolean * value = new xsd__boolean;
if ( 0 == strcmp (valueAsChar, "true") || 0 == strcmp (valueAsChar, "1"))
*value = true_;
else
*value = false_;
return value;
}
WhiteSpace* Boolean::getWhiteSpace()
{
return new WhiteSpace(COLLAPSE);
}
Enumeration* Boolean::getEnumeration()
{
static AxisChar* BooleanEnumerationValue1 = "true";
static AxisChar* BooleanEnumerationValue2 = "false";
static AxisChar* BooleanEnumerationValue3 = "1";
static AxisChar* BooleanEnumerationValue4 = "0";
AxisChar* enumerationValues[] =
{
BooleanEnumerationValue1,
BooleanEnumerationValue2,
BooleanEnumerationValue3,
BooleanEnumerationValue4
};
return new Enumeration(enumerationValues, sizeof(enumerationValues)/sizeof(AxisChar*));
}
AXIS_CPP_NAMESPACE_END