From f82091b2af907fb1d120c305da75c57b09cb0e7b Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Fri, 5 Sep 2014 12:08:52 +0000 Subject: SkypeKit based Skype plugin is moved to deprecated and will be deleted from Plugins folder by PluginUpdater git-svn-id: http://svn.miranda-ng.org/main/trunk@10372 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/Skype/src/skype_proto.h | 560 -------------------------------------- 1 file changed, 560 deletions(-) delete mode 100644 protocols/Skype/src/skype_proto.h (limited to 'protocols/Skype/src/skype_proto.h') diff --git a/protocols/Skype/src/skype_proto.h b/protocols/Skype/src/skype_proto.h deleted file mode 100644 index 5f6bb13e2d..0000000000 --- a/protocols/Skype/src/skype_proto.h +++ /dev/null @@ -1,560 +0,0 @@ -#pragma once - -struct _tag_iconList -{ - wchar_t* Description; - char* Name; - int IconId; - HANDLE Handle; -}; - -struct ReadMessageParam -{ - SEBinary& guid; - CMessage::TYPE msgType; -}; - -struct ContactParam -{ - ContactRef contact; - CSkypeProto *ppro; - - ContactParam(const ContactRef &contact, CSkypeProto *ppro) : contact(contact), ppro(ppro) - { - } -}; - -struct BlockParam -{ - MCONTACT hContact; - CSkypeProto *ppro; - bool remove; - bool abuse; - - BlockParam(MCONTACT hContact, CSkypeProto *ppro) : ppro(ppro) - { - this->hContact = hContact; - } -}; - -struct ChatRoomParam -{ - wchar_t *id; - StringList invitedContacts; - CSkypeProto *ppro; - - wchar_t topic[256]; - wchar_t guidline[256]; - - bool enableJoining; - int joinRank; - - bool passwordProtection; - wchar_t password[32]; - wchar_t confirmation[32]; - wchar_t hint[32]; - - ChatRoomParam(CSkypeProto *ppro) - : ppro(ppro) - { - this->id = NULL; - this->topic[0] = 0; - this->guidline[0] = 0; - this->password[0] = 0; - this->confirmation[0] = 0; - this->hint[0] = 0; - this->enableJoining = true; - this->joinRank = Participant::WRITER; - this->passwordProtection = false; - } - - ChatRoomParam(const wchar_t *id, const StringList &contacts, CSkypeProto *ppro) - : id(::mir_wstrdup(id)), invitedContacts(contacts), ppro(ppro) - { - this->topic[0] = 0; - this->guidline[0] = 0; - this->password[0] = 0; - this->confirmation[0] = 0; - this->hint[0] = 0; - this->enableJoining = true; - this->joinRank = Participant::WRITER; - this->passwordProtection = false; - } - - ~ChatRoomParam() - { ::mir_free(id); } -}; - -struct PasswordRequestBoxParam -{ - wchar_t *login; - char *password; - bool rememberPassword; - bool showRememberPasswordBox; - - PasswordRequestBoxParam(const wchar_t *login, bool showRememberPasswordBox = true, bool rememberPassword = false) : - login(::mir_wstrdup(login)), - password(NULL), - rememberPassword(rememberPassword), - showRememberPasswordBox(showRememberPasswordBox) { } - - ~PasswordRequestBoxParam() - { - ::mir_free(login); - ::mir_free(password); - } -}; - -struct PasswordChangeBoxParam -{ - char *password; - char *password2; - - PasswordChangeBoxParam() { } - - ~PasswordChangeBoxParam() - { - ::mir_free(password); - ::mir_free(password2); - } -}; - -struct FileParam -{ - bool isCanceled; - bool isCompleted; - - unsigned __int64 size; - unsigned __int64 transfered; - - FileParam() { } - FileParam(unsigned __int64 size) - { - this->size = size; - this->transfered = 0; - this->isCanceled = this->isCompleted = false; - } -}; - -struct FileTransferParam -{ - //CTransfer::Refs transfers; - PROTOFILETRANSFERSTATUS pfts; - std::map files; - - FileTransferParam() - { - this->pfts.cbSize = sizeof(this->pfts); - this->pfts.flags = 0; - this->pfts.currentFileNumber = 0; - this->pfts.currentFileProgress = 0; - this->pfts.currentFileSize = 0; - this->pfts.currentFileTime = 0; - this->pfts.totalBytes = 0; - this->pfts.totalFiles = 0; - this->pfts.totalProgress = 0; - this->pfts.tszWorkingDir = NULL; - this->pfts.wszCurrentFile = NULL; - - //Sid::fetch(this->transfers); - } -}; - -class ChatMember; -class ChatRoom; - -struct CSkypeProto : public PROTO, private Skype -{ - friend class ChatRoom; - friend class CAccount; - friend class CContact; - friend class CConversation; - friend class CContactGroup; - friend class CContactSearch; - friend class CTransfer; - -public: - // PROTO_INTERFACE - CSkypeProto(const char *protoName, const wchar_t *userName); - ~CSkypeProto(); - - // PROTO_INTERFACE - virtual MCONTACT __cdecl AddToList( int flags, PROTOSEARCHRESULT* psr ); - virtual MCONTACT __cdecl AddToListByEvent( int flags, int iContact, HANDLE hDbEvent ); - - virtual int __cdecl Authorize( HANDLE hDbEvent ); - virtual int __cdecl AuthDeny( HANDLE hDbEvent, const TCHAR* szReason ); - virtual int __cdecl AuthRecv(MCONTACT hContact, PROTORECVEVENT* ); - virtual int __cdecl AuthRequest(MCONTACT hContact, const TCHAR* szMessage ); - - virtual HANDLE __cdecl FileAllow(MCONTACT hContact, HANDLE hTransfer, const TCHAR* szPath ); - virtual int __cdecl FileCancel(MCONTACT hContact, HANDLE hTransfer ); - virtual int __cdecl FileDeny(MCONTACT hContact, HANDLE hTransfer, const TCHAR* szReason ); - virtual int __cdecl FileResume( HANDLE hTransfer, int* action, const TCHAR** szFilename ); - - virtual DWORD_PTR __cdecl GetCaps( int type, MCONTACT hContact = NULL ); - virtual int __cdecl GetInfo(MCONTACT hContact, int infoType ); - - virtual HANDLE __cdecl SearchBasic( const TCHAR* id ); - virtual HANDLE __cdecl SearchByEmail( const TCHAR* email ); - virtual HANDLE __cdecl SearchByName( const TCHAR* nick, const TCHAR* firstName, const TCHAR* lastName ); - virtual HWND __cdecl SearchAdvanced( HWND owner ); - virtual HWND __cdecl CreateExtendedSearchUI( HWND owner ); - - virtual int __cdecl RecvContacts(MCONTACT hContact, PROTORECVEVENT* ); - virtual int __cdecl RecvFile(MCONTACT hContact, PROTORECVFILET* ); - virtual int __cdecl RecvMsg(MCONTACT hContact, PROTORECVEVENT* ); - virtual int __cdecl RecvUrl(MCONTACT hContact, PROTORECVEVENT* ); - - virtual int __cdecl SendContacts(MCONTACT hContact, int flags, int nContacts, MCONTACT *hContactsList); - virtual HANDLE __cdecl SendFile(MCONTACT hContact, const TCHAR* szDescription, TCHAR** ppszFiles ); - virtual int __cdecl SendMsg(MCONTACT hContact, int flags, const char* msg ); - virtual int __cdecl SendUrl(MCONTACT hContact, int flags, const char* url ); - - virtual int __cdecl SetApparentMode(MCONTACT hContact, int mode ); - virtual int __cdecl SetStatus( int iNewStatus ); - - virtual HANDLE __cdecl GetAwayMsg(MCONTACT hContact ); - virtual int __cdecl RecvAwayMsg(MCONTACT hContact, int mode, PROTORECVEVENT* evt ); - virtual int __cdecl SetAwayMsg( int m_iStatus, const TCHAR* msg ); - - virtual int __cdecl UserIsTyping(MCONTACT hContact, int type ); - - virtual int __cdecl OnEvent( PROTOEVENTTYPE eventType, WPARAM wParam, LPARAM lParam ); - - // instances - static CSkypeProto* InitSkypeProto(const char* protoName, const wchar_t* userName); - static int UninitSkypeProto(CSkypeProto* ppro); - - static CSkypeProto* GetContactInstance(MCONTACT hContact); - static void UninitInstances(); - - // icons - static void InitIcons(); - static void UninitIcons(); - - // menus - void OnInitStatusMenu(); - static void InitMenus(); - static void UninitMenus(); - - // services - static void InitServiceList(); - - // hooks - static void InitHookList(); - - // languages - static void InitLanguages(); - - static INT_PTR __cdecl ParseSkypeUri(WPARAM wParam, LPARAM lParam); - -private: - // Skype - CAccount *newAccount(int oid); - CContactGroup *newContactGroup(int oid); - CConversation *newConversation(int oid); - CContactSearch *newContactSearch(int oid); - CParticipant *newParticipant(int oid); - CContact *newContact(int oid); - CMessage *newMessage(int oid); - CTransfer *newTransfer(int oid); - - void OnMessage( - const MessageRef & message, - const bool & changesInboxTimestamp, - const MessageRef & supersedesHistoryMessage, - const ConversationRef & conversation); - - void OnConversationListChange( - const ConversationRef& conversation, - const Conversation::LIST_TYPE& type, - const bool& added); - - int skypeKitPort; - PROCESS_INFORMATION skypeKitProcessInfo; - -protected: - CAccount::Ref account; - CContact::Refs contactList; - CTransfer::Refs transferList; - - CContactGroup::Ref commonList; - CContactGroup::Ref authWaitList; - - CRITICAL_SECTION contact_search_lock; - - bool IsOnline(); - - BYTE NeedUpdate; - - // account - static wchar_t *LogoutReasons[]; - static wchar_t *PasswordChangeReasons[]; - - wchar_t *login; - char *password; - bool rememberPassword; - - bool RequestPassword(PasswordRequestBoxParam ¶m); - bool ChangePassword(PasswordChangeBoxParam ¶m); - - bool PrepareLogin(); - bool PreparePassword(); - - void InitProxy(); - void SetAccountSettings(); - - void SetServerStatus(int iStatus); - - bool LogIn(); - void LogOut(); - - void OnLoggedIn(); - void OnCblUpdated(); - void OnLoggedOut(CAccount::LOGOUTREASON reason); - - void OnAccountChanged(int prop); - - INT_PTR __cdecl SetMyNickName(WPARAM, LPARAM); - - // avatars - bool IsAvatarChanged(const SEBinary &avatar, MCONTACT hContact = NULL); - - wchar_t* GetContactAvatarFilePath(MCONTACT hContact); - - INT_PTR __cdecl GetAvatarInfo(WPARAM, LPARAM); - INT_PTR __cdecl GetAvatarCaps(WPARAM, LPARAM); - INT_PTR __cdecl GetMyAvatar(WPARAM, LPARAM); - INT_PTR __cdecl SetMyAvatar(WPARAM, LPARAM); - - SEBinary GetAvatarBinary(wchar_t *path); - - // messages - void OnMessageEvent(const ConversationRef &conversation, const MessageRef &message); - void OnMessageSent(const ConversationRef &conversation, const MessageRef &message); - void OnMessageReceived(const ConversationRef &conversation, const MessageRef &message); - - void SyncMessageHystory(const ConversationRef &conversation, const time_t timestamp); - void SyncHistoryCommand(MCONTACT hContact, time_t timestamp); - int __cdecl SyncLastDayHistoryCommand(WPARAM wParam, LPARAM lParam); - int __cdecl SyncLastWeekHistoryCommand(WPARAM wParam, LPARAM lParam); - int __cdecl SyncLastMonthHistoryCommand(WPARAM wParam, LPARAM lParam); - int __cdecl SyncLast3MonthHistoryCommand(WPARAM wParam, LPARAM lParam); - int __cdecl SyncLastYearHistoryCommand(WPARAM wParam, LPARAM lParam); - int __cdecl SyncAllTimeHistoryCommand(WPARAM wParam, LPARAM lParam); - - // contacts - void OnContactsEvent(const ConversationRef &conversation, const MessageRef &message); - void OnContactsSent(const ConversationRef &conversation, const MessageRef &message); - void OnContactsReceived(const ConversationRef &conversation, const MessageRef &message); - - // transfer - static wchar_t *TransferFailureReasons[]; - - std::map transferts; - - void OnFileEvent(const ConversationRef &conversation, const MessageRef &message); - void OnTransferChanged(const TransferRef &transfer, int prop); - - // chat - void InitChatModule(); - INT_PTR __cdecl SkypeGCGetToolTipText(WPARAM wParam, LPARAM lParam); - - void UpdateChatUserStatus(const ContactRef &contact); - void UpdateChatUserNick(const ContactRef &contact); - - void ChatValidateContact(MCONTACT hItem, HWND hwndList, const StringList &contacts); - void ChatPrepare(MCONTACT hItem, HWND hwndList, const StringList &contacts); - - void GetInvitedContacts(MCONTACT hItem, HWND hwndList, StringList &invitedContacts); - - void ChatRoomParseUriComands(const wchar_t *commands); - - void ChatRoomInvite(MCONTACT hContact); - - void CloseAllChatSessions(); - - ChatRoom *FindChatRoom(const wchar_t *cid); - - INT_PTR __cdecl CreateChatRoomCommand(WPARAM, LPARAM); - INT_PTR __cdecl OnJoinChat(WPARAM wParam, LPARAM); - INT_PTR __cdecl OnLeaveChat(WPARAM wParam, LPARAM); - - int __cdecl OnGCEventHook(WPARAM, LPARAM lParam); - int __cdecl OnGCMenuHook(WPARAM, LPARAM lParam); - - void OnChatEvent(const ConversationRef &conversation, const MessageRef &message); - - OBJLIST chatRooms; - - // contacts - void UpdateContactAuthState(MCONTACT hContact, const ContactRef &contact); - void UpdateContactStatus(MCONTACT hContact, const ContactRef &contact); - void UpdateContactClient(MCONTACT hContact, const ContactRef &contact); - void UpdateContactOnlineSinceTime(MCONTACT hContact, const ContactRef &contact); - void UpdateContactLastEventDate(MCONTACT hContact, const ContactRef &contact); - - void OnSearchCompleted(HANDLE hSearch); - void OnContactFinded(CContact::Ref contact, HANDLE hSearch); - - void OnContactChanged(const ContactRef &contact, int prop); - void OnContactListChanged(const ContactRef &contact); - - bool IsProtoContact(MCONTACT hContact); - MCONTACT GetContactBySid(const wchar_t* sid); - MCONTACT GetContactFromAuthEvent(HANDLE hEvent); - MCONTACT AddContact(CContact::Ref contact, bool isTemporary = false); - - bool IsContactOnline(MCONTACT hContact); - void SetAllContactStatus(int status); - - void __cdecl LoadContactList(void*); - void __cdecl LoadChatList(void*); - void __cdecl LoadAuthWaitList(void*); - - void __cdecl SearchBySidAsync(void*); - void __cdecl SearchByNamesAsync(void*); - void __cdecl SearchByEmailAsync(void*); - - // profile - void UpdateProfileAvatar(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileAboutText(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileBirthday(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileCity(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileCountry(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileEmails(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileFullName(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileGender(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileHomepage(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileLanguages(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileMobilePhone(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileNick(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfilePhone(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileOfficePhone(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileState(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileStatusMessage(SEObject *obj, MCONTACT hContact = NULL); - void UpdateProfileTimezone(SEObject *obj, MCONTACT hContact = NULL); - - void UpdateProfile(SEObject *obj, MCONTACT hContact = NULL); - - void __cdecl LoadOwnInfo(void*); - - void SaveOwnInfoToServer(HWND hwndPage, int iPage); - - // utils - static wchar_t* ValidationReasons[]; - - static int SkypeToMirandaLoginError(CAccount::LOGOUTREASON logoutReason); - - static char *RemoveHtml(const char *data); - - static int SkypeToMirandaStatus(CContact::AVAILABILITY availability); - static CContact::AVAILABILITY MirandaToSkypeStatus(int status); - - static bool FileExists(wchar_t *path); - - static void ShowNotification(const wchar_t *message, int flags = 0, MCONTACT hContact = NULL); - static void ShowNotification(const wchar_t *caption, const wchar_t *message, int flags = 0, MCONTACT hContact = NULL); - - static void CopyToClipboard(const wchar_t *text); - - static void ReplaceSpecialChars(wchar_t *text, wchar_t replaceWith = L'_'); - - // languages - static std::map languages; - - // instances - static LIST instanceList; - static int CompareProtos(const CSkypeProto *p1, const CSkypeProto *p2); - - // - int SendBroadcast(int type, int result, HANDLE hProcess, LPARAM lParam); - int SendBroadcast(MCONTACT hContact, int type, int result, HANDLE hProcess, LPARAM lParam); - - HANDLE CreateEvent(const char* szService); - - // netlib - void InitNetLib(); - void UninitNetLib(); - - // services - void InitInstanceServiceList(); - - // hooks - void InitInstanceHookList(); - - // icons - static _tag_iconList IconList[]; - static HANDLE GetIconHandle(const char *name); - static HANDLE GetSkinIconHandle(const char *name); - - // menus - HGENMENU m_hMenuRoot; - static HANDLE hChooserMenu; - static HGENMENU contactMenuItems[CMI_MAX]; - - virtual int __cdecl RequestAuth(WPARAM, LPARAM); - virtual int __cdecl GrantAuth(WPARAM, LPARAM); - virtual int __cdecl RevokeAuth(WPARAM, LPARAM); - - static INT_PTR MenuChooseService(WPARAM wParam, LPARAM lParam); - - static int PrebuildContactMenu(WPARAM wParam, LPARAM lParam); - int OnPrebuildContactMenu(WPARAM wParam, LPARAM); - - // blocked list - int __cdecl BlockCommand(WPARAM, LPARAM); - INT_PTR __cdecl OpenBlockedListCommand(WPARAM, LPARAM); - - static INT_PTR CALLBACK SkypeBlockProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - static INT_PTR CALLBACK SkypeBlockedOptionsProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - static LRESULT CALLBACK SkypeBlockedOptionsSubProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); - - // database - bool IsMessageInDB(MCONTACT hContact, DWORD timestamp, SEBinary &guid, int flag = 0); - - HANDLE AddDBEvent(MCONTACT hContact, WORD type, DWORD time, DWORD flags = 0, DWORD cbBlob = 0, PBYTE pBlob = 0); - void RaiseMessageSentEvent( - MCONTACT hContact, - DWORD timestamp, - SEBinary &guid, - const char *message, - bool isUnread = true); - void RaiseAuthRequestEvent( - DWORD timestamp, - CContact::Ref contact); - - // dialog procs - static INT_PTR CALLBACK SkypeMainOptionsProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam); - static INT_PTR CALLBACK SkypePasswordRequestProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - static INT_PTR CALLBACK SkypePasswordChangeProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - static INT_PTR CALLBACK ChatRoomProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - static INT_PTR CALLBACK SkypePrivacyOptionsProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam); - - static INT_PTR CALLBACK SkypeDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - static INT_PTR CALLBACK PersonalSkypeDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - static INT_PTR CALLBACK ContactSkypeDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - static INT_PTR CALLBACK HomeSkypeDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - static INT_PTR CALLBACK AccountSkypeDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - - // skype runtime - char *LoadKeyPair(); - int StartSkypeRuntime(const wchar_t *profileName); - BOOL SafeTerminateProcess(HANDLE hProcess, UINT uExitCode); - void StopSkypeRuntime(); - - // events - static int OnModulesLoaded(WPARAM wParam, LPARAM lParam); - - int __cdecl OnProtoModulesLoaded(WPARAM, LPARAM); - int __cdecl OnPreShutdown(WPARAM, LPARAM); - int __cdecl OnContactDeleted(WPARAM, LPARAM); - int __cdecl OnOptionsInit(WPARAM, LPARAM); - int __cdecl OnSrmmWindowOpen(WPARAM, LPARAM); - int __cdecl OnUserInfoInit(WPARAM, LPARAM); - INT_PTR __cdecl OnAccountManagerInit(WPARAM wParam, LPARAM lParam); - - int __cdecl OnMessagePreCreate(WPARAM, LPARAM); - int __cdecl OnTabSRMMButtonPressed(WPARAM, LPARAM); -}; -- cgit v1.2.3