src/GuileHandler.h
branchv_0
changeset 29 caee22a6370a
parent 26 421608ecc12a
child 30 3ce384eaad5c
equal deleted inserted replaced
28:bbfb1944d269 29:caee22a6370a
   143 			}
   143 			}
   144 			case TypeId::INTEGER:
   144 			case TypeId::INTEGER:
   145 			{
   145 			{
   146 				assert(typeInfo == typeid (integer_t));
   146 				assert(typeInfo == typeid (integer_t));
   147 				auto* typedValue = static_cast<const integer_t*> (value);
   147 				auto* typedValue = static_cast<const integer_t*> (value);
   148 				return scm_from_uint64(*typedValue);
   148 				return scm_from_int64(*typedValue);
   149 			}
   149 			}
   150 			case TypeId::STRING:
   150 			case TypeId::STRING:
   151 			{
   151 			{
   152 				assert(typeInfo == typeid (string_t));
   152 				assert(typeInfo == typeid (string_t));
   153 				auto* typedValue = static_cast<const string_t*> (value);
   153 				auto* typedValue = static_cast<const string_t*> (value);
   179 				defineGuileVariable(definition.name, &value, typeid (value), TypeId::BOOLEAN);
   179 				defineGuileVariable(definition.name, &value, typeid (value), TypeId::BOOLEAN);
   180 				break;
   180 				break;
   181 			}
   181 			}
   182 			case writer::TypeId::INTEGER:
   182 			case writer::TypeId::INTEGER:
   183 			{
   183 			{
   184 				integer_t value = stoul(definition.value);
   184 				integer_t value = stol(definition.value);
   185 				defineGuileVariable(definition.name, &value, typeid (value), TypeId::INTEGER);
   185 				defineGuileVariable(definition.name, &value, typeid (value), TypeId::INTEGER);
   186 				break;
   186 				break;
   187 			}
   187 			}
   188 			case writer::TypeId::STRING:
   188 			case writer::TypeId::STRING:
   189 			{
   189 			{
   210 				boolean_t value = scm_to_bool(guileValue);
   210 				boolean_t value = scm_to_bool(guileValue);
   211 				return relationalWriter->writeAttribute(&value, typeid (value));
   211 				return relationalWriter->writeAttribute(&value, typeid (value));
   212 			}
   212 			}
   213 			case writer::TypeId::INTEGER:
   213 			case writer::TypeId::INTEGER:
   214 			{
   214 			{
   215 				integer_t value = scm_to_uint64(guileValue);
   215 				integer_t value = scm_to_int64(guileValue);
   216 				return relationalWriter->writeAttribute(&value, typeid (value));
   216 				return relationalWriter->writeAttribute(&value, typeid (value));
   217 			}
   217 			}
   218 			case writer::TypeId::STRING:
   218 			case writer::TypeId::STRING:
   219 			{
   219 			{
   220 				char* ch = scm_to_locale_string(guileValue);
   220 				char* ch = scm_to_locale_string(guileValue);