void Config::setReferrer( const std::string& referrer ) { if ( referrer.empty() ) return; std::string absReferrer; if( !osgDB::containsServerAddress( referrer ) ) { absReferrer = osgEarth::getAbsolutePath( referrer ); if( osgEarth::isRelativePath( absReferrer ) ) { OE_WARN << LC << "ILLEGAL: call to setReferrer with relative path: " "key=" << key() << "; referrer=" << referrer << "\n"; return; } } else { absReferrer = referrer; } // Don't overwrite an existing referrer: if ( _referrer.empty() ) { _referrer = absReferrer; } for( ConfigSet::iterator i = _children.begin(); i != _children.end(); i++ ) { i->setReferrer( absReferrer ); } }
void Config::setReferrer( const std::string& referrer ) { _referrer = referrer; for( ConfigSet::iterator i = _children.begin(); i != _children.end(); i++ ) { i->setReferrer( osgEarth::getFullPath(_referrer, i->_referrer) ); } }