extern void init_rng(void) { /* if (!rngctxCurrent) { */ rngctxCurrent = InitRNG(NULL, NULL, TRUE, rngCurrent); rcRollout.nSeed ^= 0x792A584B; rngctxRollout = InitRNG(&rcRollout.nSeed, NULL, TRUE, rcRollout.rngRollout); /* } */ }
MojErr ActivityManagerApp::open() { LOG_AM_TRACE("Entering function %s", __FUNCTION__); LOG_AM_DEBUG("%s initializing", name().data()); InitRNG(); MojErr err = Base::open(); MojErrCheck(err); // Bring the Activity Manager client online err = m_client.open(ClientName); MojErrCheck(err); err = m_client.attach(m_reactor.impl()); MojErrCheck(err); try { m_resourceManager = boost::make_shared<MasterResourceManager>(); #ifndef WEBOS_TARGET_MACHINE_IMPL_SIMULATOR m_controlGroupManager = boost::make_shared<ControlGroupManager>( "/sys/fs/cgroup/cpuset", m_resourceManager); m_resourceManager->SetManager("cpu", m_controlGroupManager); m_busProxy = boost::make_shared<LunaBusProxy>(m_controlGroupManager, &m_client); #endif m_am = boost::make_shared<ActivityManager>(m_resourceManager); m_requirementManager = boost::make_shared<MasterRequirementManager>(); boost::shared_ptr<DefaultRequirementManager> defaultRequirementManager = boost::make_shared<DefaultRequirementManager>(); m_requirementManager->AddManager(defaultRequirementManager); #ifdef WEBOS_TARGET_MACHINE_IMPL_SIMULATOR m_scheduler = boost::make_shared<GlibScheduler>(); m_scheduler->SetLocalOffset(original_timezone_offset); #else m_scheduler = boost::make_shared<PowerdScheduler>(&m_client); #endif #ifdef WEBOS_TARGET_MACHINE_IMPL_SIMULATOR m_powerManager = boost::make_shared<NoopPowerManager>(); #else m_powerManager = boost::make_shared<PowerdProxy>(&m_client); #endif m_requirementManager->AddManager(m_powerManager); m_triggerManager = boost::make_shared<MojoTriggerManager>(&m_service); m_json = boost::make_shared<MojoJsonConverter>(&m_service, m_am, m_scheduler, m_triggerManager, m_requirementManager, m_powerManager); m_db = boost::make_shared<MojoDBProxy>(this, &m_client, m_am, m_json); #ifndef WEBOS_TARGET_MACHINE_IMPL_SIMULATOR boost::shared_ptr<ConnectionManagerProxy> cmp = boost::make_shared<ConnectionManagerProxy>(&m_client); m_requirementManager->AddManager(cmp); boost::shared_ptr<SystemManagerProxy> smp = boost::make_shared<SystemManagerProxy>(&m_client, m_am); m_requirementManager->AddManager(smp); if(read_modem_present()) { boost::shared_ptr<TelephonyProxy> tp = boost::make_shared<TelephonyProxy>(&m_client); m_requirementManager->AddManager(tp); } #endif } catch (...) { return MojErrNoMem; } LOG_AM_DEBUG("%s initialized", name().data()); /* System is initialized. All object managers are prepared to instantiate * their objects as Activities are loaded from the database. Begin * deserializing persistent Activities. */ m_db->LoadActivities(); return MojErrNone; }