diff options
Diffstat (limited to 'plugins/!Deprecated')
-rw-r--r-- | plugins/!Deprecated/ExternalAPI/m_mucc.h | 189 |
1 files changed, 189 insertions, 0 deletions
diff --git a/plugins/!Deprecated/ExternalAPI/m_mucc.h b/plugins/!Deprecated/ExternalAPI/m_mucc.h new file mode 100644 index 0000000000..44fc7dd2f1 --- /dev/null +++ b/plugins/!Deprecated/ExternalAPI/m_mucc.h @@ -0,0 +1,189 @@ +/*
+
+MUCC Group Chat GUI Plugin for Miranda IM
+Copyright (C) 2004 Piotr Piastucki
+
+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 M_MUCC_INCLUDED
+#define M_MUCC_INCLUDED
+
+#define MUCC_WINDOW_CHATROOM 1
+#define MUCC_WINDOW_CHATLIST 2
+
+#define MUCC_WF_BOLD 0x0001 //enable the 'bold' button
+#define MUCC_WF_ITALIC 0x0002 //enable the 'italics' button
+#define MUCC_WF_UNDERLINE 0x0004 //enable the 'underline' button
+#define MUCC_WF_COLOR 0x0008 //enable the 'foreground color' button
+#define MUCC_WF_BKGCOLOR 0x0010 //enable the 'background color' button
+#define MUCC_WF_TYPNOTIF 0x0020 //enable typing notifications
+
+typedef struct {
+ int cbSize;
+ int iType; //Window type, MUCW_CHATROOM or MUCW_CHATLIST
+ DWORD dwFlags; //Window look & feel flags
+ const char *pszModule; //Identifier of the module owning the window
+ const char *pszModuleName; //Name of the module as displayed to the user
+ const char *pszID; //Unique identifier of the chat room
+ const char *pszName; //Name of the chat room
+ const char *pszUID; //Identifier of the user
+ const char *pszNick; //Nick name used by the user in the chat room
+ const char *pszStatusbarText; //Optional text to set in the statusbar
+} MUCCWINDOW;
+
+#define MS_MUCC_NEW_WINDOW "MUCC/NewWindow"
+
+typedef struct {
+ const char *pszID; //Unique identifier of the group or the chat room
+ const char *pszName; //Name of the group or the chat room
+ const char *pszNick; //Name of the user
+ const char *pszText; //Text, usage depends on type of event
+ int iCount; //Number of users in the chat room
+ DWORD dwFlags; //Item flags
+} MUCCQUERYITEM;
+
+typedef struct {
+ int cbSize;
+ int iType; //Query type, one of MUCC_EVENT_QUERY_* values
+ const char *pszModule; //Name of the module
+ const char *pszParent; //Parent of groups or the group chat rooms belong to
+ int iItemsNum; //Number of items pItems iws pointing to
+ MUCCQUERYITEM *pItems; //Pointer to array of result items
+ DWORD dwFlags; //Item flags
+ int iPage; //Number of page in room list
+ int iLastPage; //1 if the group has any child or there is a next page in room list, 0 otherwise
+} MUCCQUERYRESULT;
+
+#define MS_MUCC_QUERY_RESULT "MUCC/QueryResult"
+
+/*
+ * The following fields must be set for all events:
+ * cbSize - size of the structure
+ * pszModule - module name
+ * iType - event type (id)
+ */
+/*
+ * Incoming messages
+ */
+#define MUCC_EVENT_MESSAGE 0x0001
+/* pszID - room ID
+ * pszUID - user UID (login etc.)
+ * pszNick - user nick (i.e. the name to be displayed)
+ * pszText - message
+ * iFont - font index
+ * iFontSize - font size
+ * color - text color
+ * dwFlags - flags
+ * time - time
+ * bIsMe - TRUE if this is an outgoing message, FALSE otherwise
+ */
+#define MUCC_EVENT_STATUS 0x0002
+/* pszID - room ID
+ * pszUID - user UID (login etc.)
+ * pszNick - user nick (i.e. the name to be displayed)
+ * pszText - unused
+ * dwData - status
+ * dwFlags
+ * bIsMe
+ */
+#define MUCC_EVENT_INVITATION 0x0003
+/*
+*/
+#define MUCC_EVENT_ERROR 0x0004
+
+#define MUCC_EVENT_TOPIC 0x0005
+/* pszID
+ * pszText
+ */
+#define MUCC_EVENT_ROOM_INFO 0x0006
+
+/*
+ * Incoming & outgoing messages
+ */
+#define MUCC_EVENT_JOIN 0x0080
+#define MUCC_EVENT_LEAVE 0x0081
+/*
+ * Outgoing messages
+ */
+#define MUCC_EVENT_INVITE 0x0102
+#define MUCC_EVENT_START_PRIV 0x0103
+#define MUCC_EVENT_REGISTER_NICK 0x0105
+#define MUCC_EVENT_REMOVE_NICK 0x0106
+#define MUCC_EVENT_REGISTER_ROOM 0x0107
+#define MUCC_EVENT_REMOVE_ROOM 0x0108
+#define MUCC_EVENT_KICK_BAN 0x0109
+#define MUCC_EVENT_SET_USER_ROLE 0x010A
+#define MUCC_EVENT_UNBAN 0x010B
+/*
+ * Queries
+ */
+#define MUCC_EVENT_QUERY_GROUPS 0x0120
+#define MUCC_EVENT_QUERY_ROOMS 0x0121
+#define MUCC_EVENT_QUERY_USER_ROOMS 0x0122
+#define MUCC_EVENT_QUERY_USER_NICKS 0x0123
+#define MUCC_EVENT_QUERY_SEARCH 0x0124
+#define MUCC_EVENT_QUERY_CONTACTS 0x0130
+#define MUCC_EVENT_QUERY_USERS 0x0131
+/*
+ Event flags
+*/
+#define MUCC_EF_FONT_BOLD 0x000100 // Bold font flag (MUCC_EVENT_MESSAGE)
+#define MUCC_EF_FONT_ITALIC 0x000200 // Italic font flag (MUCC_EVENT_MESSAGE)
+#define MUCC_EF_FONT_UNDERLINE 0x000400 // Underlined font flags (MUCC_EVENT_MESSAGE)
+/*
+#define MUCC_EF_FONT_NAME 0x000800
+#define MUCC_EF_FONT_SIZE 0x001000
+#define MUCC_EF_FONT_COLOR 0x002000
+*/
+#define MUCC_EF_ROOM_PUBLIC 0x000001
+#define MUCC_EF_ROOM_NICKNAMES 0x000002
+#define MUCC_EF_ROOM_PERMANENT 0x000004
+#define MUCC_EF_ROOM_MEMBERS_ONLY 0x000008
+#define MUCC_EF_ROOM_MODERATED 0x000020
+#define MUCC_EF_ROOM_OFFICIAL 0x000040
+#define MUCC_EF_ROOM_NAME 0x100000
+
+#define MUCC_EF_USER_OWNER 0x000001
+#define MUCC_EF_USER_ADMIN 0x000002
+#define MUCC_EF_USER_REGISTERED 0x000004
+#define MUCC_EF_USER_MEMBER 0x000008
+#define MUCC_EF_USER_MODERATOR 0x000010
+#define MUCC_EF_USER_BANNED 0x000020
+#define MUCC_EF_USER_GLOBALOWNER 0x000040
+
+typedef struct {
+ int cbSize;
+ int iType; // Event type, one of MUCC_EVENT_* values
+ DWORD dwFlags; // Event flags - MUCC_EF_*
+ int iFont; // Text font index
+ int iFontSize; // Text font size
+ COLORREF color; // Text color
+ const char *pszModule; // Name of the module
+ const char *pszID; // Unique identifier of the chat room corresponding to the event,
+ const char *pszName; // Name of the chat room visible to the user
+ const char *pszUID; // User identifier, usage depends on type of event
+ const char *pszNick; // Nick, usage depends on type of event
+ const char *pszText; // Text, usage depends on type of event
+ DWORD dwData; // DWORD data e.g. status
+ BOOL bIsMe; // TRUE if the event is related to the user
+ time_t time; // Time of the event
+} MUCCEVENT;
+
+#define MS_MUCC_EVENT "MUCC/Event"
+#define ME_MUCC_EVENT "MUCC/OutgoingEvent"
+
+#endif
+
|