summaryrefslogtreecommitdiff
path: root/src/map/channel.h
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2015-01-22 18:10:46 +0100
committerHaru <haru@dotalux.com>2015-01-24 14:37:25 +0100
commit5066af1700e95b5db24f9998cf1ff052b45f5fa0 (patch)
tree3f34c2d7592dc8fcd6b1b20f1678e7b784ee22ee /src/map/channel.h
parentfe55c7980099b2813a182cdfcc571df705601a4a (diff)
downloadhercules-5066af1700e95b5db24f9998cf1ff052b45f5fa0.tar.gz
hercules-5066af1700e95b5db24f9998cf1ff052b45f5fa0.tar.bz2
hercules-5066af1700e95b5db24f9998cf1ff052b45f5fa0.tar.xz
hercules-5066af1700e95b5db24f9998cf1ff052b45f5fa0.zip
Channels refactoring: join
Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/map/channel.h')
-rw-r--r--src/map/channel.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/map/channel.h b/src/map/channel.h
index 11ba968a9..8709a9f96 100644
--- a/src/map/channel.h
+++ b/src/map/channel.h
@@ -40,6 +40,7 @@ enum channel_operation_status {
HCS_STATUS_FAIL,
HCS_STATUS_ALREADY,
HCS_STATUS_NOPERM,
+ HCS_STATUS_BANNED,
};
/**
@@ -85,6 +86,7 @@ struct channel_interface {
int (*init) (bool minimal);
void (*final) (void);
+ struct channel_data *(*search) (const char *name);
struct channel_data *(*create) (enum channel_types type, const char *name, unsigned char color);
void (*set_password) (struct channel_data *chan, const char *password);
enum channel_operation_status (*ban) (struct channel_data *chan, const struct map_session_data *ssd, struct map_session_data *tsd);
@@ -92,7 +94,9 @@ struct channel_interface {
void (*set_options) (struct channel_data *chan, unsigned int options);
void (*send) (struct channel_data *chan, struct map_session_data *sd, const char *msg);
- void (*join) (struct channel_data *chan, struct map_session_data *sd);
+ void (*join_sub) (struct channel_data *chan, struct map_session_data *sd, bool stealth);
+ enum channel_operation_status (*join) (struct channel_data *chan, struct map_session_data *sd, const char *password, bool silent);
+
void (*leave) (struct channel_data *chan, struct map_session_data *sd);
void (*delete) (struct channel_data *chan);
void (*map_join) (struct map_session_data *sd);