void WEnvironment::enableAjax(const WebRequest& request) { doesAjax_ = true; session_->controller()->newAjaxSession(); doesCookies_ = request.headerValue("Cookie") != 0; if (!request.getParameter("htmlHistory")) hashInternalPaths_ = true; const std::string *scaleE = request.getParameter("scale"); try { dpiScale_ = scaleE ? boost::lexical_cast<double>(*scaleE) : 1; } catch (boost::bad_lexical_cast &e) { dpiScale_ = 1; } const std::string *webGLE = request.getParameter("webGL"); webGLsupported_ = webGLE ? (*webGLE == "true") : false; const std::string *tzE = request.getParameter("tz"); try { timeZoneOffset_ = tzE ? boost::lexical_cast<int>(*tzE) : 0; } catch (boost::bad_lexical_cast &e) { } const std::string *hashE = request.getParameter("_"); // the internal path, when present as an anchor (#), is only // conveyed in the second request if (hashE) setInternalPath(*hashE); const std::string *deployPathE = request.getParameter("deployPath"); if (deployPathE) { publicDeploymentPath_ = *deployPathE; std::size_t s = publicDeploymentPath_.find('/'); if (s != 0) publicDeploymentPath_.clear(); // looks invalid } const std::string *scrWE = request.getParameter("scrW"); if (scrWE) { try { screenWidth_ = boost::lexical_cast<int>(*scrWE); } catch (boost::bad_lexical_cast &) { } } const std::string *scrHE = request.getParameter("scrH"); if (scrHE) { try { screenHeight_ = boost::lexical_cast<int>(*scrHE); } catch (boost::bad_lexical_cast &) { } } }
void WEnvironment::enableAjax(const WebRequest& request) { doesAjax_ = true; session_->controller()->newAjaxSession(); doesCookies_ = !request.headerValue("Cookie").empty(); if (!request.getParameter("htmlHistory")) hashInternalPaths_ = true; const std::string *scaleE = request.getParameter("scale"); try { dpiScale_ = scaleE ? boost::lexical_cast<double>(*scaleE) : 1; } catch (boost::bad_lexical_cast &e) { dpiScale_ = 1; } const std::string *hashE = request.getParameter("_"); // the internal path, when present as an anchor (#), is only // conveyed in the second request if (hashE) setInternalPath(*hashE); const std::string *deployPathE = request.getParameter("deployPath"); if (deployPathE) { publicDeploymentPath_ = *deployPathE; std::size_t s = publicDeploymentPath_.find('/'); if (s != 0) publicDeploymentPath_.clear(); // looks invalid } }
WLink::WLink(Type type, const std::string& value) { switch (type) { case Url: setUrl(value); break; case InternalPath: setInternalPath(WString::fromUTF8(value)); break; default: throw WException("WLink::WLink(type) cannot be used for a Resource"); } }
void AppNodeStar::HandleAuthLoginChangedStep2( void ) { // 2016/09/04: goto the logged out page (or special leaving page), or to the /member/home page) //root()->clear(); //root()->addWidget( new Wt::WText( "Login Changed - " ) ); std::cout << "auth step2" << std::endl; if ( m_pAuth->LoggedIn() ) { Wt::log("notice") << "AppNodeStar User " /* << m_SignIn.user().id() */ << " logged in."; setInternalPath( "/member/home", false ); //HandleInternalPathChanged( internalPath() ); //redirect( "/member/home" ); //this->refresh(); } else { Wt::log("notice") << "AppNodeStar User logged out."; setInternalPath( "/goodbye", false ); //HandleInternalPathChanged( internalPath() ); //redirect( "/goodbye" ); //this->refresh(); } //root()->clear(); HandleInternalPathChanged( internalPath() ); // ShowMainMenu( root() ); }
status_t PublicVolume::doMount() { // TODO: expand to support mounting other filesystems readMetadata(); if (mFsType != "vfat") { LOG(ERROR) << getId() << " unsupported filesystem " << mFsType; return -EIO; } if (vfat::Check(mDevPath)) { LOG(ERROR) << getId() << " failed filesystem check"; return -EIO; } // Use UUID as stable name, if available std::string stableName = getId(); if (!mFsUuid.empty()) { stableName = mFsUuid; } mRawPath = StringPrintf("/mnt/media_rw/%s", stableName.c_str()); mFuseDefault = StringPrintf("/mnt/runtime/default/%s", stableName.c_str()); mFuseRead = StringPrintf("/mnt/runtime/read/%s", stableName.c_str()); mFuseWrite = StringPrintf("/mnt/runtime/write/%s", stableName.c_str()); setInternalPath(mRawPath); if (getMountFlags() & MountFlags::kVisible) { setPath(StringPrintf("/storage/%s", stableName.c_str())); } else { setPath(mRawPath); } if (fs_prepare_dir(mRawPath.c_str(), 0700, AID_ROOT, AID_ROOT) || fs_prepare_dir(mFuseDefault.c_str(), 0700, AID_ROOT, AID_ROOT) || fs_prepare_dir(mFuseRead.c_str(), 0700, AID_ROOT, AID_ROOT) || fs_prepare_dir(mFuseWrite.c_str(), 0700, AID_ROOT, AID_ROOT)) { PLOG(ERROR) << getId() << " failed to create mount points"; return -errno; } if (vfat::Mount(mDevPath, mRawPath, false, false, false, AID_MEDIA_RW, AID_MEDIA_RW, 0007, true)) { PLOG(ERROR) << getId() << " failed to mount " << mDevPath; return -EIO; } if (getMountFlags() & MountFlags::kPrimary) { initAsecStage(); } if (!(getMountFlags() & MountFlags::kVisible)) { // Not visible to apps, so no need to spin up FUSE return OK; } dev_t before = GetDevice(mFuseWrite); if (!(mFusePid = fork())) { if (getMountFlags() & MountFlags::kPrimary) { if (execl(kFusePath, kFusePath, "-u", "1023", // AID_MEDIA_RW "-g", "1023", // AID_MEDIA_RW "-U", std::to_string(getMountUserId()).c_str(), "-w", mRawPath.c_str(), stableName.c_str(), NULL)) { PLOG(ERROR) << "Failed to exec"; } } else { if (execl(kFusePath, kFusePath, "-u", "1023", // AID_MEDIA_RW "-g", "1023", // AID_MEDIA_RW "-U", std::to_string(getMountUserId()).c_str(), mRawPath.c_str(), stableName.c_str(), NULL)) { PLOG(ERROR) << "Failed to exec"; } } LOG(ERROR) << "FUSE exiting"; _exit(1); } if (mFusePid == -1) { PLOG(ERROR) << getId() << " failed to fork"; return -errno; } while (before == GetDevice(mFuseWrite)) { LOG(VERBOSE) << "Waiting for FUSE to spin up..."; usleep(50000); // 50ms } return OK; }
Calculator(const std::string& path, Wt::WObject* parent=NULL) : Wt::WResource(parent) { setInternalPath(path); Wt::WApplication::instance()->log("info") << "Resource URL: " << url(); }
void WEnvironment::enableAjax(const WebRequest& request) { doesAjax_ = true; session_->controller()->newAjaxSession(); doesCookies_ = request.headerValue("Cookie") != nullptr; if (!request.getParameter("htmlHistory")) internalPathUsingFragments_ = true; const std::string *scaleE = request.getParameter("scale"); try { dpiScale_ = scaleE ? Utils::stod(*scaleE) : 1; } catch (std::exception& e) { dpiScale_ = 1; } const std::string *webGLE = request.getParameter("webGL"); webGLsupported_ = webGLE ? (*webGLE == "true") : false; const std::string *tzE = request.getParameter("tz"); try { timeZoneOffset_ = std::chrono::minutes{tzE ? Utils::stoi(*tzE) : 0}; } catch (std::exception& e) { } const std::string *tzSE = request.getParameter("tzS"); timeZoneName_ = tzSE ? *tzSE : std::string(""); const std::string *hashE = request.getParameter("_"); // the internal path, when present as an anchor (#), is only // conveyed in the second request if (hashE) setInternalPath(*hashE); const std::string *deployPathE = request.getParameter("deployPath"); if (deployPathE) { publicDeploymentPath_ = *deployPathE; std::size_t s = publicDeploymentPath_.find('/'); if (s != 0) publicDeploymentPath_.clear(); // looks invalid } const std::string *scrWE = request.getParameter("scrW"); if (scrWE) { try { screenWidth_ = Utils::stoi(*scrWE); } catch (std::exception &e) { } } const std::string *scrHE = request.getParameter("scrH"); if (scrHE) { try { screenHeight_ = Utils::stoi(*scrHE); } catch (std::exception &e) { } } }