summaryrefslogtreecommitdiff
path: root/plugins/UserInfoEx/svc_constants.h
blob: 575517cf828ad58dd5249ade6c06dae074c832de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
/*
UserinfoEx plugin for Miranda IM

Copyright:
 2006-2010 DeathAxe, Yasnovidyashii, Merlin, K. Romanov, Kreol

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.

===============================================================================

File name      : $HeadURL: https://userinfoex.googlecode.com/svn/trunk/svc_constants.h $
Revision       : $Revision: 187 $
Last change on : $Date: 2010-09-08 16:05:54 +0400 (Ср, 08 сен 2010) $
Last change by : $Author: ing.u.horn $

===============================================================================
*/

#ifndef _SVC_CONSTANTS_INCLUDED_
#define _SVC_CONSTANTS_INCLUDED_

#define MODULELONGNAME		"Extended UserInfo"
#define USERINFO			"UserInfo"
#define MODNAME				"UserInfoEx"
#define MODNAMEFLAGS		"Flags"

#define MODULELONGNAMET		_T(MODULELONGNAME)
#define MODNAMET			_T(MODNAME)

#define MAXDATASIZE			1024		// maximum character count of most static, temporary, ...., strings
#define MAXCATLEN			64			// maximum character count for a category string (phone, email, interest, ...)
#define MAXSETTING			255			// maximum character count for a setting string
#define MAXNAME				260			// maximum character count for a username
#define MAXUID				260			// maximum character count for a uin

// most important modules
#define MOD_MBIRTHDAY					"mBirthday"
#define MOD_CLIST						"CList"

// database settings (propertysheet)
#define	SET_PROPSHEET_PCBIREADONLY		"PBCIReadOnly"
#define	SET_PROPSHEET_READONLYLABEL		"TILReadonly"
#define	SET_PROPSHEET_AEROADAPTION		"AeroAdaption"
#define	SET_PROPSHEET_SHOWCOLOURS		"ShowColours"
#define	SET_PROPSHEET_CLRNORMAL			"colourNormal"
#define	SET_PROPSHEET_CLRCUSTOM			"colourUser"
#define	SET_PROPSHEET_CLRBOTH			"colourBoth"
#define	SET_PROPSHEET_CLRCHANGED		"colourChanged"
#define	SET_PROPSHEET_CLRMETA			"colourMeta"
#define	SET_PROPSHEET_SAVEVCARD			"vCardOnExit"
#define	SET_PROPSHEET_GROUPS			"TreeGroups"
#define	SET_PROPSHEET_SORTITEMS			"TreeSortItems"
#define	SET_PROPSHEET_CHANGEMYDETAILS	"ChangeMyDetails"
#define	SET_ABOUT_ACTIVEWINDOW			"AboutActiveWin"
#define	SET_MI_MAIN						"miMenu"
#define	SET_MI_CONTACT					"miContact"
#define	SET_MI_GROUP					"miGroup"
#define	SET_MI_SUBGROUP					"miSubGroup"
#define	SET_MI_STATUS					"miStatus"
#define	SET_MI_ACCOUNT					"miAccount"

