当前位置: 首页>>代码示例>>C++>>正文


C++ MessageManager::getMessage方法代码示例

本文整理汇总了C++中MessageManager::getMessage方法的典型用法代码示例。如果您正苦于以下问题:C++ MessageManager::getMessage方法的具体用法?C++ MessageManager::getMessage怎么用?C++ MessageManager::getMessage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MessageManager的用法示例。


在下文中一共展示了MessageManager::getMessage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: systemLoop

//
///     NAME
//
///     SHORT DESCRIPTION
//
///     Description:
///         LONG DESCRIPTION
///
///     Return
///         VALUE and DESCRIPTION
//
STATUS SystemManager::systemLoop(void) 
{
    STATUS                                  status = STATUS_FAILURE;
    MessageManager<SystemManagerMessage>    messageManager;
    SystemManagerMessage                    message;
    
    // Create a message queue
    QueueManager::createQueue(SystemManager::queue_id, MAX_QUEUE_SIZE_DEFAULT);
    
    // Post an activate message
    message.major_type = SYSTEM_ACTIVATE;
    messageManager.postMessage(SystemManager::queue_id, message, QUEUE_TIMEOUT_INFINITE);
    
    // Start loop
    while(1) 
    {
        status = messageManager.getMessage(SystemManager::queue_id,
                                           message,
                                           QUEUE_TIMEOUT_DEFAULT);
        
        if(status == STATUS_SUCCESS)
        {
            LogManager::logMessage(MODULE_SYSTEM_MANAGER,
                                   DEBUG_LEVEL,
                                   NULL,
                                   "Received Message, Major Type: %lu",
                                   message.major_type);
            
            switch(mState)
            {
                case SYSTEM_MANAGER_INIT:
                    status = initProcessing(message);
                    break;
                
                case SYSTEM_MANAGER_ACTIVE:
                    status = activeProcessing(message);
                    break;
                
                case SYSTEM_MANAGER_SHUTDOWN:
                    status = shutdownProcessing(message);
                    break;
                
                default:
                    break;
            }
            
            if(status == STATUS_SHUTDOWN_SUCCESS)
            {
                break;
            }
        }
    }
    
    mThreadGroup.join_all();
    
    LogManager::logMessage(MODULE_SYSTEM_MANAGER,
                           DEBUG_LEVEL,
                           NULL,
                           "All Threads Joined Succesfully.");
    
    return STATUS_SUCCESS;
}
开发者ID:DanApperloo,项目名称:Eradicate,代码行数:73,代码来源:SystemManager.cpp


注:本文中的MessageManager::getMessage方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。