Added initial cut of libcurl based plugin

This commit is contained in:
Robert Osfield
2008-03-21 13:08:02 +00:00
parent 73ce6837fa
commit ac63d37f7b
6 changed files with 229 additions and 24 deletions

View File

@@ -1406,31 +1406,40 @@ ReaderWriter::ReadResult Registry::read(const ReadFunctor& readFunctor)
if (containsServerAddress(readFunctor._filename))
{
std::string serverName = getServerAddress(readFunctor._filename);
std::string serverFile = getServerFileName(readFunctor._filename);
osg::notify(osg::INFO)<<"Contains sever address : "<<serverName<<std::endl;
osg::notify(osg::INFO)<<" file name on server : "<<serverFile<<std::endl;
if (serverName.empty())
{
return ReaderWriter::ReadResult("Warning: Server address invalid.");
}
if (serverFile.empty())
{
return ReaderWriter::ReadResult("Warning: Server file name invalid.");
}
ReaderWriter* rw = getReaderWriterForExtension("net");
ReaderWriter* rw = getReaderWriterForExtension("curl");
if (rw)
{
std::string& filename = const_cast<std::string&>(readFunctor._filename);
filename = serverName+':'+serverFile;
return readFunctor.doRead(*rw);
}
else
{
return ReaderWriter::ReadResult("Warning: Could not find the .net plugin to read from server.");
ReaderWriter* rw = getReaderWriterForExtension("net");
if (rw)
{
std::string serverName = getServerAddress(readFunctor._filename);
std::string serverFile = getServerFileName(readFunctor._filename);
osg::notify(osg::INFO)<<"Contains sever address : "<<serverName<<std::endl;
osg::notify(osg::INFO)<<" file name on server : "<<serverFile<<std::endl;
if (serverName.empty())
{
return ReaderWriter::ReadResult("Warning: Server address invalid.");
}
if (serverFile.empty())
{
return ReaderWriter::ReadResult("Warning: Server file name invalid.");
}
std::string& filename = const_cast<std::string&>(readFunctor._filename);
filename = serverName+':'+serverFile;
return readFunctor.doRead(*rw);
}
else
{
return ReaderWriter::ReadResult("Warning: Could not find the .net plugin to read from server.");
}
return ReaderWriter::ReadResult("Warning: Could not find the .curl plugin to read from server.");
}
}