summaryrefslogtreecommitdiff
path: root/protocols/Skype/src/skype_proto.h
diff options
context:
space:
mode:
authorAlexander Lantsev <aunsane@gmail.com>2012-12-18 20:03:40 +0000
committerAlexander Lantsev <aunsane@gmail.com>2012-12-18 20:03:40 +0000
commita76ced5d4ff852dcbe7a96824ca1bb6dc219a1fd (patch)
treeb8f48fe0e7aed33c9a7cf48800bd351f4cf3c50b /protocols/Skype/src/skype_proto.h
parentb218fc95603571df3e9a6181d7e0de7f37e3bcc4 (diff)
- first approach of group chat support
git-svn-id: http://svn.miranda-ng.org/main/trunk@2764 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Skype/src/skype_proto.h')
-rw-r--r--protocols/Skype/src/skype_proto.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/protocols/Skype/src/skype_proto.h b/protocols/Skype/src/skype_proto.h
index db10c7522e..6d849abf35 100644
--- a/protocols/Skype/src/skype_proto.h
+++ b/protocols/Skype/src/skype_proto.h
@@ -61,6 +61,19 @@ const SettingItem setting[]={
{LPGENT("About"), "About", DBVT_WCHAR, LI_STRING}
};
+struct InviteChatParam
+{
+ TCHAR *id;
+ HANDLE hContact;
+ CSkypeProto *ppro;
+
+ InviteChatParam(const TCHAR *id, HANDLE hContact, CSkypeProto *ppro)
+ : id(mir_tstrdup(id)), hContact(hContact), ppro(ppro) {}
+
+ ~InviteChatParam()
+ { mir_free(id); }
+};
+
struct CSkypeProto : public PROTO_INTERFACE, public MZeroedObject
{
public:
@@ -140,12 +153,17 @@ public:
static HANDLE GetIconHandle(const char *name);
// menus
+ void OnInitStatusMenu();
static void InitMenus();
static void UninitMenus();
+ int __cdecl InviteCommand(WPARAM, LPARAM);
+
static CSkypeProto* GetInstanceByHContact(HANDLE hContact);
static int PrebuildContactMenu(WPARAM wParam, LPARAM lParam);
+ bool IsOnline();
+
protected:
DWORD dwCMDNum;
CAccount::Ref account;
@@ -154,7 +172,7 @@ protected:
CContactGroup::Ref authWaitList;
// account
- bool IsOnline();
+
void OnAccountChanged(int prop);
char *login;
@@ -174,6 +192,16 @@ protected:
void OnMessageSended(CConversation::Ref conversation, CMessage::Ref message);
void OnMessageReceived(CConversation::Ref conversation, CMessage::Ref message);
+ // chat
+ bool IsChatRoom(HANDLE hContact);
+
+ void ChatValidateContact(HANDLE hItem, HWND hwndList);
+ void ChatPrepare(HANDLE hItem, HWND hwndList);
+ void FillChatList(HANDLE hItem, HWND hwndList, SEStringList &chatTargets);
+
+ void RegisterChat();
+ void StartChat(SEStringList &chatTargets);
+
// contacts
void UpdateContactAboutText(HANDLE hContact, CContact::Ref contact);
void UpdateContactAuthState(HANDLE hContact, CContact::Ref contact);
@@ -288,6 +316,7 @@ protected:
static _tag_iconList iconList[];
// menu
+ HGENMENU m_hMenuRoot;
static HANDLE hChooserMenu;
static HANDLE hPrebuildMenuHook;
static HANDLE g_hContactMenuItems[CMITEMS_COUNT];
@@ -346,4 +375,5 @@ protected:
static INT_PTR CALLBACK SkypePasswordProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
static INT_PTR CALLBACK SkypeDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
static INT_PTR CALLBACK OwnSkypeDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+ static INT_PTR CALLBACK InviteToChatProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
}; \ No newline at end of file