Ejemplo n.º 1
0
void* XMLSerialize::getObjectPrimitiveValue(void* _1, const std::string& className, const std::string& propName)
{
	Element* root = (Element*)_1;
	if(root->getTagName()!=propName)
		return NULL;
	if((className=="signed" || className=="int" || className=="signed int"))
	{
		int *vt = new int;
		*vt = CastUtil::lexical_cast<int>(root->getText());
		return vt;
	}
	else if((className=="unsigned" || className=="unsigned int"))
	{
		unsigned int *vt = new unsigned int;
		*vt = CastUtil::lexical_cast<unsigned int>(root->getText());
		return vt;
	}
	else if((className=="short" || className=="short int" || className=="signed short" || className=="signed short int"))
	{
		short *vt = new short;
		*vt = CastUtil::lexical_cast<short>(root->getText());
		return vt;
	}
	else if((className=="unsigned short" || className=="unsigned short int"))
	{
		unsigned short *vt = new unsigned short;
		*vt = CastUtil::lexical_cast<unsigned short>(root->getText());
		return vt;
	}
	else if((className=="long" || className=="long int" || className=="signed long" || className=="signed long int"))
	{
		long *vt = new long;
		*vt = CastUtil::lexical_cast<long>(root->getText());
		return vt;
	}
	else if((className=="long long" || className=="long long int" || className=="signed long long int"))
	{
		long long *vt = new long long;
		*vt = CastUtil::lexical_cast<long long>(root->getText());
		return vt;
	}
	else if((className=="unsigned long" || className=="unsigned long int"))
	{
		unsigned long *vt = new unsigned long;
		*vt = CastUtil::lexical_cast<unsigned long>(root->getText());
		return vt;
	}
	else if((className=="unsigned long long" || className=="unsigned long long int"))
	{
		unsigned long long *vt = new unsigned long long;
		*vt = CastUtil::lexical_cast<unsigned long long>(root->getText());
		return vt;
	}
	else if((className=="char" || className=="signed char"))
	{
		char *vt = new char;
		*vt = root->getText().at(0);
		return vt;
	}
	else if(className=="unsigned char")
	{
		unsigned char *vt = new unsigned char;
		*vt = root->getText().at(0);
		return vt;
	}
	else if(className=="Date")
	{
		DateFormat formt("yyyy-mm-dd hh:mi:ss");
		return formt.parse(root->getText());
	}
	else if(className=="BinaryData")
	{
		return BinaryData::unSerilaize(root->getText());
	}
	else if(className=="float")
	{
		float *vt = new float;
		*vt = CastUtil::lexical_cast<float>(root->getText());
		return vt;
	}
	else if(className=="double")
	{
		double *vt = new double;
		*vt = CastUtil::lexical_cast<double>(root->getText());
		return vt;
	}
	else if(className=="long double")
	{
		long double *vt = new long double;
		*vt = CastUtil::lexical_cast<long double>(root->getText());
		return vt;
	}
	else if(className=="bool")
	{
		bool *vt = new bool;
		*vt = CastUtil::lexical_cast<bool>(root->getText());
		return vt;
	}
	else if((className=="std::string" || className=="string"))
	{
		std::string *vt = new std::string;
		*vt = root->getText();
		return vt;
	}
	return NULL;
}
Ejemplo n.º 2
0
void* BinarySerialize::getObjectPrimitiveValue(void* _1, string className, string propName)
{
	AMEFObject* root = (AMEFObject*)_1;
	if((className=="signed" || className=="int" || className=="signed int") && root->getNameStr()==propName)
	{
		int *vt = new int;
		*vt = root->getIntValue();
		return vt;
	}
	else if((className=="unsigned" || className=="unsigned int") && root->getNameStr()==propName)
	{
		unsigned int *vt = new unsigned int;
		*vt = root->getUIntValue();
		return vt;
	}
	else if((className=="short" || className=="short int" || className=="signed short" || className=="signed short int") && root->getNameStr()==propName)
	{
		short *vt = new short;
		*vt = root->getShortValue();
		return vt;
	}
	else if((className=="unsigned short" || className=="unsigned short int") && root->getNameStr()==propName)
	{
		unsigned short *vt = new unsigned short;
		*vt = root->getUShortValue();
		return vt;
	}
	else if((className=="long" || className=="long int" || className=="signed long" || className=="signed long int") && root->getNameStr()==propName)
	{
		long *vt = new long;
		*vt = root->getLongLongValue();
		return vt;
	}
	else if((className=="unsigned long" || className=="unsigned long int") && root->getNameStr()==propName)
	{
		long *vt = new long;
		*vt = root->getLongLongValue();
		return vt;
	}
	else if((className=="long long" || className=="long long int" || className=="signed long long int") && root->getNameStr()==propName)
	{
		long long *vt = new long long;
		*vt = root->getULongLongValue();
		return vt;
	}
	else if((className=="unsigned long long" || className=="unsigned long long int") && root->getNameStr()==propName)
	{
		unsigned long long *vt = new unsigned long long;
		*vt = root->getULongLongValue();
		return vt;
	}
	else if((className=="char" || className=="signed char") && root->getNameStr()==propName)
	{
		char *vt = new char;
		*vt = root->getCharValue();
		return vt;
	}
	else if(className=="unsigned char" && root->getNameStr()==propName)
	{
		unsigned char *vt = new unsigned char;
		*vt = root->getUCharValue();
		return vt;
	}
	else if(className=="Date" && root->getNameStr()==propName)
	{
		DateFormat formt("yyyy-mm-dd hh:mi:ss");
		return formt.parse(root->getValueStr());
	}
	else if(className=="BinaryData" && root->getNameStr()==propName)
	{
		return BinaryData::unSerilaize(root->getValueStr());
	}
	else if(className=="float" && root->getNameStr()==propName)
	{
		float *vt = new float;
		*vt = root->getFloatValue();
		return vt;
	}
	else if(className=="double" && root->getNameStr()==propName)
	{
		double *vt = new double;
		*vt = root->getDoubleValue();
		return vt;
	}
	else if(className=="long double" && root->getNameStr()==propName)
	{
		long double *vt = new long double;
		*vt = root->getLongDoubleValue();
		return vt;
	}
	else if(className=="bool" && root->getNameStr()==propName)
	{
		bool *vt = new bool;
		*vt = root->getBoolValue();
		return vt;
	}
	else if((className=="std::string" || className=="string") && root->getNameStr()==propName)
	{
		string *vt = new string;
		*vt = root->getValueStr();
		return vt;
	}
	return NULL;
}
Ejemplo n.º 3
0
void XMLSerialize::addObjectPrimitiveProperty(void* _1, const std::string& propName, const std::string& className, void* t)
{
	std::string* object = (std::string*)_1;
	std::string objXml;
	if(className=="std::string" || className=="string")
	{
		std::string tem = *(std::string*)t;
		objXml = tem;
	}
	else if(className=="char")
	{
		char tem = *(char*)t;
		std::string temp;
		temp.push_back(tem);
		objXml = temp;
	}
	else if(className=="unsigned char")
	{
		unsigned char tem = *(char*)t;
		std::string temp;
		temp.push_back(tem);
		objXml = temp;
	}
	else if(className=="int")
	{
		int tem = *(int*)t;
		objXml = CastUtil::lexical_cast<std::string>(tem);
	}
	else if(className=="unsigned int")
	{
		unsigned int tem = *(unsigned int*)t;
		objXml = CastUtil::lexical_cast<std::string>(tem);
	}
	else if(className=="short")
	{
		short tem = *(short*)t;
		objXml = CastUtil::lexical_cast<std::string>(tem);
	}
	else if(className=="unsigned short")
	{
		unsigned short tem = *(unsigned short*)t;
		objXml = CastUtil::lexical_cast<std::string>(tem);
	}
	else if(className=="long")
	{
		long tem = *(long*)t;
		objXml = CastUtil::lexical_cast<std::string>(tem);
	}
	else if(className=="unsigned long")
	{
		unsigned long tem = *(unsigned long*)t;
		objXml = CastUtil::lexical_cast<std::string>(tem);
	}
	else if(className=="long long")
	{
		long long tem = *(long long*)t;
		objXml = CastUtil::lexical_cast<std::string>(tem);
	}
	else if(className=="unsigned long long")
	{
		unsigned long long tem = *(unsigned long long*)t;
		objXml = CastUtil::lexical_cast<std::string>(tem);
	}
	else if(className=="float")
	{
		float tem = *(float*)t;
		objXml = CastUtil::lexical_cast<std::string>(tem);
	}
	else if(className=="double")
	{
		double tem = *(double*)t;
		objXml = CastUtil::lexical_cast<std::string>(tem);
	}
	else if(className=="long double")
	{
		long double tem = *(long double*)t;
		objXml = CastUtil::lexical_cast<std::string>(tem);
	}
	else if(className=="bool")
	{
		bool tem = *(bool*)t;
		objXml = CastUtil::lexical_cast<std::string>(tem);
	}
	else if(className=="Date")
	{
		DateFormat formt("yyyy-mm-dd hh:mi:ss");
		objXml = formt.format(*(Date*)t);
	}
	else if(className=="BinaryData")
	{
		objXml = BinaryData::serilaize(*(BinaryData*)t);
	}

	/*StringUtil::replaceAll(className, "std::", "");
	StringUtil::replaceAll(className, "::", "_");
	StringUtil::replaceAll(className, "<", "-");
	StringUtil::replaceAll(className, ">", "-");
	if(className.at(className.length()-1)=='-')
		className = className.substr(0, className.length()-1);*/
	//TODO - any side effects??
	//*object += "<" + propName + " type=\"" + className + "\">" + objXml + "</" + propName + ">";
	*object += "<" + propName + ">" + objXml + "</" + propName + ">";
}
Ejemplo n.º 4
0
std::string XMLSerialize::serializePrimitive(const std::string& className, void* t)
{
	std::string objXml;
	if(className=="std::string" || className=="string")
	{
		std::string tem = *(std::string*)t;
		objXml = "<string>"+tem+"</string>";
	}
	else if(className=="char")
	{
		char tem = *(char*)t;
		std::string temp;
		temp.push_back(tem);
		objXml = "<char>"+temp+"</char>";
	}
	else if(className=="unsigned char")
	{
		unsigned char tem = *(char*)t;
		std::string temp;
		temp.push_back(tem);
		objXml = "<uchar>"+temp+"</uchar>";
	}
	else if(className=="int")
	{
		int tem = *(int*)t;
		objXml = "<int>"+CastUtil::lexical_cast<std::string>(tem)+"</int>";
	}
	else if(className=="unsigned int")
	{
		unsigned int tem = *(unsigned int*)t;
		objXml = "<uint>"+CastUtil::lexical_cast<std::string>(tem)+"</uint>";
	}
	else if(className=="short")
	{
		short tem = *(short*)t;
		objXml = "<short>"+CastUtil::lexical_cast<std::string>(tem)+"</short>";
	}
	else if(className=="unsigned short")
	{
		unsigned short tem = *(unsigned short*)t;
		objXml = "<ushort>"+CastUtil::lexical_cast<std::string>(tem)+"</ushort>";
	}
	else if(className=="long")
	{
		long tem = *(long*)t;
		objXml = "<long>"+CastUtil::lexical_cast<std::string>(tem)+"</long>";
	}
	else if(className=="unsigned long")
	{
		unsigned long tem = *(unsigned long*)t;
		objXml = "<ulong>"+CastUtil::lexical_cast<std::string>(tem)+"</ulong>";
	}
	else if(className=="long long")
	{
		long long tem = *(long long*)t;
		objXml = "<llong>"+CastUtil::lexical_cast<std::string>(tem)+"</llong>";
	}
	else if(className=="unsigned long long")
	{
		unsigned long long tem = *(unsigned long long*)t;
		objXml = "<ullong>"+CastUtil::lexical_cast<std::string>(tem)+"</ullong>";
	}
	else if(className=="float")
	{
		float tem = *(float*)t;
		objXml = "<float>"+CastUtil::lexical_cast<std::string>(tem)+"</float>";
	}
	else if(className=="double")
	{
		double tem = *(double*)t;
		objXml = "<double>"+CastUtil::lexical_cast<std::string>(tem)+"</double>";
	}
	else if(className=="long double")
	{
		long double tem = *(long double*)t;
		objXml = "<ldouble>"+CastUtil::lexical_cast<std::string>(tem)+"</ldouble>";
	}
	else if(className=="bool")
	{
		bool tem = *(bool*)t;
		objXml = "<bool>"+CastUtil::lexical_cast<std::string>(tem)+"</bool>";
	}
	else if(className=="Date")
	{
		DateFormat formt("yyyy-mm-dd hh:mi:ss");
		objXml = "<Date>"+formt.format(*(Date*)t)+"</Date>";
	}
	else if(className=="BinaryData")
	{
		objXml = "<BinaryData>"+BinaryData::serilaize(*(BinaryData*)t)+"</BinaryData>";
	}
	return objXml;
}
Ejemplo n.º 5
0
void XMLSerialize::addPrimitiveElementToContainer(void* _1, const int& counter, const std::string& className, void* cont, const std::string& container)
{
	Element* root = (Element*)_1;
	Element* ele = (Element*)&(root->getChildElements().at(counter));
	if(className=="std::string" || className=="string")
	{
		std::string retVal = ele->getText();
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="int")
	{
		int retVal = CastUtil::lexical_cast<int>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="short")
	{
		short retVal = CastUtil::lexical_cast<short>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="long")
	{
		long retVal = CastUtil::lexical_cast<long>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="long long")
	{
		long long retVal = CastUtil::lexical_cast<long long>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="long double")
	{
		long double retVal = CastUtil::lexical_cast<long double>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="unsigned int")
	{
		unsigned int retVal = CastUtil::lexical_cast<unsigned int>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="unsigned short")
	{
		unsigned short retVal = CastUtil::lexical_cast<unsigned short>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="unsigned long")
	{
		unsigned long retVal = CastUtil::lexical_cast<unsigned long>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="unsigned long long")
	{
		unsigned long long retVal = CastUtil::lexical_cast<unsigned long long>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="float")
	{
		float retVal = CastUtil::lexical_cast<float>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="double")
	{
		double retVal = CastUtil::lexical_cast<double>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="bool")
	{
		bool retVal = CastUtil::lexical_cast<bool>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="char")
	{
		char retVal = CastUtil::lexical_cast<char>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="unsigned char")
	{
		unsigned char retVal = CastUtil::lexical_cast<unsigned char>(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, retVal, cont);
		else addValueToNestedContainer(container, retVal, cont);
	}
	else if(className=="Date")
	{
		DateFormat formt("yyyy-mm-dd hh:mi:ss");
		Date* _d = formt.parse(ele->getText());
		if(container=="std::set" || container=="std::multiset") addValueToNestedContainerSV(container, *_d, cont);
		else addValueToNestedContainer(container, *_d, cont);
		delete _d;
	}
}
Ejemplo n.º 6
0
void JSONSerialize::addObjectPrimitiveProperty(void* _1, string propName, string className, void* t)
{
	string* object = (string*)_1;

	string objXml;
	if(className=="std::string" || className=="string")
	{
		string tem = *(string*)t;
		objXml = "\""+tem+"\"";
	}
	else if(className=="char")
	{
		char tem = *(char*)t;
		string temp;
		temp.push_back(tem);
		objXml = "\""+temp+"\"";
	}
	else if(className=="unsigned char")
	{
		unsigned char tem = *(char*)t;
		string temp;
		temp.push_back(tem);
		objXml = "\""+temp+"\"";
	}
	else if(className=="int")
	{
		int tem = *(int*)t;
		objXml = CastUtil::lexical_cast<string>(tem);
	}
	else if(className=="unsigned int")
	{
		unsigned int tem = *(unsigned int*)t;
		objXml = CastUtil::lexical_cast<string>(tem);
	}
	else if(className=="short")
	{
		short tem = *(short*)t;
		objXml = CastUtil::lexical_cast<string>(tem);
	}
	else if(className=="unsigned short")
	{
		unsigned short tem = *(unsigned short*)t;
		objXml = CastUtil::lexical_cast<string>(tem);
	}
	else if(className=="long")
	{
		long tem = *(long*)t;
		objXml = CastUtil::lexical_cast<string>(tem);
	}
	else if(className=="unsigned long")
	{
		unsigned long tem = *(unsigned long*)t;
		objXml = CastUtil::lexical_cast<string>(tem);
	}
	else if(className=="long long")
	{
		long long tem = *(long long*)t;
		objXml = CastUtil::lexical_cast<string>(tem);
	}
	else if(className=="unsigned long long")
	{
		unsigned long long tem = *(unsigned long long*)t;
		objXml = CastUtil::lexical_cast<string>(tem);
	}
	else if(className=="float")
	{
		float tem = *(float*)t;
		objXml = CastUtil::lexical_cast<string>(tem);
	}
	else if(className=="double")
	{
		double tem = *(double*)t;
		objXml = CastUtil::lexical_cast<string>(tem);
	}
	else if(className=="long double")
	{
		long double tem = *(long double*)t;
		objXml = CastUtil::lexical_cast<string>(tem);
	}
	else if(className=="bool")
	{
		bool tem = *(bool*)t;
		objXml = CastUtil::lexical_cast<string>(tem);
	}
	else if(className=="Date")
	{
		DateFormat formt("yyyy-mm-dd hh:mi:ss");
		objXml = "\""+formt.format(*(Date*)t)+"\"";
	}
	else if(className=="BinaryData")
	{
		objXml = "\""+BinaryData::serilaize(*(BinaryData*)t)+"\"";
	}
	*object += "\"" + propName + "\" : " + objXml;
}
Ejemplo n.º 7
0
void* JSONSerialize::getPrimitiveValue(void* _1, string className)
{
	string* root = (string*)_1;
	if((className=="signed" || className=="int" || className=="signed int"))
	{
		int *vt = new int;
		*vt = CastUtil::lexical_cast<int>(*root);
		return vt;
	}
	else if((className=="unsigned" || className=="unsigned int"))
	{
		unsigned int *vt = new unsigned int;
		*vt = CastUtil::lexical_cast<unsigned int>(*root);
		return vt;
	}
	else if((className=="short" || className=="short int" || className=="signed short" || className=="signed short int"))
	{
		short *vt = new short;
		*vt = CastUtil::lexical_cast<short>(*root);
		return vt;
	}
	else if((className=="unsigned short" || className=="unsigned short int"))
	{
		unsigned short *vt = new unsigned short;
		*vt = CastUtil::lexical_cast<unsigned short>(*root);
		return vt;
	}
	else if((className=="long int" || className=="signed long" || className=="signed long int" || className=="signed long long int"))
	{
		long *vt = new long;
		*vt = CastUtil::lexical_cast<long>(*root);
		return vt;
	}
	else if((className=="unsigned long long" || className=="unsigned long long int"))
	{
		unsigned long long *vt = new unsigned long long;
		*vt = CastUtil::lexical_cast<unsigned long long>(*root);
		return vt;
	}
	else if((className=="char" || className=="signed char"))
	{
		char *vt = new char;
		*vt = root->at(0);
		return vt;
	}
	else if(className=="unsigned char")
	{
		unsigned char *vt = new unsigned char;
		*vt = root->at(0);
		return vt;
	}
	else if(className=="Date")
	{
		DateFormat formt("yyyy-mm-dd hh:mi:ss");
		return formt.parse(*root);
	}
	else if(className=="BinaryData")
	{
		return BinaryData::unSerilaize(*root);
	}
	else if(className=="float")
	{
		float *vt = new float;
		*vt = CastUtil::lexical_cast<float>(*root);
		return vt;
	}
	else if(className=="double")
	{
		double *vt = new double;
		*vt = CastUtil::lexical_cast<double>(*root);
		return vt;
	}
	else if(className=="long double")
	{
		long double *vt = new long double;
		*vt = CastUtil::lexical_cast<long double>(*root);
		return vt;
	}
	else if(className=="bool")
	{
		bool *vt = new bool;
		*vt = CastUtil::lexical_cast<bool>(*root);
		return vt;
	}
	else if(className=="std::string" || className=="string")
	{
		string *vt = new string;
		*vt = *root;
		return vt;
	}
	return NULL;
}