#define	SET_GETCONTACTINFO_ENABLED		"ExtendedCIS"
#define	SET_EXTENDED_EMAILSERVICE		"emailEx"
#define	SET_CLIST_EXTRAICON_GENDER		"GenderColumn"
#define	SET_CLIST_EXTRAICON_GENDER2		"cliGender"
#define	SET_CLIST_EXTRAICON_COUNTRY		"CountryColumn"
#define	SET_CLIST_EXTRAICON_HOMEPAGE	"cliHomepage"
#define	SET_CLIST_EXTRAICON_EMAIL		"cliEmail"
#define	SET_CLIST_EXTRAICON_PHONE		"cliPhone"
#define	SET_CLIST_EXTRAICON_FLAGS2		"cliFlags"
#define	SET_OPT_AUTOTIMEZONE			"AutoTimezone"
#define	SET_ZODIAC_AVATARS				"ZodicAvatars"
#define	SET_META_SCAN					"MetaScan"
// database	settings (general psp)
#define	SET_ME_PASSWORD					"Password"
#define	SET_CONTACT_TITLE				"Title"
#define	SET_CONTACT_FIRSTNAME			"FirstName"
#define	SET_CONTACT_SECONDNAME			"SecondName"
#define	SET_CONTACT_LASTNAME			"LastName"
#define	SET_CONTACT_FIRSTLASTNAME		"FullName"
#define	SET_CONTACT_PREFIX				"Prefix"
#define	SET_CONTACT_NICK				"Nick"
#define	SET_CONTACT_MYHANDLE			"MyHandle"
#define	SET_CONTACT_STREET				"Street"
#define	SET_CONTACT_ZIP					"Zip"
#define	SET_CONTACT_CITY				"City"
#define	SET_CONTACT_STATE				"State"
#define	SET_CONTACT_COUNTRY				"Country"
#define	SET_CONTACT_GENDER				"Gender"
// database settings (advanced psp)
#define	SET_CONTACT_ORIGIN_STREET		"OriginStreet"
#define	SET_CONTACT_ORIGIN_ZIP			"OriginZip"
#define	SET_CONTACT_ORIGIN_CITY			"OriginCity"
#define	SET_CONTACT_ORIGIN_STATE		"OriginState"
#define	SET_CONTACT_ORIGIN_COUNTRY		"OriginCountry"
#define	SET_CONTACT_LANG1				"Language1"
#define	SET_CONTACT_LANG2				"Language2"
#define	SET_CONTACT_LANG3				"Language3"
#define	SET_CONTACT_MARITAL				"MaritalStatus"
#define	SET_CONTACT_PARTNER				"Partner"
#define	SET_CONTACT_ANNIVERSARY			"Anniv"
#define	SET_CONTACT_AGE					"Age"
#define	SET_CONTACT_TIMEZONE			"Timezone"
#define	SET_CONTACT_TIMEZONENAME		"TzName"
#define	SET_CONTACT_TIMEZONEINDEX		"TzIndex"
#define	SET_CONTACT_BIRTH				"Birth"
#define	SET_CONTACT_BIRTHDAY			"BirthDay"
#define	SET_CONTACT_BIRTHMONTH			"BirthMonth"
#define	SET_CONTACT_BIRTHYEAR			"BirthYear"
#define	SET_CONTACT_DOBD				"DOBd"
#define	SET_CONTACT_DOBM				"DOBm"
#define	SET_CONTACT_DOBY				"DOBy"
// database settings (company psp)
#define	SET_CONTACT_COMPANY_POSITION	"CompanyPosition"
#define	SET_CONTACT_COMPANY_OCCUPATION	"CompanyOccupation"
#define	SET_CONTACT_COMPANY_SUPERIOR	"CompanySuperior"
#define	SET_CONTACT_COMPANY_ASSISTENT	"CompanyAssistent"
#define	SET_CONTACT_COMPANY				"Company"
#define	SET_CONTACT_COMPANY_DEPARTMENT	"CompanyDepartment"
#define	SET_CONTACT_COMPANY_OFFICE		"CompanyOffice"
#define	SET_CONTACT_COMPANY_STREET		"CompanyStreet"
#define	SET_CONTACT_COMPANY_ZIP			"CompanyZip"
#define	SET_CONTACT_COMPANY_CITY		"CompanyCity"
#define	SET_CONTACT_COMPANY_STATE		"CompanyState"
#define	SET_CONTACT_COMPANY_COUNTRY		"CompanyCountry"
#define	SET_CONTACT_COMPANY_HOMEPAGE	"CompanyHomepage"
// database settings (about psp)
#define	SET_CONTACT_ABOUT				"About"
#define	SET_CONTACT_MYNOTES				"MyNotes"
// database settings (... psp)
#define	SET_CONTACT_PHONE				"Phone"
#define	SET_CONTACT_FAX					"Fax"
#define	SET_CONTACT_CELLULAR			"Cellular"
#define	SET_CONTACT_EMAIL				"e-mail"
#define	SET_CONTACT_EMAIL0				"e-mail0"
#define	SET_CONTACT_EMAIL1				"e-mail1"
#define	SET_CONTACT_HOMEPAGE			"Homepage"
#define	SET_CONTACT_COMPANY_PHONE		"CompanyPhone"
#define	SET_CONTACT_COMPANY_FAX			"CompanyFax"
#define	SET_CONTACT_COMPANY_CELLULAR	"CompanyCellular"
#define	SET_CONTACT_COMPANY_EMAIL		"Companye-mail"
#define	SET_CONTACT_COMPANY_EMAIL0		"Companye-mail0"
#define	SET_CONTACT_COMPANY_EMAIL1		"Companye-mail1"

