SampleSensorFactory::SampleSensorFactory() : m_sensorIDCount(0) { DataTypeManager& dataTypeMgr = DataTypeManager::GetSingleton(); DataTypeDescription typeDesc( "ZMQSensor", "ZMQ Sensor", "ZMQ Sensor Plugin" ); typeDesc.typeIsA.push_back( Types::Sensor ); Types::SampleSensor = dataTypeMgr.RegisterDataType( typeDesc, kSampleSensorGUID ); RegisterProperties(); SensorManager::GetSingleton().RegisterSensorFactory( kSensorTypeSampleSensor, this ); }
std::vector<FunctionDescription> FunctionTyper(std::vector<FunctionModel>& input) { std::vector<FunctionModel>::const_iterator it = input.begin(); std::vector<FunctionDescription> output; while (it != input.end()) { std::string key; std::vector<std::string> conversionString; std::string returnType = it->GetReturnType(); CheckAndGetType(key,conversionString,returnType); std::string name = it->GetFunctionName(); std::string desc = it->GetFunctionDescription(); std::vector<FunctionArgument> Arguments; for (unsigned long i=0; i < it->GetNumberArgs(); i++) { std::string thisKey; std::vector<std::string> thisConversionString; std::string thisType = it->GetArgumentReturnType(i); CheckAndGetType(thisKey,thisConversionString,thisType); FunctionArgumentType typeDesc(thisType,thisConversionString,thisKey); FunctionArgument thisArgument(typeDesc,it->GetArgumentFunctionName(i),it->GetArgumentFunctionDescription(i), it->GetArgumentFunctionDefaultvalue(i)); Arguments.push_back(thisArgument); } FunctionDescription thisDescription(name,desc,returnType,key,Arguments,it->GetVolatile(),it->DoTime(),it->GetThreadsafe()); output.push_back(thisDescription); ++it; } return output; }