/* NewXstatusNotify YM - Plugin for Miranda IM Copyright (c) 2001-2004 Luca Santarelli Copyright (c) 2005-2007 Vasilich Copyright (c) 2007-2011 yaho 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 2 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, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef COMMON_H #define COMMON_H #pragma once #define STRICT #define WIN32_LEAN_AND_MEAN #define _CRT_SECURE_NO_WARNINGS #define _WIN32_WINNT 0x0500 #define WINVER 0x0600 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "resource.h" #include "indsnd.h" #include "options.h" #include "popup.h" #include "utils.h" #include "version.h" #include "xstatus.h" #define MODULE "NewStatusNotify" #define MAX_STATUSTEXT 36 #define MAX_STANDARDTEXT 36 #define MAX_SKINSOUNDNAME 36 #define MAX_SKINSOUNDDESC 36 #define GENDER_UNSPECIFIED 0 #define GENDER_MALE 1 #define GENDER_FEMALE 2 #define ID_STATUS_FROMOFFLINE 1 #define ID_STATUS_EXTRASTATUS 40081 #define ID_STATUS_MIN ID_STATUS_OFFLINE #define ID_STATUS_MAX ID_STATUS_OUTTOLUNCH #define ID_STATUS_MAX2 ID_STATUS_EXTRASTATUS + 1 #define STATUS_COUNT ID_STATUS_MAX2 - ID_STATUS_MIN #define Index(ID_STATUS) ID_STATUS - ID_STATUS_OFFLINE #define COLOR_BG_AVAILDEFAULT RGB(173,206,247) #define COLOR_BG_NAVAILDEFAULT RGB(255,189,189) #define COLOR_TX_DEFAULT RGB(0,0,0) #define ICO_NOTIFICATION_OFF "notification_off" #define ICO_NOTIFICATION_ON "notification_on" #define JS_PARSE_XMPP_URI "/ParseXmppURI" typedef struct tagSTATUS { int ID; int icon; TCHAR lpzMStatusText[MAX_STATUSTEXT]; TCHAR lpzFStatusText[MAX_STATUSTEXT]; TCHAR lpzUStatusText[MAX_STATUSTEXT]; TCHAR lpzStandardText[MAX_STANDARDTEXT]; char lpzSkinSoundName[MAX_SKINSOUNDNAME]; TCHAR lpzSkinSoundDesc[MAX_SKINSOUNDDESC]; TCHAR lpzSkinSoundFile[MAX_PATH]; COLORREF colorBack; COLORREF colorText; } STATUS; typedef struct tagPLUGINDATA { WORD newStatus; WORD oldStatus; HWND hWnd; HANDLE hAwayMsgProcess; HANDLE hAwayMsgHook; } PLUGINDATA; typedef struct { HANDLE hContact; TCHAR *cust; TCHAR *oldstatusmsg; TCHAR *newstatusmsg; char *proto; int compare; } STATUSMSGINFO; /* HANDLE hContact = (HANDLE)wParam; WORD oldStatus = LOWORD(lParam); WORD newStatus = HIWORD(lParam); oldStatus is the status the contact was before the change. newStatus is the status the contact is now. Cast them to (int) if you need them that way. */ #define ME_STATUSCHANGE_CONTACTSTATUSCHANGED "Miranda/StatusChange/ContactStatusChanged" #define MS_STATUSCHANGE_MENUCOMMAND "NewStatusNotify/EnableDisableMenuCommand" #define TMR_CONNECTIONTIMEOUT 10000 extern OPTIONS opt; extern LIST eventList; extern TEMPLATES templates; extern HINSTANCE hInst; extern HGENMENU hEnableDisableMenu; extern STATUS StatusList[STATUS_COUNT]; #endif //COMMON_H