void ThirdServerScene::myInit() { CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("bgm_server.mp3",true); cacheServerId = CCUserDefault::sharedUserDefault()->getIntegerForKey("serverId",-1); loginTrigger = LoginTrigger::create(this); loginTrigger->retain(); MyMessageManage::getInstance()->registerTrigger(loginTrigger); CCLayer* backLayer = CCLayer::create(); CCSprite* background = CCSprite::create("loading.jpg"); // background->setScale(winSize.height/background->getContentSize().height); background->setAnchorPoint(ccp(0.5,0)); background->setPositionX(winSize.width/2); backLayer->addChild(background); CCSprite* logo = CCSprite::create("logo.png"); logo->setPosition(ccp(winSize.width-190,winSize.height-120)); backLayer->addChild(logo,2); CCSprite* shadow = CCSprite::createWithSpriteFrameName("serverShadow.png"); shadow->setScale((winSize.height+10)/shadow->getContentSize().height); shadow->setPosition(ccp(winSize.width-138,winSize.height/2)); backLayer->addChild(shadow); CCSprite* listLabel = CCSprite::createWithSpriteFrameName("serverListLabel.png"); listLabel->setAnchorPoint(ccp(0,1)); listLabel->setPosition(ccp(winSize.width-270,100)); backLayer->addChild(listLabel,1); if (beans->count() == 0) { this->addChild(MyUtil::getInstance()->getServerTipDialog("连接服务器失败,\n请检测网络!",this,menu_selector(ServerScene::exitGame)),5); return; } SeverInfoBean* bean = NULL; CCObject* obj; CCARRAY_FOREACH(beans,obj) { if (cacheServerId == ((SeverInfoBean*)obj)->serverId) { bean = (SeverInfoBean*)obj; break; } } if (bean == NULL) { bean =(SeverInfoBean*) beans->objectAtIndex(beans->count()-1); } initServerInfo(bean); this->addChild(backLayer); }
int initAgent( int processType, rsComm_t *rsComm ) { int status; rsComm_t myComm; ruleExecInfo_t rei; initProcLog(); status = initServerInfo( rsComm ); if ( status < 0 ) { rodsLog( LOG_ERROR, "initAgent: initServerInfo error, status = %d", status ); return status; } initL1desc(); initSpecCollDesc(); status = initFileDesc(); if ( status < 0 ) { rodsLog( LOG_ERROR, "initAgent: initFileDesc error, status = %d", status ); return status; } #ifdef TAR_STRUCT_FILE // initStructFileDesc (); // initTarSubFileDesc (); #endif status = initRuleEngine( processType, rsComm, reRuleStr, reVariableMapStr, reFuncMapStr ); if ( status < 0 ) { rodsLog( LOG_ERROR, "initAgent: initRuleEngine error, status = %d", status ); return status; } memset( &rei, 0, sizeof( rei ) ); rei.rsComm = rsComm; if ( ProcessType == AGENT_PT ) { status = applyRule( "acChkHostAccessControl", NULL, &rei, NO_SAVE_REI ); if ( status < 0 ) { rodsLog( LOG_ERROR, "initAgent: acChkHostAccessControl error, status = %d", status ); return status; } } /* Initialize the global quota */ GlobalQuotaLimit = RESC_QUOTA_UNINIT; GlobalQuotaOverrun = 0; RescQuotaPolicy = RESC_QUOTA_UNINIT; #ifndef windows_platform if ( rsComm->reconnFlag == RECONN_TIMEOUT ) { rsComm->reconnSock = svrSockOpenForInConn( rsComm, &rsComm->reconnPort, &rsComm->reconnAddr, SOCK_STREAM ); if ( rsComm->reconnSock < 0 ) { rsComm->reconnPort = 0; rsComm->reconnAddr = NULL; } else { rsComm->cookie = ( int )( getRandomInt() >> 1 ); } try { rsComm->thread_ctx->lock = new boost::mutex; rsComm->thread_ctx->cond = new boost::condition_variable; rsComm->thread_ctx->reconnThr = new boost::thread( reconnManager, rsComm ); } catch ( boost::thread_resource_error& ) { rodsLog( LOG_ERROR, "boost encountered thread_resource_error." ); return SYS_THREAD_RESOURCE_ERR; } }