| Top |
| void | wocky_muc_disco_info_async () |
| gboolean | wocky_muc_disco_info_finish () |
| WockyStanza * | wocky_muc_create_presence () |
| void | wocky_muc_join () |
| const gchar * | wocky_muc_jid () |
| const gchar * | wocky_muc_user () |
| WockyMucRole | wocky_muc_role () |
| WockyMucAffiliation | wocky_muc_affiliation () |
| GHashTable * | wocky_muc_members () |
| WockyMucState | wocky_muc_get_state () |
| WockyMucAffiliation | affiliation | Read |
| gchar * | category | Read |
| gchar * | description | Read |
| gchar * | jid | Read / Write |
| gulong | muc-flags | Read |
| gchar * | name | Read |
| gchar * | nickname | Read |
| gchar * | password | Read / Write |
| WockyPorter * | porter | Read / Write / Construct Only |
| gchar * | reserved-nick | Read |
| guint | role | Read |
| gchar * | room | Read |
| gchar * | service | Read |
| gchar * | status-message | Read |
| gchar * | type | Read |
| gchar * | user | Read / Write / Construct Only |
| void | error | Run Last |
| void | fill-presence | Run Last |
| void | joined | Run Last |
| void | left | Run Last |
| void | message | Run Last |
| void | message-error | Run Last |
| void | nick-change | Run Last |
| void | own-presence | Run Last |
| void | parted | Run Last |
| void | permissions | Run Last |
| void | presence | Run Last |
| enum | WockyMucStatusCode |
| enum | WockyMucRole |
| enum | WockyMucAffiliation |
| enum | WockyMucFeature |
| enum | WockyMucMsgType |
| enum | WockyMucMsgState |
| enum | WockyMucState |
| WockyMucMember | |
| struct | WockyMucClass |
GEnum ├── WockyMucAffiliation ├── WockyMucMsgState ├── WockyMucMsgType ├── WockyMucRole ╰── WockyMucState GFlags ├── WockyMucFeature ╰── WockyMucStatusCode GObject ╰── WockyMuc
Represents a multi-user chat room. Because the MUC protocol is so terrible, you will find yourself consulting XEP-0045 and shedding more than a few tears while using this class.
void wocky_muc_disco_info_async (WockyMuc *muc,GAsyncReadyCallback callback,GCancellable *cancel,gpointer data);
gboolean wocky_muc_disco_info_finish (WockyMuc *muc,GAsyncResult *res,GError **error);
WockyStanza * wocky_muc_create_presence (WockyMuc *muc,WockyStanzaSubType type,const gchar *status);
MUC status codes, as defined by XEP-0045 §15.6.
|
Unknown code |
||
|
Room entered is not anonymous |
||
|
Affiliation changed when not present |
||
|
Unavailable members visible |
||
|
Unavailable members invisible |
||
|
Non-privacy config change |
||
|
User's own presence |
||
|
Logging enabled |
||
|
Logging disabled |
||
|
Room is now non-anonymous |
||
|
Room is now semi-anonymous |
||
|
Room is now fully-anonymous |
||
|
Room created (eg by joining) |
||
|
Service enforced nick change |
||
|
User has been banned |
||
|
User's nick changed |
||
|
Kicked from the room |
||
|
Kicked (affiliation change) |
||
|
Kicked (room is now members-only) |
||
|
Kicked (shutdown) |
WockyMuc feature flags.
|
the MUC is modern, as documented in XEP-0045 |
||
|
the MUC has support for the mucregister FORM_TYPE |
||
|
the MUC has support for the mucregister FORM_TYPE |
||
|
the MUC has support for the mucregister FORM_TYPE |
||
|
the MUC is hidden |
||
|
only members can join this MUC |
||
|
the MUC is moderated |
||
|
the MUC is non-anonymous |
||
|
the MUC is open |
||
|
the MUC is password protected |
||
|
the MUC is persistent |
||
|
the MUC is public |
||
|
the MUC has a list of MUC rooms |
||
|
the MUC is semi-anonymous |
||
|
the MUC is temporary |
||
|
the MUC is unmoderated |
||
|
the MUC is unsecured |
||
|
the MUC has obsolete groupchat 1.0 features |
XMPP MUC message states as documeted in XEP-0085.
WockyMuc states.
|
the WockyMuc has been created |
||
|
the MUC has been initiated on the server |
||
|
the user is authenticating with the MUC |
||
|
the user has joined the MUC and can chat |
||
|
the MUC has ended |
typedef struct {
gchar *from; /* room@service/nick */
gchar *jid; /* owner@domain/resource */
gchar *nick; /* nick */
WockyMucRole role;
WockyMucAffiliation affiliation;
gchar *status; /* user set status string */
WockyStanza *presence_stanza;
} WockyMucMember;
gchar * |
the JID of the member (room@server/nick) |
|
gchar * |
the JID of the owner (owner@domain/resource) |
|
gchar * |
the nickname of the member |
|
WockyMucRole |
the WockyMucRole of the member |
|
WockyMucAffiliation |
the WockyMucAffiliation of the member |
|
gchar * |
the user set status string |
|
WockyStanza * |
the WockyStanza that was received regarding the member's presence |
“affiliation” property“affiliation” WockyMucAffiliation
The affiliation of the user with the MUC room.
Flags: Read
Default value: WOCKY_MUC_AFFILIATION_NONE
“category” property“category” gchar *
Category of the MUC, usually "conference".
Flags: Read
Default value: NULL
“description” property“description” gchar *
The long description oof the room.
Flags: Read
Default value: NULL
“jid” property“jid” gchar *
Full room@service/nick JID of the MUC room.
Flags: Read / Write
Default value: NULL
“muc-flags” property“muc-flags” gulong
ORed set of WockyMucFeature MUC property flags.
Flags: Read
“name” property“name” gchar *
The human-readable name of the room (usually a short label).
Flags: Read
Default value: NULL
“nickname” property“nickname” gchar *
The user's in-room nickname.
Flags: Read
Default value: NULL
“password” property“password” gchar *
User's MUC room password.
Flags: Read / Write
Default value: NULL
“porter” property“porter” WockyPorter *
The WockyPorter instance doing all the actual XMPP interaction.
Flags: Read / Write / Construct Only
“reserved-nick” property“reserved-nick” gchar *
The user's reserved in-room nickname, if any.
Flags: Read
Default value: NULL
“role” property“role” guint
The role (WockyMucRole) of the user in the MUC room.
Flags: Read
Allowed values: <= 3
Default value: 0
“room” property“room” gchar *
The node part of the MUC room JID.
Flags: Read
Default value: NULL
“service” property“service” gchar *
The service (domain) part of the MUC JID.
Flags: Read
Default value: NULL
“status-message” property“status-message” gchar *
User's MUC status message.
Flags: Read
Default value: NULL
“user” property“user” gchar *
Full JID of the user (node@domain/resource) who is connecting.
Flags: Read / Write / Construct Only
Default value: NULL
“error” signalvoid user_function (WockyMuc *muc, WockyStanza *stanza, WockyXmppErrorType error_type, GError *error, gpointer user_data)
Emitted when a presence error is received from the MUC, which is generally in response to trying to join the MUC.
muc |
the MUC |
|
stanza |
the presence stanza |
|
error_type |
the type of error |
|
error |
an error in domain WOCKY_XMPP_ERROR, whose message (if not |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“fill-presence” signalvoid user_function (WockyMuc *wockymuc, WockyStanza *arg1, gpointer user_data)
Flags: Run Last
“joined” signalvoid user_function (WockyMuc *muc, WockyStanza *stanza, guint codes, gpointer user_data)
Emitted when the local user successfully joins muc
.
muc |
the MUC |
|
stanza |
the presence stanza |
|
codes |
bitwise OR of |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“left” signalvoid user_function (WockyMuc *muc, WockyStanza *stanza, guint codes, gpointer member, gchar *actor, gchar *reason, gchar *message, gpointer user_data)
Emitted when another participant leaves, or is kicked from, the MUC
muc |
the MUC |
|
stanza |
the presence stanza |
|
codes |
bitwise OR of |
|
member |
the (now ex-)member of the MUC who left |
|
actor |
if |
|
reason |
if |
|
message |
a parting message provided by |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“message” signalvoid user_function (WockyMuc *muc, WockyStanza *stanza, WockyMucMsgType message_type, gchar *id, GDateTime *timestamp, gpointer sender, gchar *body, gchar *subject, WockyMucMsgState state, gpointer user_data)
Emitted when a non-error message stanza is received. This may indicate:
muc |
the MUC |
|
stanza |
the incoming message stanza |
|
message_type |
the message's type |
|
id |
the stanza's identifier (which may be |
|
timestamp |
for messages received as scrollback when joining the MUC, the
time the message was sent; |
|
sender |
a |
|
body |
the body of the message, or |
|
subject |
the new subject for the MUC, or |
|
state |
whether |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“message-error” signalvoid user_function (WockyMuc *muc, WockyStanza *stanza, WockyMucMsgType message_type, gchar *id, GDateTime *timestamp, gpointer member, gchar *body, WockyXmppErrorType error_type, GError *error, gpointer user_data)
Emitted when we receive an error from the MUC in response to sending a message stanza to the MUC.
muc |
the MUC |
|
stanza |
the incoming |
|
message_type |
the type of the message which was rejected |
|
id |
the identifier for the original message and this error (which may be
|
|
timestamp |
the timestamp attached to the original message, which is
probably |
|
member |
a |
|
body |
the body of the message which failed to send |
|
error_type |
the type of error |
|
error |
an error in domain |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“nick-change” signalvoid user_function (WockyMuc *wockymuc, WockyStanza *arg1, guint arg2, gpointer user_data)
Flags: Run Last
“own-presence” signalvoid user_function (WockyMuc *wockymuc, WockyStanza *arg1, guint arg2, gpointer user_data)
Flags: Run Last
“parted” signalvoid user_function (WockyMuc *muc, WockyStanza *stanza, guint codes, gchar *actor, gchar *reason, gchar *message, gpointer user_data)
Emitted when the local user leaves the MUC, whether by choice or by force.
muc |
the MUC |
|
stanza |
the presence stanza |
|
codes |
bitwise OR of |
|
actor |
if the user was removed from the MUC by another participant, that participant's JID |
|
reason |
if the user was removed from the MUC by another participant, a human-readable reason given by that participant |
|
message |
a parting message we provided to other participants, or |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“permissions” signalvoid user_function (WockyMuc *muc, WockyStanza *stanza, guint codes, gchar *actor_jid, gchar *reason, gpointer user_data)
Emitted when our permissions within the MUC are changed.
muc |
the muc |
|
stanza |
the presence stanza heralding the change |
|
codes |
bitwise OR of |
|
actor_jid |
the JID of the user who changed our permissions, or |
|
reason |
a human-readable reason for the change, or |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last