account_wrap.h
上传用户:tany51
上传日期:2013-06-12
资源大小:1397k
文件大小:20k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /*
  2.  * Copyright (C) 1998,1999  Ross Combs (rocombs@cs.nmsu.edu)
  3.  *
  4.  * This program is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU General Public License
  6.  * as published by the Free Software Foundation; either version 2
  7.  * of the License, or (at your option) any later version.
  8.  *
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  17.  */
  18. /*****/
  19. #ifndef JUST_NEED_TYPES
  20. #ifndef INCLUDED_ACCOUNT_WRAP_PROTOS
  21. #define INCLUDED_ACCOUNT_WRAP_PROTOS
  22. #define JUST_NEED_TYPES
  23. #include "account.h"
  24. #include "connection.h"
  25. #include "character.h"
  26. #include "common/bnettime.h"
  27. #include "ladder.h"
  28. #include "game.h"
  29. #undef JUST_NEED_TYPES
  30. /* convenience functions */
  31. #ifdef DEBUG_ACCOUNT
  32. extern unsigned int account_get_numattr_real(t_account * account, char const * key, char const * fn, unsigned int ln);
  33. #define account_get_numattr(A,K) account_get_numattr_real(A,K,__FILE__,__LINE__)
  34. #else
  35. extern unsigned int account_get_numattr(t_account * account, char const * key);
  36. #endif
  37. extern int account_set_numattr(t_account * account, char const * key, unsigned int val);
  38. #ifdef DEBUG_ACCOUNT
  39. extern int account_get_boolattr_real(t_account * account, char const * key, char const * fn, unsigned int ln);
  40. #define account_get_boolattr(A,K) account_get_boolattr_real(A,K,__FILE__,__LINE__)
  41. #else
  42. extern int account_get_boolattr(t_account * account, char const * key);
  43. #endif
  44. extern int account_set_boolattr(t_account * account, char const * key, int val);
  45. #ifdef DEBUG_ACCOUNT
  46. extern int account_unget_name_real(char const * name, char const * fn, unsigned int ln);
  47. # define account_unget_name(N) account_unget_name_real(N,__FILE__,__LINE__)
  48. #else
  49. extern int account_unget_name(char const * name);
  50. #endif
  51. extern char const * account_get_pass(t_account * account);
  52. extern int account_unget_pass(char const * pass);
  53. extern int account_set_pass(t_account * account, char const * passhash1);
  54. /* authorization */
  55. extern int account_get_auth_admin(t_account * account, char const * channelname);
  56. extern int account_set_auth_admin(t_account * account, char const * channelname, int val);
  57. extern int account_get_auth_announce(t_account * account);
  58. extern int account_get_auth_botlogin(t_account * account);
  59. extern int account_get_auth_bnetlogin(t_account * account);
  60. extern int account_get_auth_operator(t_account * account, char const * channelname);
  61. extern int account_set_auth_operator(t_account * account, char const * channelname, int val);
  62. extern int account_get_auth_voice(t_account * account, char const * channelname);
  63. extern int account_set_auth_voice(t_account * account, char const * channelname, int val);
  64. extern int account_get_auth_changepass(t_account * account);
  65. extern int account_get_auth_changeprofile(t_account * account);
  66. extern int account_get_auth_createnormalgame(t_account * account);
  67. extern int account_get_auth_joinnormalgame(t_account * account);
  68. extern int account_get_auth_createladdergame(t_account * account);
  69. extern int account_get_auth_joinladdergame(t_account * account);
  70. extern int account_get_auth_lock(t_account * account);
  71. extern int account_set_auth_lock(t_account * account, int val);
  72. /* profile */
  73. extern char const * account_get_sex(t_account * account); /* the profile attributes are updated directly in bnetd.c */
  74. extern int account_unget_sex(char const * sex); /* the profile attributes are updated directly in bnetd.c */
  75. extern char const * account_get_age(t_account * account);
  76. extern int account_unget_age(char const * age);
  77. extern char const * account_get_loc(t_account * account);
  78. extern int account_unget_loc(char const * loc);
  79. extern char const * account_get_desc(t_account * account);
  80. extern int account_unget_desc(char const * desc);
  81. /* last login */
  82. extern unsigned int account_get_ll_time(t_account * account);
  83. extern int account_set_ll_time(t_account * account, unsigned int t);
  84. extern char const * account_get_ll_user(t_account * account);
  85. extern int account_unget_ll_user(char const * clientexe);
  86. extern int account_set_ll_user(t_account * account, char const * user);
  87. extern char const * account_get_ll_clienttag(t_account * account);
  88. extern int account_unget_ll_clienttag(char const * clienttag);
  89. extern int account_set_ll_clienttag(t_account * account, char const * clienttag);
  90. extern char const * account_get_ll_owner(t_account * account);
  91. extern int account_unget_ll_owner(char const * owner);
  92. extern int account_set_ll_owner(t_account * account, char const * owner);
  93. extern char const * account_get_ll_ip(t_account * account);
  94. extern int account_unget_ll_ip(char const * ip);
  95. extern int account_set_ll_ip(t_account * account, char const * ip);
  96. /* normal stats */
  97. extern unsigned int account_get_normal_wins(t_account * account, char const * clienttag);
  98. extern int account_inc_normal_wins(t_account * account, char const * clienttag);
  99. extern unsigned int account_get_normal_losses(t_account * account, char const * clienttag);
  100. extern int account_inc_normal_losses(t_account * account, char const * clienttag);
  101. extern unsigned int account_get_normal_draws(t_account * account, char const * clienttag);
  102. extern int account_inc_normal_draws(t_account * account, char const * clienttag);
  103. extern unsigned int account_get_normal_disconnects(t_account * account, char const * clienttag);
  104. extern int account_inc_normal_disconnects(t_account * account, char const * clienttag);
  105. extern int account_set_normal_last_time(t_account * account, char const * clienttag, t_bnettime t);
  106. extern int account_set_normal_last_result(t_account * account, char const * clienttag, char const * result);
  107. /* ladder stats (active) */
  108. extern unsigned int account_get_ladder_active_wins(t_account * account, char const * clienttag, t_ladder_id id);
  109. extern int account_set_ladder_active_wins(t_account * account, char const * clienttag, t_ladder_id id, unsigned int wins);
  110. extern unsigned int account_get_ladder_active_losses(t_account * account, char const * clienttag, t_ladder_id id);
  111. extern int account_set_ladder_active_losses(t_account * account, char const * clienttag, t_ladder_id id, unsigned int losses);
  112. extern unsigned int account_get_ladder_active_draws(t_account * account, char const * clienttag, t_ladder_id id);
  113. extern int account_set_ladder_active_draws(t_account * account, char const * clienttag, t_ladder_id id, unsigned int draws);
  114. extern unsigned int account_get_ladder_active_disconnects(t_account * account, char const * clienttag, t_ladder_id id);
  115. extern int account_set_ladder_active_disconnects(t_account * account, char const * clienttag, t_ladder_id id, unsigned int disconnects);
  116. extern unsigned int account_get_ladder_active_rating(t_account * account, char const * clienttag, t_ladder_id id);
  117. extern int account_set_ladder_active_rating(t_account * account, char const * clienttag, t_ladder_id id, unsigned int rating);
  118. extern int account_get_ladder_active_rank(t_account * account, char const * clienttag, t_ladder_id id);
  119. extern int account_set_ladder_active_rank(t_account * account, char const * clienttag, t_ladder_id id, unsigned int rank);
  120. extern char const * account_get_ladder_active_last_time(t_account * account, char const * clienttag, t_ladder_id id);
  121. extern int account_set_ladder_active_last_time(t_account * account, char const * clienttag, t_ladder_id id, t_bnettime t);
  122. /* ladder stats (current) */
  123. extern unsigned int account_get_ladder_wins(t_account * account, char const * clienttag, t_ladder_id id);
  124. extern int account_inc_ladder_wins(t_account * account, char const * clienttag, t_ladder_id id);
  125. extern unsigned int account_get_ladder_losses(t_account * account, char const * clienttag, t_ladder_id id);
  126. extern int account_inc_ladder_draws(t_account * account, char const * clienttag, t_ladder_id id);
  127. extern unsigned int account_get_ladder_draws(t_account * account, char const * clienttag, t_ladder_id id);
  128. extern int account_inc_ladder_losses(t_account * account, char const * clienttag, t_ladder_id id);
  129. extern unsigned int account_get_ladder_disconnects(t_account * account, char const * clienttag, t_ladder_id id);
  130. extern int account_inc_ladder_disconnects(t_account * account, char const * clienttag, t_ladder_id id);
  131. extern unsigned int account_get_ladder_rating(t_account * account, char const * clienttag, t_ladder_id id);
  132. extern int account_adjust_ladder_rating(t_account * account, char const * clienttag, t_ladder_id id, int delta);
  133. extern int account_get_ladder_rank(t_account * account, char const * clienttag, t_ladder_id id);
  134. extern int account_set_ladder_rank(t_account * account, char const * clienttag, t_ladder_id id, unsigned int rank);
  135. extern unsigned int account_get_ladder_high_rating(t_account * account, char const * clienttag, t_ladder_id id);
  136. extern unsigned int account_get_ladder_high_rank(t_account * account, char const * clienttag, t_ladder_id id);
  137. extern int account_set_ladder_last_time(t_account * account, char const * clienttag, t_ladder_id id, t_bnettime t);
  138. extern char const * account_get_ladder_last_time(t_account * account, char const * clienttag, t_ladder_id id);
  139. extern int account_set_ladder_last_result(t_account * account, char const * clienttag, t_ladder_id id, char const * result);
  140. /* Diablo normal stats */
  141. extern unsigned int account_get_normal_level(t_account * account, char const * clienttag);
  142. extern int account_set_normal_level(t_account * account, char const * clienttag, unsigned int level);
  143. extern unsigned int account_get_normal_class(t_account * account, char const * clienttag);
  144. extern int account_set_normal_class(t_account * account, char const * clienttag, unsigned int class);
  145. extern unsigned int account_get_normal_diablo_kills(t_account * account, char const * clienttag);
  146. extern int account_set_normal_diablo_kills(t_account * account, char const * clienttag, unsigned int diablo_kills);
  147. extern unsigned int account_get_normal_strength(t_account * account, char const * clienttag);
  148. extern int account_set_normal_strength(t_account * account, char const * clienttag, unsigned int strength);
  149. extern unsigned int account_get_normal_magic(t_account * account, char const * clienttag);
  150. extern int account_set_normal_magic(t_account * account, char const * clienttag, unsigned int magic);
  151. extern unsigned int account_get_normal_dexterity(t_account * account, char const * clienttag);
  152. extern int account_set_normal_dexterity(t_account * account, char const * clienttag, unsigned int dexterity);
  153. extern unsigned int account_get_normal_vitality(t_account * account, char const * clienttag);
  154. extern int account_set_normal_vitality(t_account * account, char const * clienttag, unsigned int vitality);
  155. extern unsigned int account_get_normal_gold(t_account * account, char const * clienttag);
  156. extern int account_set_normal_gold(t_account * account, char const * clienttag, unsigned int gold);
  157. /* Diablo II closed characters */
  158. extern char const * account_get_closed_characterlist(t_account * account, char const * clienttag, char const * realmname);
  159. extern int account_unget_closed_characterlist(t_account * account, char const * charlist);
  160. extern int account_set_closed_characterlist(t_account * account, char const * clienttag, char const * charlist);
  161. extern int account_add_closed_character(t_account * account, char const * clienttag, t_character * ch);
  162. extern int account_check_closed_character(t_account * account, char const * clienttag, char const * realmname, char const * charname);
  163. /* UNDYING CLAN NAME ADDITION */
  164. extern char const * account_get_w3_clanname( t_account * account);
  165. extern int account_set_w3_clanname( t_account * account, char const * acctsetclanname );
  166. // UNDYING FRIENDS LIST SAVE/GET 5/15/02
  167. // [zap-zero] 20020516
  168. extern int account_set_friend( t_account * account, int friendnum, unsigned int frienduid );
  169. extern unsigned int account_get_friend( t_account * account, int friendnum);
  170. extern int account_set_friendcount( t_account * account, int count);
  171. extern int account_get_friendcount( t_account * account );
  172. extern int account_add_friend( t_account * my_acc, t_account * facc );
  173. extern int account_remove_friend( t_account * account, int friendnum );
  174. extern int account_remove_friend2( t_account * account, const char * friend );
  175. extern char const * race_get_str(unsigned int race);
  176. extern int account_set_admin( t_account * account );
  177. extern int account_set_demoteadmin( t_account * account );
  178. extern unsigned int account_get_command_groups(t_account * account);
  179. extern int account_set_command_groups(t_account * account, unsigned int groups);
  180. extern int account_set_w3pgrace( t_account * account, char const * clienttag, unsigned int race);
  181. extern int account_get_w3pgrace( t_account * account, char const * clienttag );
  182. extern void account_get_raceicon(t_account * account, char * raceicon, unsigned int * raceiconnumber, unsigned int * wins,char const * clienttag);
  183. //Used to call the save stats for all opponents
  184. extern int account_set_saveladderstats(t_account *a, unsigned int gametype, t_game_result result, unsigned int opponlevel,char const * clienttag);
  185. extern int account_set_racewin( t_account * account, unsigned int intrace, char const * clienttag);
  186. extern int account_get_racewin( t_account * account, unsigned int intrace, char const * clienttag);
  187. extern int account_set_raceloss( t_account * account, unsigned int intrace, char const * clienttag);
  188. extern int account_get_raceloss( t_account * account, unsigned int intrace, char const * clienttag);
  189. // 1v1 Solo Play Game funcs
  190. extern int account_set_solowin( t_account * account, char const * clienttag);
  191. extern int account_get_solowin( t_account * account, char const * clienttag);
  192. extern int account_set_sololoss( t_account * account, char const * clienttag );
  193. extern int account_get_sololoss( t_account * account, char const * clienttag );
  194. extern int account_set_soloxp(t_account * account, char const * clienttag, t_game_result gameresult, unsigned int opponlevel,int * xp_diff);
  195. extern int account_get_soloxp(t_account * account, char const * clienttag);
  196. extern int account_set_sololevel(t_account * account, char const * clienttag);
  197. extern int account_get_sololevel(t_account * account, char const * clienttag);
  198. extern int account_get_solorank(t_account * account, char const * clienttag);
  199. extern int account_set_solorank(t_account * account, char const * clienttag, int rank);
  200. // Any Team Game great then 1v1 .. so thats (2v2,3v3,4v4)
  201. extern int account_set_teamwin(t_account * account, char const * clienttag);
  202. extern int account_get_teamwin(t_account * account, char const * clienttag);
  203. extern int account_set_teamloss(t_account * account, char const * clienttag);
  204. extern int account_get_teamloss(t_account * account, char const * clienttag);
  205. extern int account_set_teamxp(t_account * account, char const * clienttag, t_game_result gameresult, unsigned int opponlevel,int * xp_diff);
  206. extern int account_get_teamxp(t_account * account, char const * clienttag);
  207. extern int account_set_teamlevel(t_account * account, char const * clienttag);
  208. extern int account_get_teamlevel(t_account * account, char const * clienttag);
  209. extern int account_get_teamrank(t_account * account, char const * clienttag);
  210. extern int account_set_teamrank(t_account * account, char const * clienttag, int rank);
  211. // Funcs for small and big FFA
  212. extern int account_set_ffawin(t_account * account, char const * clienttag);
  213. extern int account_get_ffawin(t_account * account, char const * clienttag);
  214. extern int account_set_ffaloss(t_account * account, char const * clienttag);
  215. extern int account_get_ffaloss(t_account * account, char const * clienttag);
  216. extern int account_set_ffaxp(t_account * account, char const * clienttag, t_game_result gameresult, unsigned int opponlevel, int * xp_diff);
  217. extern int account_get_ffaxp(t_account * account, char const * clienttag);
  218. extern int account_set_ffalevel(t_account * account, char const * clienttag);
  219. extern int account_get_ffalevel(t_account * account, char const * clienttag);
  220. extern int account_set_ffalevel(t_account * account, char const * clienttag);
  221. extern int account_get_ffarank(t_account * account, char const * clienttag);
  222. extern int account_set_ffarank(t_account * account, char const * clienttag, int rank);
  223. // Funcs for Arranged Teams - THEUNDYING
  224. extern int account_set_atteamcount(t_account * account, char const * clienttag, unsigned int teamcount);
  225. extern int account_get_atteamcount(t_account * account, char const * clienttag);
  226. extern int account_set_atteamsize(t_account * account, unsigned int teamcount, char const * clienttag, unsigned int teamsize);
  227. extern int account_get_atteamsize(t_account * account, unsigned int teamcount, char const * clienttag);
  228. extern int account_set_atteamwin(t_account * account, unsigned int teamcount, char const * clienttag, int wins);
  229. extern int account_atteamwin(t_account * account, unsigned int teamcount, char const * clienttag);
  230. extern int account_get_atteamwin(t_account * account, unsigned int teamcount, char const * clienttag);
  231. extern int account_set_atteamloss(t_account * account, unsigned int teamcount, char const * clienttag, int loss);
  232. extern int account_atteamloss(t_account * account, unsigned int teamcount, char const * clienttag);
  233. extern int account_get_atteamloss(t_account * account, unsigned int teamcount, char const * clienttag);
  234. extern int account_update_atteamxp(t_account * account, t_game_result gameresult, unsigned int opponlevel, unsigned int teamcount, char const * clienttag, int * xp_diff);
  235. extern int account_get_atteamxp(t_account * account, unsigned int teamcount, char const * clienttag);
  236. extern int account_get_atteamlevel(t_account * account, unsigned int teamcount, char const * clienttag);
  237. extern int account_set_atteamxp(t_account * account, unsigned int teamcount, char const * clienttag, int xp);
  238. extern int account_set_atteamlevel(t_account * account, unsigned int teamcount, char const * clienttag, int level);
  239. extern int account_update_atteamlevel(t_account * account, unsigned int teamcount, char const * clienttag);
  240. //aaron: --->
  241. extern int account_set_atteamrank(t_account * account, unsigned int teamcount, char const * clienttag, int teamrank);
  242. extern int account_get_atteamrank(t_account * account, unsigned int teamcount, char const * clienttag);
  243. // <---
  244. extern int account_set_atteammembers(t_account * account, unsigned int teamcount, char const * clienttag, char const *members);
  245. extern char const * account_get_atteammembers(t_account * account, unsigned int teamcount, char const * clienttag);
  246. extern int account_fix_at(t_account * account, const char * ctag);
  247. extern int account_set_saveATladderstats(t_account * account, unsigned int gametype, t_game_result result, unsigned int opponlevel, unsigned int current_teamnum, char const * clienttag);
  248. extern int account_check_team(t_account * account, const char * members_usernames, char const * clienttag);
  249. extern int account_create_newteam(t_account * account, const char * members_usernames, unsigned int teamsize, char const * clienttag);
  250. extern int account_set_currentatteam(t_account * account, unsigned int teamcount);
  251. extern int account_get_currentatteam(t_account * account);
  252. extern int account_set_new_at_team(t_account * account, unsigned int value);
  253. extern int account_get_new_at_team(t_account * account);
  254. extern int account_get_highestladderlevel(t_account * account,char const * clienttag); //func will compare levels for AT, Solo/Team Ladder and out the higest level of the 3
  255. // Determines the length of XP bar in profiles screen
  256. extern int account_get_profile_calcs(t_account * account, int xp, unsigned int level);
  257. extern unsigned int account_get_icon_profile(t_account * account,char const * clienttag);
  258. extern int account_set_user_icon( t_account * account, char const * clienttag,char const * usericon);
  259. extern char const * account_get_user_icon( t_account * account, char const * clienttag );
  260. extern unsigned int account_icon_to_profile_icon(char const * icon,t_account * account, char const * ctag);
  261. extern char const * account_icon_default(t_account * account, char const * clienttag);
  262. extern int account_is_operator_or_admin(t_account * account, char const * channel);
  263. extern int account_set_email(t_account * account, char const * email);
  264. extern char const * account_get_email(t_account * account);
  265. #endif
  266. #endif