예제 #1
0
/************************************************************************
* Function name:Start
* Description  :启动事件循环
* IN           :NONE
* OUT          :NONE
* Return       :Q_RTN_OK --成功 其他 --失败
* Make By      :lqf/[email protected]
* Date Time    :2014/04/30
* Modification 
* ......record :first program
************************************************************************/
int CSockPairEvent::Start(void)
{
    int iRtn = Q_RTN_OK;

    setRunStatus(RUNSTATUS_STARTING);

    //初始化main event    
    iRtn = initMainEvent();
    if (Q_RTN_OK != iRtn)
    {
        setRunStatus(RUNSTATUS_ERROR);
        return iRtn;
    }

    //初始化assist event  
    iRtn = initAssistEvent();
    if (Q_RTN_OK != iRtn)
    {
        setRunStatus(RUNSTATUS_ERROR);
        return iRtn;
    }

    //初始化时间 event
    iRtn = initTimerEvent();
    if (Q_RTN_OK != iRtn)
    {
        setRunStatus(RUNSTATUS_ERROR);
        return iRtn;
    }

    //退出监控
    iRtn = initExitMonitor(100);
    if (Q_RTN_OK != iRtn)
    {
        setRunStatus(RUNSTATUS_ERROR);
        return iRtn;
    }

    if (!onStartUp())
    {
        setRunStatus(RUNSTATUS_ERROR);
        return iRtn;
    }

    setRunStatus(RUNSTATUS_RUNING);
    event_base_dispatch(m_pBase);
    setRunStatus(RUNSTATUS_STOPPED);

    m_Mutex.Lock();
    m_Cond.Signal();
    m_Mutex.unLock();

    return Q_RTN_OK;
}
예제 #2
0
bool GPUSensors::start(IOService *provider)
{
    HWSensorsDebugLog("Starting...");

    int arg_value = 1;

    if (PE_parse_boot_argn("-gpusensors-disable", &arg_value, sizeof(arg_value))) {
        return false;
    }
    
    if (!provider || !super::start(provider))
        return false;
    
    if (!(pciDevice = OSDynamicCast(IOPCIDevice, provider))) {
        HWSensorsFatalLog("no PCI device");
        return false;
    }

    if (!onStartUp(provider))
        return false;

    if (shouldWaitForAccelerator()) {
        if (!(workloop = getWorkLoop())) {
            HWSensorsFatalLog("failed to obtain workloop");
            return false;
        }
        
        if (!(timerEventSource = IOTimerEventSource::timerEventSource( this, OSMemberFunctionCast(IOTimerEventSource::Action, this, &GPUSensors::probeEvent)))) {
            HWSensorsFatalLog("failed to initialize startup check timer event source");
            return false;
        }
        
        if (kIOReturnSuccess != workloop->addEventSource(timerEventSource))
        {
            HWSensorsFatalLog("failed to add startup check timer event source into workloop");
            timerEventSource->release();
            return false;
        }
        
        timerEventSource->setTimeoutMS(100);
    }
    else return managedStart(provider);
    
    return true;
}
예제 #3
0
bool AppDelegate::applicationDidFinishLaunching()
{
	/// Add logger
	CLoggers* logMgr = CLoggers::sharedLoggers();
	logMgr->addLogger( this );
	//logMgr->setShowTime( false );

	// initialize director
	CCDirector *pDirector = CCDirector::sharedDirector();
	pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());

	CCSize viewSize = CCDirector::sharedDirector()->getWinSizeInPixels();
	GLfloat deviceFactor = MAX(viewSize.height, viewSize.width) / 480.f;
	CCLOG( "Device Factor: %.2f", deviceFactor );

	std::string sBuilld = Cocos3d::version();
	CCLOG( sBuilld.c_str() );

	//////////////////////////////////////////////////////////////////////////
	// Use a customized action manager
	CC3ActionManager::active();

	TargetPlatform target = getTargetPlatform();

	if (target == kTargetIpad)
	{
		// ipad
		CCFileUtils::sharedFileUtils()->addSearchPath("hd");
		// don't enable retina because we don't have ipad hd resource
		CCEGLView::sharedOpenGLView()->setDesignResolutionSize(SCREEN_WIDTH, SCREEN_HEIGHT, kResolutionNoBorder);
	}
	else if (target == kTargetIphone)
	{        
		CCFileUtils::sharedFileUtils()->addSearchPath("sd");
		CCEGLView::sharedOpenGLView()->setDesignResolutionSize(SCREEN_WIDTH, SCREEN_HEIGHT, kResolutionExactFit);
	}
	else 
	{
		// android, windows, blackberry, linux or mac
		// use 960*640 resources as design resolution size
		CCFileUtils::sharedFileUtils()->addSearchPath("sd");
		CCEGLView::sharedOpenGLView()->setDesignResolutionSize(SCREEN_WIDTH, SCREEN_HEIGHT, kResolutionShowAll);
	}

	CCFileUtils::sharedFileUtils()->addSearchPath( "gameui" );
	CCFileUtils::sharedFileUtils()->addSearchPath( "3d" );

	// turn on display FPS
	pDirector->setDisplayStats( true );

	// set FPS. the default value is 1.0/60 if you don't call this
	pDirector->setAnimationInterval( 1.0f / 60 );

	onStartUp();

	// create a scene. it's an autorelease object
	CCScene* pScene = CMainMenu::create();

	// run
	pDirector->runWithScene( pScene );
	 
	return true;
}