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

MySQL数据库

开发平台:

Visual C++

  1. /*
  2.  * Copyright (C) 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. #ifndef INCLUDED_WATCH_TYPES
  19. #define INCLUDED_WATCH_TYPES
  20. #ifdef WATCH_INTERNAL_ACCESS
  21. #ifdef JUST_NEED_TYPES
  22. # include "account.h"
  23. # include "connection.h"
  24. #else
  25. # define JUST_NEED_TYPES
  26. # include "account.h"
  27. # include "connection.h"
  28. # undef JUST_NEED_TYPES
  29. #endif
  30. #endif
  31. typedef enum
  32. {
  33.     watch_event_login=1,
  34.     watch_event_logout=2,
  35.     watch_event_joingame=4,
  36.     watch_event_leavegame=8
  37. } t_watch_event;
  38. #ifdef WATCH_INTERNAL_ACCESS
  39. typedef struct
  40. {
  41.     t_connection * owner; /* who to notify */
  42.     t_account *    who;   /* when this account */
  43.     t_watch_event  what;  /* does one of these things */
  44. char           clienttag[5];
  45. } t_watch_pair;
  46. #endif
  47. #endif
  48. #ifndef JUST_NEED_TYPES
  49. #ifndef INCLUDED_WATCH_PROTOS
  50. #define INCLUDED_WATCH_PROTOS
  51. #define JUST_NEED_TYPES
  52. #include "account.h"
  53. #include "connection.h"
  54. #undef JUST_NEED_TYPES
  55. extern int watchlist_create(void);
  56. extern int watchlist_destroy(void);
  57. extern int watchlist_add_events(t_connection * owner, t_account * who, char const * clienttag, t_watch_event events);
  58. extern int watchlist_del_events(t_connection * owner, t_account * who, char const * clienttag, t_watch_event events);
  59. extern int watchlist_del_all_events(t_connection * owner);
  60. extern int watchlist_del_by_account(t_account * account);
  61. extern int watchlist_notify_event(t_account * who, char const * gamename, char const * clienttag, t_watch_event event);
  62. #endif
  63. #endif