Exemple #1
0
 void add( std::string s, std::string fileName ) {
     std::transform( s.begin(), s.end(), s.begin(), tolower );
     std::string h;
     for( std::string::iterator i = s.begin(); i != s.end(); i++ ) {
         if( *i == 32 ) {
             pushFileName( addWord( h ), fileName );
             h.clear();
             continue;
         }
         h.append( 1, *i );
     }
     if( h.length() )
         pushFileName( addWord( h ), fileName );
 }
//-----------------------------------------------------------------------------
// buildFloater()
//-----------------------------------------------------------------------------
bool LLUICtrlFactory::buildFloater(LLFloater* floaterp, const std::string& filename, LLXMLNodePtr output_node)
{
	LLFastTimer timer(FTM_BUILD_FLOATERS);
	LLXMLNodePtr root;

	//if exporting, only load the language being exported, 
	//instead of layering localized version on top of english
	if (output_node)
	{
		if (!LLUICtrlFactory::getLocalizedXMLNode(filename, root))
		{
			llwarns << "Couldn't parse floater from: " << LLUI::getLocalizedSkinPath() + gDirUtilp->getDirDelimiter() + filename << llendl;
			return false;
		}
	}
	else if (!LLUICtrlFactory::getLayeredXMLNode(filename, root))
	{
		llwarns << "Couldn't parse floater from: " << LLUI::getSkinPath() + gDirUtilp->getDirDelimiter() + filename << llendl;
		return false;
	}
	
	// root must be called floater
	if( !(root->hasName("floater") || root->hasName("multi_floater")) )
	{
		llwarns << "Root node should be named floater in: " << filename << llendl;
		return false;
	}
	
	bool res = true;
	
	lldebugs << "Building floater " << filename << llendl;
	pushFileName(filename);
	{
		if (!floaterp->getFactoryMap().empty())
		{
			mFactoryStack.push_front(&floaterp->getFactoryMap());
		}

		 // for local registry callbacks; define in constructor, referenced in XUI or postBuild
		floaterp->getCommitCallbackRegistrar().pushScope();
		floaterp->getEnableCallbackRegistrar().pushScope();
		
		res = floaterp->initFloaterXML(root, floaterp->getParent(), filename, output_node);

		floaterp->setXMLFilename(filename);
		
		floaterp->getCommitCallbackRegistrar().popScope();
		floaterp->getEnableCallbackRegistrar().popScope();
		
		if (!floaterp->getFactoryMap().empty())
		{
			mFactoryStack.pop_front();
		}
	}
	popFileName();
	
	return res;
}
//-----------------------------------------------------------------------------
// buildPanel()
//-----------------------------------------------------------------------------
BOOL LLUICtrlFactory::buildPanel(LLPanel* panelp, const std::string& filename, LLXMLNodePtr output_node)
{
	LLFastTimer timer(FTM_BUILD_PANELS);
	BOOL didPost = FALSE;
	LLXMLNodePtr root;

	//if exporting, only load the language being exported, 
	//instead of layering localized version on top of english
	if (output_node)
	{	
		if (!LLUICtrlFactory::getLocalizedXMLNode(filename, root))
		{
			llwarns << "Couldn't parse panel from: " << LLUI::getLocalizedSkinPath() + gDirUtilp->getDirDelimiter() + filename  << llendl;
			return didPost;
		}
	}
	else if (!LLUICtrlFactory::getLayeredXMLNode(filename, root))
	{
		llwarns << "Couldn't parse panel from: " << LLUI::getSkinPath() + gDirUtilp->getDirDelimiter() + filename << llendl;
		return didPost;
	}

	// root must be called panel
	if( !root->hasName("panel" ) )
	{
		llwarns << "Root node should be named panel in : " << filename << llendl;
		return didPost;
	}

	lldebugs << "Building panel " << filename << llendl;

	pushFileName(filename);
	{
		if (!panelp->getFactoryMap().empty())
		{
			mFactoryStack.push_front(&panelp->getFactoryMap());
		}
		
		 // for local registry callbacks; define in constructor, referenced in XUI or postBuild
		panelp->getCommitCallbackRegistrar().pushScope();
		panelp->getEnableCallbackRegistrar().pushScope();
		
		didPost = panelp->initPanelXML(root, NULL, output_node);

		panelp->getCommitCallbackRegistrar().popScope();
		panelp->getEnableCallbackRegistrar().popScope();
		
		panelp->setXMLFilename(filename);

		if (!panelp->getFactoryMap().empty())
		{
			mFactoryStack.pop_front();
		}
	}
	popFileName();
	return didPost;
}
Exemple #4
0
/*!
@brief download a file.

@return uerr_t - the error value after downloading a file.
@see wget
*/
uerr_t classDownloader::getFile(bool bUseProgress)
{
	uerr_t err_value=RETROK;
	int index;

  	char *filename = NULL, *redirected_URL = NULL;
  	int dt;

  	if (opt.verbose == -1){
                opt.verbose = !opt.quiet;
	}

  	if (opt.verbose && opt.quiet){
  		cout<<"Can't be verbose and quiet at the same time."<<endl;
    		exit (1);
    	}

  	if (opt.timestamping && opt.noclobber){
    		cout<<"Can't timestamp and not clobber old files at the same time."<<endl;
    		exit (1);
    	}

  	if (opt.verbose){
    		set_progress_implementation (opt.progress_type);
	}

	if(bUseProgress){
		SetGetFileCallBack(GetFileCallBack);
	}else{
		SetGetFileCallBack(NULL);
	}
	
	pushFileName();
	
	err_value=retrieve_url(m_strUrl.c_str(), &filename, &redirected_URL, NULL, &dt);
  
  	return err_value;
}