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 );
	}
예제 #2
0
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;
}