Beispiel #1
0
//----------------------------------------------------------------------------
//
//----------------------------------------------------------------------------
MsgChannel * MsgMgr::createChannel(const char * _channelName)
{
    MsgChannel * newChannel = mChannelList->addChannel(_channelName, generateChannelId(), mMailboxUpdateEvent);

    ChannelId channelId = newChannel->getChannelId();
    regChannelName(_channelName, channelId);

    return newChannel;
}
Beispiel #2
0
//****************************************************************************
//
//****************************************************************************
//----------------------------------------------------------------------------
//
//----------------------------------------------------------------------------
ChannelId MsgMgr::addCommNodeSenderToChannel(const char * _channelName, CommNode * _commNode)
{
    ASSERT(_commNode);

    ChannelId channelId = InvalidChannelId; 
    
    {
        NWAutoCritSec critSec(mCritSecAddRemoveCommNodes);
        
        channelId = findChannel(_channelName);

        if(channelId == InvalidChannelId)
        {
            MsgChannel * channel = createChannel(_channelName);
            channelId = channel->getChannelId();
        }

        addCommNodeSenderToChannel(channelId, _commNode);
    }

    return channelId;
}