Added password support into present3D's vnc support via the tag usage : <vnc password="mypassword">hostname</vnc>
This commit is contained in:
parent
9995cb70a9
commit
5d26d16fd3
@ -442,6 +442,21 @@ int main( int argc, char **argv )
|
||||
osg::DisplaySettings::instance()->readEnvironmentalVariables();
|
||||
}
|
||||
|
||||
// set up any logins required for http access
|
||||
std::string url, username, password;
|
||||
while(arguments.read("--login",url, username, password))
|
||||
{
|
||||
if (!osgDB::Registry::instance()->getAuthenticationMap())
|
||||
{
|
||||
osgDB::Registry::instance()->setAuthenticationMap(new osgDB::AuthenticationMap);
|
||||
osgDB::Registry::instance()->getAuthenticationMap()->addAuthenticationDetails(
|
||||
url,
|
||||
new osgDB::AuthenticationDetails(username, password)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ifdef USE_SDL
|
||||
SDLIntegration sdlIntegration;
|
||||
|
@ -394,7 +394,7 @@ public:
|
||||
void addStereoImagePair(const std::string& filenameLeft, const ImageData& imageDataLeft, const std::string& filenameRight,const ImageData& imageDataRight, const PositionData& positionData);
|
||||
|
||||
void addGraph(const std::string& filename,const std::string& options,const PositionData& positionData, const ImageData& imageData);
|
||||
void addVNC(const std::string& filename,const PositionData& positionData, const ImageData& imageData);
|
||||
void addVNC(const std::string& filename,const PositionData& positionData, const ImageData& imageData, const std::string& password);
|
||||
void addBrowser(const std::string& filename,const PositionData& positionData, const ImageData& imageData);
|
||||
void addPDF(const std::string& filename,const PositionData& positionData, const ImageData& imageData);
|
||||
osg::Image* addInteractiveImage(const std::string& filename,const PositionData& positionData, const ImageData& imageData);
|
||||
|
@ -1313,9 +1313,14 @@ void ReaderWriterP3DXML::parseLayer(osgPresentation::SlideShowConstructor& const
|
||||
osgPresentation::SlideShowConstructor::ImageData imageData;// = constructor.getImageData();
|
||||
getProperties(cur,imageData);
|
||||
|
||||
std::string password;
|
||||
getProperty(cur, "password", password);
|
||||
|
||||
constructor.addVNC(cur->getTrimmedContents(),
|
||||
positionRead ? positionData : constructor.getImagePositionData(),
|
||||
imageData);
|
||||
imageData,
|
||||
password
|
||||
);
|
||||
}
|
||||
else if (cur->name == "browser")
|
||||
{
|
||||
|
@ -1277,8 +1277,15 @@ void SlideShowConstructor::addGraph(const std::string& contents,const std::strin
|
||||
}
|
||||
|
||||
|
||||
void SlideShowConstructor::addVNC(const std::string& hostname, const PositionData& positionData, const ImageData& imageData)
|
||||
void SlideShowConstructor::addVNC(const std::string& hostname, const PositionData& positionData, const ImageData& imageData, const std::string& password)
|
||||
{
|
||||
if (!password.empty())
|
||||
{
|
||||
OSG_NOTICE<<"Setting password"<<std::endl;
|
||||
if (!osgDB::Registry::instance()->getAuthenticationMap()) osgDB::Registry::instance()->setAuthenticationMap(new osgDB::AuthenticationMap);
|
||||
osgDB::Registry::instance()->getAuthenticationMap()->addAuthenticationDetails(hostname, new osgDB::AuthenticationDetails("", password));
|
||||
}
|
||||
|
||||
addInteractiveImage(hostname+".vnc", positionData, imageData);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user