int MsgProxy::RegNotify( INT32 nId, MsgNotify* pNotify, const char *filter ) { INT32 key = nId; int result = 0;; if( NULL == pNotify ) { result = -1; } else { if( 0 == mNotifyList.count( key ) ) { mNotifyList.insert( std::pair<INT32, MsgNotify*>(key, pNotify) ); mFilterList.insert( std::pair<INT32, const char*>(key, filter) ); } else { result = -2; } } return result; }
时间: 2024-04-18 14:30:19 浏览: 64
这是一个名为MsgProxy的类中的RegNotify函数。该函数接受三个参数:nId(INT32类型),pNotify(MsgNotify类型的指针),filter(const char*类型)。
函数首先将nId赋值给key,然后初始化result为0。接下来进行条件判断,如果pNotify为空指针,则将result设为-1,表示注册失败。否则,通过mNotifyList的count函数判断是否存在相同的key值,如果不存在,则将key和pNotify插入到mNotifyList中,并将key和filter插入到mFilterList中。如果存在相同的key值,则将result设为-2,表示注册失败。
最后,函数返回result,表示注册结果(0表示成功,-1表示pNotify为空指针,-2表示存在相同的key值)。
阅读全文