umc_mail_box.h

来自「这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数」· C头文件 代码 · 共 72 行

H
72
字号
/*//////////////////////////////////////////////////////////////////////////////////                  INTEL CORPORATION PROPRIETARY INFORMATION//     This software is supplied under the terms of a license agreement or//     nondisclosure agreement with Intel Corporation and may not be copied//     or disclosed except in accordance with the terms of that agreement.//          Copyright(c) 2003-2005 Intel Corporation. All Rights Reserved.//*/#ifndef __UMC_MAIL_BOX_H__#define __UMC_MAIL_BOX_H__#include "umc_mutex.h"namespace UMC{    template <class T>    class MailBox    {    public:        MailBox():m_bHasMessage(false){}        Status Init();        Status Put(T& rMessage);        Status Get(T& rMessage);    protected:        Mutex m_Access;        bool m_bHasMessage;        T m_Message;    };}  //  namespace UMCtemplate <class T>UMC::StatusUMC::MailBox<T>::Init(){    m_bHasMessage = false;    return m_Access.Init();}template <class T>UMC::StatusUMC::MailBox<T>::Put(T& rMessage){    Status umcRes = UMC_OK;    m_Access.Lock();    m_Message = rMessage;    m_bHasMessage = true;    m_Access.Unlock();    return umcRes;}template <class T>UMC::StatusUMC::MailBox<T>::Get(T& rMessage){    Status umcRes = UMC_OK;    m_Access.Lock();    if (m_bHasMessage) {        rMessage = m_Message;        m_bHasMessage = false;    }    else    {    umcRes = UMC_TIMEOUT;    }    m_Access.Unlock();    return umcRes;}#endif    //    __UMC_MAIL_BOX_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?