const TYPE getPropertyValue(ref <session> s, const property& p) const
	{
		if (p.getFlags() & property::FLAG_REQUIRED)
			return s->getProperties()[getPropertyPrefix() + p.getName()].template getValue <TYPE>();

		return s->getProperties().template getProperty <TYPE>(getPropertyPrefix() + p.getName(),
			propertySet::valueFromString <TYPE>(p.getDefaultValue()));
	}
bool serviceInfos::hasProperty(ref <session> s, const property& p) const
{
	return s->getProperties().hasProperty(getPropertyPrefix() + p.getName());
}