Protocol message tweaks, bump API version
Some chat protocol messages' names have been changed to more fitting or consistent names― e.g., "IM_AVATAR_SET" to "IM_USER_AVATAR_SET", or "IM_CONTACT_LIST_*" to "IM_ROSTER_*" (to agree with Cardie's usage of the word). The API version has been bumped― for the forseeable future (at least several months, I promise!) no compatibility-breaking changes will be introduced. Until then, any new feautures or message slots will be additive and optional.
This commit is contained in:
parent
4bd821eee5
commit
373dcb4a58
|
@ -18,7 +18,7 @@ class BBitmap;
|
||||||
#define APP_VERSION_1_PRE_ALPHA_1 0x00000001
|
#define APP_VERSION_1_PRE_ALPHA_1 0x00000001
|
||||||
#define APP_VERSION_1_ALPHA_1 0x00000100
|
#define APP_VERSION_1_ALPHA_1 0x00000100
|
||||||
|
|
||||||
#define APP_VERSION APP_VERSION_1_PRE_ALPHA_1
|
#define APP_VERSION APP_VERSION_1_ALPHA_1
|
||||||
|
|
||||||
|
|
||||||
class ChatProtocolMessengerInterface {
|
class ChatProtocolMessengerInterface {
|
||||||
|
|
|
@ -30,29 +30,29 @@ enum im_what_code {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//! Request a server-side contact list from protocol →Protocol
|
//! Request a server-side contact list from protocol →Protocol
|
||||||
IM_GET_CONTACT_LIST = 1,
|
IM_GET_ROSTER = 1,
|
||||||
|
|
||||||
/*! Server-side contact list received →App
|
/*! Server-side contact list received →App
|
||||||
Requires: Stringlist "user_id" */
|
Requires: Stringlist "user_id" */
|
||||||
IM_CONTACT_LIST = 2,
|
IM_ROSTER = 2,
|
||||||
|
|
||||||
/*! Add a contact to the roster →Protocol
|
/*! Add a contact to the roster →Protocol
|
||||||
The slots for this message are determined by the protocol's
|
The slots for this message are determined by the protocol's
|
||||||
"roster" template (ChatProtocol::SettingsTemplate("roster")) */
|
"roster" template (ChatProtocol::SettingsTemplate("roster")) */
|
||||||
IM_CONTACT_LIST_ADD_CONTACT = 3,
|
IM_ROSTER_ADD_CONTACT = 3,
|
||||||
|
|
||||||
/*! Remove a contact →Protocol
|
/*! Remove a contact →Protocol
|
||||||
Requires: String "user_id" */
|
Requires: String "user_id" */
|
||||||
IM_CONTACT_LIST_REMOVE_CONTACT = 4,
|
IM_ROSTER_REMOVE_CONTACT = 4,
|
||||||
|
|
||||||
/*! Contact(s) removed from the server-side list →App
|
/*! Contact(s) removed from the server-side list →App
|
||||||
Requires: String "user_id" */
|
Requires: String "user_id" */
|
||||||
IM_CONTACT_LIST_CONTACT_REMOVED = 5,
|
IM_ROSTER_CONTACT_REMOVED = 5,
|
||||||
|
|
||||||
/*! Edit some data on contact →Protocol
|
/*! Edit some data on contact →Protocol
|
||||||
The slots for this message are determined by the protocol's
|
The slots for this message are determined by the protocol's
|
||||||
"roster" template (ChatProtocol::SettingsTemplate("roster")) */
|
"roster" template (ChatProtocol::SettingsTemplate("roster")) */
|
||||||
IM_CONTACT_LIST_EDIT_CONTACT = 6,
|
IM_ROSTER_EDIT_CONTACT = 6,
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -79,39 +79,29 @@ enum im_what_code {
|
||||||
Accepts: in64s "when" */
|
Accepts: in64s "when" */
|
||||||
IM_LOGS_RECEIVED = 23,
|
IM_LOGS_RECEIVED = 23,
|
||||||
|
|
||||||
/*! User started typing →App
|
|
||||||
Requires: String "chat_id", String "user_id" */
|
|
||||||
IM_USER_STARTED_TYPING = 24,
|
|
||||||
|
|
||||||
/*! User stopped typing →App
|
|
||||||
Requires: String "chat_id", String "user_id" */
|
|
||||||
IM_USER_STOPPED_TYPING = 25,
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Messages related to contact changes.
|
* Messages related changes in general users.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//! Change contact's status →Protocol
|
/*! User's nick has changed →App */
|
||||||
IM_SET_NICKNAME = 40,
|
IM_USER_NICKNAME_SET = 40,
|
||||||
|
|
||||||
//! Contact's status has changed →App
|
/*! Received new status for user →App
|
||||||
IM_NICKNAME_SET = 41,
|
Requires: String "user_id", int32/UserStatus "status" */
|
||||||
|
IM_USER_STATUS_SET = 41,
|
||||||
|
|
||||||
|
/*! User's avatar icon was changed →App
|
||||||
|
Requires: String "user_id", Ref "ref" */
|
||||||
|
IM_USER_AVATAR_SET = 42,
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Messages related to contact's information received from protocols.
|
* Messages related to contact's information received from protocols.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*! Received contact new status →App
|
/*! Get contact information →Protocol
|
||||||
Requires: String "user_id", int32/UserStatus "status" */
|
Requires: String "user_id" */
|
||||||
IM_STATUS_SET = 60,
|
|
||||||
|
|
||||||
/*! User's avatar icon was changed →App
|
|
||||||
Requires: String "user_id", Ref "ref" */
|
|
||||||
IM_AVATAR_SET = 61,
|
|
||||||
|
|
||||||
//! Get contact information →Protocol
|
|
||||||
IM_GET_CONTACT_INFO = 62,
|
IM_GET_CONTACT_INFO = 62,
|
||||||
|
|
||||||
/*! Received contact information →App
|
/*! Received contact information →App
|
||||||
|
@ -120,13 +110,14 @@ enum im_what_code {
|
||||||
int32/UserStatus "status" */
|
int32/UserStatus "status" */
|
||||||
IM_CONTACT_INFO = 63,
|
IM_CONTACT_INFO = 63,
|
||||||
|
|
||||||
//! Request contact information →Protocol
|
/*! Request contact information →Protocol
|
||||||
|
Requires: String "user_id" */
|
||||||
IM_GET_EXTENDED_CONTACT_INFO = 64,
|
IM_GET_EXTENDED_CONTACT_INFO = 64,
|
||||||
|
|
||||||
/*! Received contact information →App
|
/*! Received contact information →App
|
||||||
Requires: String "user_id",
|
Requires: String "user_id",
|
||||||
non-standard slots used by "roster" template
|
non-standard slots used by "roster" template
|
||||||
Accepts: String "user_name", String "full_name" */
|
Accepts: String "user_name" */
|
||||||
IM_EXTENDED_CONTACT_INFO = 65,
|
IM_EXTENDED_CONTACT_INFO = 65,
|
||||||
|
|
||||||
|
|
||||||
|
@ -169,10 +160,10 @@ enum im_what_code {
|
||||||
* Contacts registration.
|
* Contacts registration.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//! Start listening to changes in these contact's statuses
|
//! Start listening to changes in these contact's statuses [unused]
|
||||||
IM_REGISTER_CONTACTS = 100,
|
IM_REGISTER_CONTACTS = 100,
|
||||||
|
|
||||||
//! Stop listening to status changes from these contacts
|
//! Stop listening to status changes from these contacts [unused]
|
||||||
IM_UNREGISTER_CONTACTS = 101,
|
IM_UNREGISTER_CONTACTS = 101,
|
||||||
|
|
||||||
|
|
||||||
|
@ -180,19 +171,19 @@ enum im_what_code {
|
||||||
* Authorization.
|
* Authorization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//! Ask authorization to contact
|
//! Ask authorization to contact [unused]
|
||||||
IM_ASK_AUTHORIZATION = 120,
|
IM_ASK_AUTHORIZATION = 120,
|
||||||
|
|
||||||
//! Authorization response received from contact
|
//! Authorization response received from contact [unused]
|
||||||
IM_AUTHORIZATION_RECEIVED = 121,
|
IM_AUTHORIZATION_RECEIVED = 121,
|
||||||
|
|
||||||
//! Authorization request received from contact
|
//! Authorization request received from contact [unused]
|
||||||
IM_AUTHORIZATION_REQUEST = 122,
|
IM_AUTHORIZATION_REQUEST = 122,
|
||||||
|
|
||||||
//! Authorization response given to contact
|
//! Authorization response given to contact [unused]
|
||||||
IM_AUTHORIZATION_RESPONSE = 123,
|
IM_AUTHORIZATION_RESPONSE = 123,
|
||||||
|
|
||||||
//! Contact has been authorized
|
//! Contact has been authorized [unused]
|
||||||
IM_CONTACT_AUTHORIZED = 124,
|
IM_CONTACT_AUTHORIZED = 124,
|
||||||
|
|
||||||
|
|
||||||
|
@ -388,6 +379,19 @@ enum im_what_code {
|
||||||
IM_ROOM_UNDEAFEN_PARTICIPANT = 199,
|
IM_ROOM_UNDEAFEN_PARTICIPANT = 199,
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Misc. room-related messages
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*! User started typing →App [unused]
|
||||||
|
Requires: String "chat_id", String "user_id" */
|
||||||
|
IM_ROOM_PARTICIPANT_STARTED_TYPING = 210,
|
||||||
|
|
||||||
|
/*! User stopped typing →App [unused]
|
||||||
|
Requires: String "chat_id", String "user_id" */
|
||||||
|
IM_ROOM_PARTICIPANT_STOPPED_TYPING = 211,
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Misc. UI messages
|
* Misc. UI messages
|
||||||
*/
|
*/
|
||||||
|
@ -403,10 +407,10 @@ enum im_what_code {
|
||||||
* Special messages
|
* Special messages
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//! Special message forwarded to protocol; Unused
|
//! Special message forwarded to protocol [unused]
|
||||||
IM_SPECIAL_TO_PROTOCOL = 1000,
|
IM_SPECIAL_TO_PROTOCOL = 1000,
|
||||||
|
|
||||||
//! Special message forwarded from protocol; Unused
|
//! Special message forwarded from protocol [unused]
|
||||||
IM_SPECIAL_FROM_PROTOCOL = 1001,
|
IM_SPECIAL_FROM_PROTOCOL = 1001,
|
||||||
|
|
||||||
/*! Protocol is ready →App
|
/*! Protocol is ready →App
|
||||||
|
@ -417,8 +421,8 @@ enum im_what_code {
|
||||||
This requests that the app delete the ChatProtocol and its
|
This requests that the app delete the ChatProtocol and its
|
||||||
ProtocolLooper― so invoking ChatProtocol::Shutdown().
|
ProtocolLooper― so invoking ChatProtocol::Shutdown().
|
||||||
This should be sent by the protocol after connection errors or a
|
This should be sent by the protocol after connection errors or a
|
||||||
disconnect, when the addon doesn't have anything left to do (other
|
disconnect, when the addon doesn't have anything left to do other
|
||||||
than yearn for the sweet hand of death). */
|
than yearn for the sweet hand of death. */
|
||||||
IM_PROTOCOL_DISABLE = 1003
|
IM_PROTOCOL_DISABLE = 1003
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -248,7 +248,7 @@ Server::ImMessage(BMessage* msg)
|
||||||
int32 im_what = msg->FindInt32("im_what");
|
int32 im_what = msg->FindInt32("im_what");
|
||||||
|
|
||||||
switch (im_what) {
|
switch (im_what) {
|
||||||
case IM_CONTACT_LIST:
|
case IM_ROSTER:
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
BString id;
|
BString id;
|
||||||
|
@ -257,7 +257,7 @@ Server::ImMessage(BMessage* msg)
|
||||||
result = B_SKIP_MESSAGE;
|
result = B_SKIP_MESSAGE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_CONTACT_LIST_CONTACT_REMOVED:
|
case IM_ROSTER_CONTACT_REMOVED:
|
||||||
{
|
{
|
||||||
Contact* contact = _EnsureContact(msg);
|
Contact* contact = _EnsureContact(msg);
|
||||||
ProtocolLooper* looper = _LooperFromMessage(msg);
|
ProtocolLooper* looper = _LooperFromMessage(msg);
|
||||||
|
@ -297,7 +297,7 @@ Server::ImMessage(BMessage* msg)
|
||||||
contact->SetNotifyName(nick.String());
|
contact->SetNotifyName(nick.String());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_STATUS_SET:
|
case IM_USER_STATUS_SET:
|
||||||
{
|
{
|
||||||
int32 status;
|
int32 status;
|
||||||
|
|
||||||
|
@ -382,7 +382,7 @@ Server::ImMessage(BMessage* msg)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_AVATAR_SET:
|
case IM_USER_AVATAR_SET:
|
||||||
{
|
{
|
||||||
User* user = _EnsureUser(msg);
|
User* user = _EnsureUser(msg);
|
||||||
if (!user)
|
if (!user)
|
||||||
|
@ -531,8 +531,8 @@ Server::ImMessage(BMessage* msg)
|
||||||
invite->Go();
|
invite->Go();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_USER_STARTED_TYPING:
|
case IM_ROOM_PARTICIPANT_STARTED_TYPING:
|
||||||
case IM_USER_STOPPED_TYPING:
|
case IM_ROOM_PARTICIPANT_STOPPED_TYPING:
|
||||||
{
|
{
|
||||||
// User* user = _EnsureUser();
|
// User* user = _EnsureUser();
|
||||||
// Conversation* chat = _EnsureConversation();
|
// Conversation* chat = _EnsureConversation();
|
||||||
|
|
|
@ -112,7 +112,7 @@ RosterView::ImMessage(BMessage* msg)
|
||||||
{
|
{
|
||||||
int32 im_what = msg->FindInt32("im_what");
|
int32 im_what = msg->FindInt32("im_what");
|
||||||
switch (im_what) {
|
switch (im_what) {
|
||||||
case IM_STATUS_SET:
|
case IM_USER_STATUS_SET:
|
||||||
{
|
{
|
||||||
int32 status;
|
int32 status;
|
||||||
int64 instance;
|
int64 instance;
|
||||||
|
@ -181,7 +181,7 @@ RosterView::ImMessage(BMessage* msg)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_CONTACT_LIST_CONTACT_REMOVED:
|
case IM_ROSTER_CONTACT_REMOVED:
|
||||||
{
|
{
|
||||||
int32 status = -1;
|
int32 status = -1;
|
||||||
int64 instance;
|
int64 instance;
|
||||||
|
@ -197,7 +197,7 @@ RosterView::ImMessage(BMessage* msg)
|
||||||
if (rosterItem)
|
if (rosterItem)
|
||||||
fListView->RemoveItem(rosterItem);
|
fListView->RemoveItem(rosterItem);
|
||||||
}
|
}
|
||||||
case IM_AVATAR_SET:
|
case IM_USER_AVATAR_SET:
|
||||||
case IM_CONTACT_INFO:
|
case IM_CONTACT_INFO:
|
||||||
case IM_EXTENDED_CONTACT_INFO:
|
case IM_EXTENDED_CONTACT_INFO:
|
||||||
{
|
{
|
||||||
|
|
|
@ -308,11 +308,11 @@ MainWindow::ImMessage(BMessage* msg)
|
||||||
delete item->GetConversation();
|
delete item->GetConversation();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_AVATAR_SET:
|
case IM_USER_AVATAR_SET:
|
||||||
case IM_STATUS_SET:
|
case IM_USER_STATUS_SET:
|
||||||
case IM_CONTACT_INFO:
|
case IM_CONTACT_INFO:
|
||||||
case IM_EXTENDED_CONTACT_INFO:
|
case IM_EXTENDED_CONTACT_INFO:
|
||||||
case IM_CONTACT_LIST_CONTACT_REMOVED: {
|
case IM_ROSTER_CONTACT_REMOVED: {
|
||||||
if (fRosterWindow != NULL)
|
if (fRosterWindow != NULL)
|
||||||
fRosterWindow->PostMessage(msg);
|
fRosterWindow->PostMessage(msg);
|
||||||
if (RosterEditWindow::Check() == true)
|
if (RosterEditWindow::Check() == true)
|
||||||
|
|
|
@ -163,7 +163,7 @@ RosterEditWindow::MessageReceived(BMessage* message)
|
||||||
}
|
}
|
||||||
|
|
||||||
BMessage* edit = new BMessage(IM_MESSAGE);
|
BMessage* edit = new BMessage(IM_MESSAGE);
|
||||||
edit->AddInt32("im_what", IM_CONTACT_LIST_EDIT_CONTACT);
|
edit->AddInt32("im_what", IM_ROSTER_EDIT_CONTACT);
|
||||||
|
|
||||||
const char* title;
|
const char* title;
|
||||||
if (ritem == NULL)
|
if (ritem == NULL)
|
||||||
|
@ -186,7 +186,7 @@ RosterEditWindow::MessageReceived(BMessage* message)
|
||||||
case kAddMember:
|
case kAddMember:
|
||||||
{
|
{
|
||||||
BMessage* add = new BMessage(IM_MESSAGE);
|
BMessage* add = new BMessage(IM_MESSAGE);
|
||||||
add->AddInt32("im_what", IM_CONTACT_LIST_ADD_CONTACT);
|
add->AddInt32("im_what", IM_ROSTER_ADD_CONTACT);
|
||||||
TemplateWindow* win =
|
TemplateWindow* win =
|
||||||
new TemplateWindow(B_TRANSLATE(kAddTitle), "roster",
|
new TemplateWindow(B_TRANSLATE(kAddTitle), "roster",
|
||||||
add, fServer);
|
add, fServer);
|
||||||
|
@ -202,7 +202,7 @@ RosterEditWindow::MessageReceived(BMessage* message)
|
||||||
User* user = ritem->GetContact();
|
User* user = ritem->GetContact();
|
||||||
|
|
||||||
BMessage* rem = new BMessage(IM_MESSAGE);
|
BMessage* rem = new BMessage(IM_MESSAGE);
|
||||||
rem->AddInt32("im_what", IM_CONTACT_LIST_REMOVE_CONTACT);
|
rem->AddInt32("im_what", IM_ROSTER_REMOVE_CONTACT);
|
||||||
rem->AddString("user_id", user->GetId());
|
rem->AddString("user_id", user->GetId());
|
||||||
|
|
||||||
user->GetProtocolLooper()->PostMessage(rem);
|
user->GetProtocolLooper()->PostMessage(rem);
|
||||||
|
|
|
@ -46,7 +46,7 @@ friendly_signature()
|
||||||
uint32
|
uint32
|
||||||
version()
|
version()
|
||||||
{
|
{
|
||||||
return APP_VERSION_1_PRE_ALPHA_1;
|
return APP_VERSION_1_ALPHA_1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -284,7 +284,7 @@ PurpleApp::ImMessage(BMessage* msg)
|
||||||
SendMessage(purple_conversation_get_account(conv), parts);
|
SendMessage(purple_conversation_get_account(conv), parts);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_GET_CONTACT_LIST:
|
case IM_GET_ROSTER:
|
||||||
{
|
{
|
||||||
PurpleAccount* account = _AccountFromMessage(msg);
|
PurpleAccount* account = _AccountFromMessage(msg);
|
||||||
|
|
||||||
|
@ -297,12 +297,12 @@ PurpleApp::ImMessage(BMessage* msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
BMessage roster(IM_MESSAGE);
|
BMessage roster(IM_MESSAGE);
|
||||||
roster.AddInt32("im_what", IM_CONTACT_LIST);
|
roster.AddInt32("im_what", IM_ROSTER);
|
||||||
roster.AddStrings("user_id", user_ids);
|
roster.AddStrings("user_id", user_ids);
|
||||||
SendMessage(_AccountFromMessage(msg), roster);
|
SendMessage(_AccountFromMessage(msg), roster);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_CONTACT_LIST_ADD_CONTACT:
|
case IM_ROSTER_ADD_CONTACT:
|
||||||
{
|
{
|
||||||
PurpleAccount* account = _AccountFromMessage(msg);
|
PurpleAccount* account = _AccountFromMessage(msg);
|
||||||
BString user_id = msg->FindString("user_id");
|
BString user_id = msg->FindString("user_id");
|
||||||
|
@ -317,7 +317,7 @@ PurpleApp::ImMessage(BMessage* msg)
|
||||||
update_buddy(buddy_cache(buddy), user_id, BString(user_name));
|
update_buddy(buddy_cache(buddy), user_id, BString(user_name));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_CONTACT_LIST_REMOVE_CONTACT:
|
case IM_ROSTER_REMOVE_CONTACT:
|
||||||
{
|
{
|
||||||
PurpleAccount* account = _AccountFromMessage(msg);
|
PurpleAccount* account = _AccountFromMessage(msg);
|
||||||
BString user_id = msg->FindString("user_id");
|
BString user_id = msg->FindString("user_id");
|
||||||
|
@ -331,7 +331,7 @@ PurpleApp::ImMessage(BMessage* msg)
|
||||||
BEntry(buddy_cache(buddy)).Remove();
|
BEntry(buddy_cache(buddy)).Remove();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_CONTACT_LIST_EDIT_CONTACT:
|
case IM_ROSTER_EDIT_CONTACT:
|
||||||
{
|
{
|
||||||
PurpleAccount* account = _AccountFromMessage(msg);
|
PurpleAccount* account = _AccountFromMessage(msg);
|
||||||
BString user_id = msg->FindString("user_id");
|
BString user_id = msg->FindString("user_id");
|
||||||
|
@ -1186,7 +1186,7 @@ signal_blist_node_added(PurpleBlistNode* node)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
BMessage add(IM_MESSAGE);
|
BMessage add(IM_MESSAGE);
|
||||||
add.AddInt32("im_what", IM_CONTACT_LIST);
|
add.AddInt32("im_what", IM_ROSTER);
|
||||||
add.AddString("user_id", purple_buddy_get_name(buddy));
|
add.AddString("user_id", purple_buddy_get_name(buddy));
|
||||||
((PurpleApp*)be_app)->SendMessage(purple_buddy_get_account(buddy), add);
|
((PurpleApp*)be_app)->SendMessage(purple_buddy_get_account(buddy), add);
|
||||||
|
|
||||||
|
@ -1215,7 +1215,7 @@ signal_blist_node_removed(PurpleBlistNode* node)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
BMessage rem(IM_MESSAGE);
|
BMessage rem(IM_MESSAGE);
|
||||||
rem.AddInt32("im_what", IM_CONTACT_LIST_CONTACT_REMOVED);
|
rem.AddInt32("im_what", IM_ROSTER_CONTACT_REMOVED);
|
||||||
rem.AddString("user_id", purple_buddy_get_name(buddy));
|
rem.AddString("user_id", purple_buddy_get_name(buddy));
|
||||||
((PurpleApp*)be_app)->SendMessage(purple_buddy_get_account(buddy), rem);
|
((PurpleApp*)be_app)->SendMessage(purple_buddy_get_account(buddy), rem);
|
||||||
}
|
}
|
||||||
|
@ -1226,7 +1226,7 @@ signal_buddy_status_changed(PurpleBuddy* buddy, PurpleStatus* old_status,
|
||||||
PurpleStatus* status)
|
PurpleStatus* status)
|
||||||
{
|
{
|
||||||
BMessage note(IM_MESSAGE);
|
BMessage note(IM_MESSAGE);
|
||||||
note.AddInt32("im_what", IM_STATUS_SET);
|
note.AddInt32("im_what", IM_USER_STATUS_SET);
|
||||||
note.AddInt32("status", purple_status_to_cardie(status));
|
note.AddInt32("status", purple_status_to_cardie(status));
|
||||||
note.AddString("user_id", purple_buddy_get_name(buddy));
|
note.AddString("user_id", purple_buddy_get_name(buddy));
|
||||||
((PurpleApp*)be_app)->SendMessage(purple_buddy_get_account(buddy), note);
|
((PurpleApp*)be_app)->SendMessage(purple_buddy_get_account(buddy), note);
|
||||||
|
@ -1242,7 +1242,7 @@ signal_buddy_icon_changed(PurpleBuddy* buddy)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
BMessage avatar(IM_MESSAGE);
|
BMessage avatar(IM_MESSAGE);
|
||||||
avatar.AddInt32("im_what", IM_AVATAR_SET);
|
avatar.AddInt32("im_what", IM_USER_AVATAR_SET);
|
||||||
avatar.AddString("user_id", purple_buddy_get_name(buddy));
|
avatar.AddString("user_id", purple_buddy_get_name(buddy));
|
||||||
avatar.AddRef("ref", &ref);
|
avatar.AddRef("ref", &ref);
|
||||||
((PurpleApp*)be_app)->SendMessage(purple_buddy_get_account(buddy), avatar);
|
((PurpleApp*)be_app)->SendMessage(purple_buddy_get_account(buddy), avatar);
|
||||||
|
|
|
@ -85,7 +85,7 @@ friendly_signature()
|
||||||
uint32
|
uint32
|
||||||
version()
|
version()
|
||||||
{
|
{
|
||||||
return APP_VERSION_1_PRE_ALPHA_1;
|
return APP_VERSION_1_ALPHA_1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -101,5 +101,4 @@ private:
|
||||||
BObjectList<BMessage> fCommands;
|
BObjectList<BMessage> fCommands;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif // _PURPLE_PROTOCOL_H
|
#endif // _PURPLE_PROTOCOL_H
|
||||||
|
|
|
@ -265,7 +265,7 @@ JabberHandler::Process(BMessage* msg)
|
||||||
fVCardManager->fetchVCard(gloox::JID(user_id.String()), this);
|
fVCardManager->fetchVCard(gloox::JID(user_id.String()), this);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_CONTACT_LIST_ADD_CONTACT:
|
case IM_ROSTER_ADD_CONTACT:
|
||||||
{
|
{
|
||||||
BString user_name = msg->FindString("user_name");
|
BString user_name = msg->FindString("user_name");
|
||||||
BString user_id;
|
BString user_id;
|
||||||
|
@ -278,7 +278,7 @@ JabberHandler::Process(BMessage* msg)
|
||||||
fClient->rosterManager()->synchronize();
|
fClient->rosterManager()->synchronize();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_CONTACT_LIST_REMOVE_CONTACT:
|
case IM_ROSTER_REMOVE_CONTACT:
|
||||||
{
|
{
|
||||||
BString user_id;
|
BString user_id;
|
||||||
if (msg->FindString("user_id", &user_id) != B_OK)
|
if (msg->FindString("user_id", &user_id) != B_OK)
|
||||||
|
@ -288,12 +288,12 @@ JabberHandler::Process(BMessage* msg)
|
||||||
fClient->rosterManager()->synchronize();
|
fClient->rosterManager()->synchronize();
|
||||||
|
|
||||||
BMessage rm(IM_MESSAGE);
|
BMessage rm(IM_MESSAGE);
|
||||||
rm.AddInt32("im_what", IM_CONTACT_LIST_CONTACT_REMOVED);
|
rm.AddInt32("im_what", IM_ROSTER_CONTACT_REMOVED);
|
||||||
rm.AddString("user_id", user_id);
|
rm.AddString("user_id", user_id);
|
||||||
_SendMessage(&rm);
|
_SendMessage(&rm);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IM_CONTACT_LIST_EDIT_CONTACT:
|
case IM_ROSTER_EDIT_CONTACT:
|
||||||
{
|
{
|
||||||
BString user_id;
|
BString user_id;
|
||||||
BString user_name = msg->FindString("user_name");
|
BString user_name = msg->FindString("user_name");
|
||||||
|
@ -1001,7 +1001,7 @@ JabberHandler::_StatusSetMsg(const char* user_id, gloox::Presence::PresenceType
|
||||||
const char* message, const char* resource)
|
const char* message, const char* resource)
|
||||||
{
|
{
|
||||||
BMessage msg(IM_MESSAGE);
|
BMessage msg(IM_MESSAGE);
|
||||||
msg.AddInt32("im_what", IM_STATUS_SET);
|
msg.AddInt32("im_what", IM_USER_STATUS_SET);
|
||||||
msg.AddString("user_id", user_id);
|
msg.AddString("user_id", user_id);
|
||||||
msg.AddInt32("status", _GlooxStatusToApp(type));
|
msg.AddInt32("status", _GlooxStatusToApp(type));
|
||||||
|
|
||||||
|
@ -1147,7 +1147,7 @@ JabberHandler::_AvatarChanged(const char* id, const char* filename)
|
||||||
if (fJid.bare() == id)
|
if (fJid.bare() == id)
|
||||||
msg.AddInt32("im_what", IM_OWN_AVATAR_SET);
|
msg.AddInt32("im_what", IM_OWN_AVATAR_SET);
|
||||||
else {
|
else {
|
||||||
msg.AddInt32("im_what", IM_AVATAR_SET);
|
msg.AddInt32("im_what", IM_USER_AVATAR_SET);
|
||||||
msg.AddString("user_id", id);
|
msg.AddString("user_id", id);
|
||||||
}
|
}
|
||||||
msg.AddRef("ref", &ref);
|
msg.AddRef("ref", &ref);
|
||||||
|
@ -1467,7 +1467,7 @@ JabberHandler::handleRoster(const gloox::Roster& roster)
|
||||||
std::list<BMessage> msgs;
|
std::list<BMessage> msgs;
|
||||||
|
|
||||||
BMessage contactListMsg(IM_MESSAGE);
|
BMessage contactListMsg(IM_MESSAGE);
|
||||||
contactListMsg.AddInt32("im_what", IM_CONTACT_LIST);
|
contactListMsg.AddInt32("im_what", IM_ROSTER);
|
||||||
|
|
||||||
gloox::Roster::const_iterator it = roster.begin();
|
gloox::Roster::const_iterator it = roster.begin();
|
||||||
for (; it != roster.end(); ++it) {
|
for (; it != roster.end(); ++it) {
|
||||||
|
@ -1591,10 +1591,10 @@ JabberHandler::handleChatState(const gloox::JID& from, gloox::ChatStateType stat
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case gloox::ChatStateComposing:
|
case gloox::ChatStateComposing:
|
||||||
msg.AddInt32("im_what", IM_USER_STARTED_TYPING);
|
msg.AddInt32("im_what", IM_PARTICIPANT_STARTED_TYPING);
|
||||||
break;
|
break;
|
||||||
case gloox::ChatStatePaused:
|
case gloox::ChatStatePaused:
|
||||||
msg.AddInt32("im_what", IM_USER_STOPPED_TYPING);
|
msg.AddInt32("im_what", IM_PARTICIPANT_STOPPED_TYPING);
|
||||||
break;
|
break;
|
||||||
case gloox::ChatStateGone:
|
case gloox::ChatStateGone:
|
||||||
// TODO
|
// TODO
|
||||||
|
|
|
@ -51,7 +51,7 @@ friendly_signature()
|
||||||
uint32
|
uint32
|
||||||
version()
|
version()
|
||||||
{
|
{
|
||||||
return APP_VERSION_1_PRE_ALPHA_1;
|
return APP_VERSION_1_ALPHA_1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Ŝarĝante…
Reference in New Issue