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