#define	SET_CONTACT_MYPHONE_VAL			"MyPhone%d"
#define	SET_CONTACT_MYPHONE_CAT			"MyPhone%dCat"
#define	SET_CONTACT_COMPANY_MYPHONE_VAL	"MyCompanyPhone%d"
#define	SET_CONTACT_COMPANY_MYPHONE_CAT	"MyCompanyPhone%dCat"
#define	SET_CONTACT_MYEMAIL_VAL			"Mye-mail%d"
#define	SET_CONTACT_MYEMAIL_CAT			"Mye-mail%dCat"
#define	SET_CONTACT_COMPANY_MYEMAIL_VAL	"MyCompanye-mail%d"
#define	SET_CONTACT_COMPANY_MYEMAIL_CAT	"MyCompanye-mail%dCat"

#define	SET_CONTACT_ADDEDTIME			"ContactAddTime"
// default values for some of the options
#define DEFVAL_GETCONTACTINFO_ENABLED	1

#define DEFVAL_CLIST_EXTRAICON_GENDER	2
#define DEFVAL_CLIST_EXTRAICON_COUNTRY	3
#define DEFVAL_CLIST_EXTRAICON_HOMEPAGE 1
#define DEFVAL_CLIST_EXTRAICON_EMAIL	1
#define DEFVAL_CLIST_EXTRAICON_PHONE	1

typedef struct CIDList
{
	INT		nID;
	LPCSTR	pszText;
	LPTSTR	ptszTranslated;

} IDSTRLIST, *LPIDSTRLIST;

class CService
{
public:
	CService( const char * name, MIRANDASERVICE serviceProc);
	~CService();

	const char*	m_name;
	HANDLE		m_hService;
};

extern OBJLIST<CService> services;
static __inline HANDLE myCreateServiceFunction( const char * name, MIRANDASERVICE serviceProc)
{
	CService* p = new CService(name,serviceProc);
	if(!p->m_hService){delete p; return 0;}
	services.insert(p);
	return p->m_hService;
}

INT_PTR GetMaritalList(LPUINT pListSize, LPIDSTRLIST *pList);
INT_PTR GetLanguageList(LPUINT pListSize, LPIDSTRLIST *pList);
INT_PTR GetCountryList(LPUINT pListSize, LPIDSTRLIST *pList);
INT_PTR GetOccupationList(LPUINT pListSize, LPIDSTRLIST *pList);
INT_PTR GetInterestsList(LPUINT pListSize, LPIDSTRLIST *pList);
INT_PTR GetPastList(LPUINT pListSize, LPIDSTRLIST *pList);
INT_PTR GetAffiliationsList(LPUINT pListSize, LPIDSTRLIST *pList);
INT_PTR GetNamePrefixList(LPUINT pListSize, LPIDSTRLIST *pList);

VOID SvcConstantsLoadModule(VOID);
VOID SvcConstantsUnloadModule(VOID);

#endif /* _SVC_CONSTANTS_INCLUDED_ */