/* Sessions Management plugin for Miranda IM Copyright (C) 2007-2008 Danil Mozhar This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once #define _CRT_SECURE_NO_DEPRECATE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "Utils.h" #include "version.h" #include "Resource.h" #define MODULENAME "Sessions" struct CMPlugin : public PLUGIN { CMOption g_lastUserId, g_lastDateId; CMPlugin(); void CheckImport(); int Load() override; }; ///////////////////////////////////////////////////////////////////////////////////////// struct CSession { int id; CMStringW wszName; std::vector contacts; bool bIsFavorite = false, bIsUser = false; void fromString(const char *str); std::string toString() const; CMStringA getSetting() const; void remove(); void save(); }; extern OBJLIST g_arUserSessions, g_arDateSessions; ///////////////////////////////////////////////////////////////////////////////////////// int LoadSession(CSession *pSession); int SaveSessionHandles(MCONTACT *pSession, bool bNewSession); void CALLBACK LaunchSessions(); INT_PTR CloseCurrentSession(WPARAM, LPARAM); INT_PTR LoadLastSession(WPARAM wparam, LPARAM lparam); INT_PTR OpenSessionsManagerWindow(WPARAM, LPARAM); INT_PTR SaveUserSessionHandles(WPARAM, LPARAM); extern MCONTACT session_list_recovered[255]; extern MCONTACT session_list[255]; extern HWND g_hDlg, g_hSDlg; extern int g_ses_limit; extern bool g_bLastSessionPresent; extern bool g_bExclHidden; extern bool g_bWarnOnHidden; extern bool g_bOtherWarnings; extern bool g_bCrashRecovery; extern bool g_bIncompletedSave; #define TIMERID_SHOW 11 #define TIMERID_LOAD 12