2012-04-23 4 views
1

私はgloox 1.0を使ってxmppベースのチャットクライアントを書いています。私は、サーバ上のアクティブな部屋のリスト(他のユーザが作成した部屋)を取得するためにglooxを使用する方法を見つけることができません。私は自分のローカルサーバーとしてopenfireを使用します。どうやってやるの?gloox libでアクティブな部屋のリストを取得するにはどうしたらいいですか?

答えて

0

オブジェクトと、DiscoHandlerを継承するカスタムクラスを作成する必要があります。

リストを照会するには、getDiscoItems(muc_server_jid, ...)と呼んでください。 DiscoHandlerはhandleDiscoItems()を実装する必要があり、Disco::Itemsオブジェクト、itemsを受け取ります。

Disco::Itemオブジェクトへのポインタのstd::listを取得するには、items.itemList()を使用できます。 Disco :: Itemごとにitem.jid()とitem.name()を呼び出して、住所とオプションの部屋名を取得できます。

+0

多くの感謝!やってみます。 –

+0

私のクラスは次のとおりです。ChatBotDiscoHandler_cl:handleDiscoItems(const JID&from、const Disco :: Items&items、int context);を実装するpublic DiscoHandler;次に、m_pClient-> disco() - > getDiscoItems(m_pClient-> jid()。server()、EmptyString、new ChatBotDiscoHandler_cl()、0);を呼び出します。しかし、私はデバッグ、私の派生したメソッドに実行されません。私が間違っている場所を教えてください。 –

関連する問題