// 加载模块 void CModule::doLoad(unsigned short moduleId, const char* srvName, const unsigned int srvId, CConnectMgr* connectMgr, CCfg* srvMsgCommCfg) { m_moduleId = moduleId; m_connectMgr = connectMgr; m_srvMsgCommCfg = srvMsgCommCfg; m_context.dstSrvId = getSrvId(); m_context.dstModuleId = m_moduleId; onLoad(srvName, srvId, m_moduleId); onRegister(srvName, srvId, m_moduleId); // 在此注册本模块处理的协议函数,绑定协议ID到实现函数 }
int ItemSequencerI::onNotify(int msg, int param1, int param2) { switch (msg) { case SEQNOTIFY_ONREGISTER: return onRegister(); case SEQNOTIFY_ONDEREGISTER: return onDeregister(); case SEQNOTIFY_ONNEXTFILE: return onNextFile(); case SEQNOTIFY_ONTITLECHANGE: return onTitleChange(); case SEQNOTIFY_ONSTARTED: return onStarted(); case SEQNOTIFY_ONSTOPPED: return onStopped(); case SEQNOTIFY_ONPAUSED: return onPaused(); case SEQNOTIFY_ONUNPAUSED: return onUnpaused(); } return 0; }
void Connection::onRequest( Stanza st ) { std::cout << "onRequest" << std::endl; updateRecentOnlineTime(); switch ( st.getSubType() ) { case Stanza::SIGNIN: { onLogin( st ); break; } case Stanza::SIGNUP: { onRegister( st ); break; } case Stanza::GET: { std::cout << "GET " << _login << std::endl; _isWaiting = true; doWrite(); doReadSize(); break; } case Stanza::ADD_FRIEND: { std::cout << "ADD_FRIEND" << st.getMSG() << "->" << _login << std::endl; _myServer.addFriend( _login, st.getMSG() ); doReadSize(); break; } case Stanza::DELETE_FRIEND: { std::cout << "ADD_FRIEND" << st.getMSG() << " delete<-" << _login << std::endl; _myServer.deleteFriend( _login, st.getMSG() ); doReadSize(); break; } default: { break; } } }
int main (void) { int user_select; while(1) { user_select = menuLogin(); switch(user_select) { case 1: onRegister(); break; case 2: onLogin(); break; case 0: return -1; defualt: break; } } return 0; }