Пример #1
0
DataType * new_UnknowType(){
	if (unknowObj == NULL){
		DataType *dataBase = new_DataType("unknow", -1);
		if (dataBase == NULL) return NULL;

		UnknowType* newunknowObj = (UnknowType*)malloc(sizeof(UnknowType));
		if (newunknowObj == NULL){
			dataBase->f_delete_DataType(dataBase);
			return NULL;
		}
		dataBase->_pDerivedObj = newunknowObj;
		newunknowObj->baseDataType = dataBase;

		dataBase->f_delete_DataType = delete_UnknowType;

		unknowObj = newunknowObj->baseDataType;
	}
	return unknowObj;
}
Пример #2
0
DataType * new_StringType(){
	if (stringObj == NULL){
		DataType *dataBase = new_DataType("string", 0);
		if (dataBase == NULL){
			return NULL;
		}

		StringType *newstringObj = (StringType*)malloc(sizeof(StringType));
		if (newstringObj == NULL){
			dataBase->f_delete_DataType(dataBase);
			return NULL;
		}
		dataBase->_pDerivedObj = newstringObj;
		newstringObj->baseDataType = dataBase;

		dataBase->f_delete_DataType = delete_StringType;
		dataBase->f_getValue = getStringValue;
		stringObj = dataBase;
	}
	return stringObj;
}
Пример #3
0
DataType * new_DoubleType(){
	if (doubleObj == NULL){
		DataType *dataBase = new_DataType("double", sizeof(double));
		if (dataBase == NULL){
			return NULL;
		}

		DoubleType * newdoubleObj = (DoubleType*)malloc(sizeof(DoubleType));
		if (newdoubleObj == NULL){
			dataBase->f_delete_DataType(dataBase);
			return NULL;
		}
		dataBase->_pDerivedObj = newdoubleObj;
		newdoubleObj->baseDataType = dataBase;

		dataBase->f_delete_DataType = delete_DoubleType;
		dataBase->f_getValue = getDoubleValue;
		doubleObj = newdoubleObj->baseDataType;
	}
	return doubleObj;
}
Пример #4
0
DataType* new_IntType(){
	if (intObj == NULL){
		DataType *dataBase = new_DataType("int", sizeof(int));
		if (dataBase == NULL){
			return NULL;
		}

		IntType *intObjs = (IntType*)malloc(sizeof(IntType));
		if (intObjs == NULL){
			dataBase->f_delete_DataType(dataBase);
			return NULL;
		}

		dataBase->_pDerivedObj = intObjs;
		intObjs->baseDataType = dataBase;
				
		dataBase->f_delete_DataType = delete_IntType;
		dataBase->f_getValue = getIntValue;
		intObj = intObjs->baseDataType;
	}
	return intObj;
}
Пример #5
0
DataType * new_FloatType(){
	if (floatObj == NULL){
		DataType *dataBase = new_DataType("float", sizeof(float));
		if (dataBase == NULL){
			return NULL;
		}

		FloatType * newfloatObj = (FloatType*)malloc(sizeof(FloatType));
		if (newfloatObj == NULL){
			dataBase->f_delete_DataType(dataBase);
			return NULL;
		}
		dataBase->_pDerivedObj = newfloatObj;
		newfloatObj->baseDataType = dataBase;

		dataBase->f_delete_DataType = delete_FloatType;
		dataBase->f_getValue = getFloatValue;

		floatObj = newfloatObj->baseDataType;
	}
	return floatObj;
}
Пример #6
0
DataType * new_LongType(){
	if (longObj == NULL){
		DataType *dataBase = new_DataType("long", sizeof(long));
		if (dataBase == NULL){
			return NULL;
		}

		LongType *newlongObj = (LongType*)malloc(sizeof(LongType));
		if (newlongObj == NULL){
			dataBase->f_delete_DataType(dataBase);
			return NULL;
		}
			
		dataBase->_pDerivedObj = newlongObj;
		newlongObj->baseDataType = dataBase;

		dataBase->f_delete_DataType = delete_LongType;
		dataBase->f_getValue = getLongValue;

		longObj = newlongObj->baseDataType;
	}
	return longObj;
}