Exemplo n.º 1
0
Arquivo: DataType.c Projeto: ayscb/op
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;
}
Exemplo n.º 2
0
Arquivo: DataType.c Projeto: ayscb/op
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;
}
Exemplo n.º 3
0
Arquivo: DataType.c Projeto: ayscb/op
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;
}
Exemplo n.º 4
0
Arquivo: DataType.c Projeto: ayscb/op
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;
}
Exemplo n.º 5
0
Arquivo: DataType.c Projeto: ayscb/op
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;
}
Exemplo n.º 6
0
Arquivo: DataType.c Projeto: ayscb/op
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;
}