aboutsummaryrefslogtreecommitdiff
path: root/src/client/dispatch.rs
diff options
context:
space:
mode:
authorZeyla Hellyer <[email protected]>2017-06-01 22:37:08 -0700
committerZeyla Hellyer <[email protected]>2017-06-01 22:37:08 -0700
commit831c1c73410d0dd494a9697a3c4f2551637e3f2a (patch)
treed1dcb2c3d4dd2a740ec4098a9eb4fcbcfdb19926 /src/client/dispatch.rs
parentFix no-feature compilations (diff)
downloadserenity-831c1c73410d0dd494a9697a3c4f2551637e3f2a.tar.xz
serenity-831c1c73410d0dd494a9697a3c4f2551637e3f2a.zip
Fix client-feature, no-model compiles
Some of the methods used in the client dispatch, namely `Channel::id` and `Message::transform_content`, are not _required_ for functionality by the dispatcher. Since these methods are `model` features, they can be gated behind a `model` feature cfg.
Diffstat (limited to 'src/client/dispatch.rs')
-rw-r--r--src/client/dispatch.rs24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/client/dispatch.rs b/src/client/dispatch.rs
index 648cea7..c012fda 100644
--- a/src/client/dispatch.rs
+++ b/src/client/dispatch.rs
@@ -112,7 +112,10 @@ fn dispatch_message(context: Context,
event_store: &Arc<RwLock<EventStore>>) {
if let Some(handler) = handler!(on_message, event_store) {
thread::spawn(move || {
- message.transform_content();
+ #[cfg(feature="model")]
+ {
+ message.transform_content();
+ }
(handler)(context, message);
});
@@ -128,7 +131,15 @@ fn handle_event(event: Event,
Event::ChannelCreate(event) => {
if let Some(handler) = handler!(on_channel_create, event_store) {
update!(update_with_channel_create, event);
- let context = context(Some(event.channel.id()), conn, data);
+
+ let mut channel_id = None;
+
+ #[cfg(feature="model")]
+ {
+ channel_id = Some(event.channel.id());
+ }
+
+ let context = context(channel_id, conn, data);
thread::spawn(move || (handler)(context, event.channel));
} else {
@@ -172,7 +183,14 @@ fn handle_event(event: Event,
},
Event::ChannelUpdate(event) => {
if let Some(handler) = handler!(on_channel_update, event_store) {
- let context = context(Some(event.channel.id()), conn, data);
+ let mut channel_id = None;
+
+ #[cfg(feature="model")]
+ {
+ channel_id = Some(event.channel.id());
+ }
+
+ let context = context(channel_id, conn, data);
feature_cache! {{
let before = CACHE.read().unwrap().channel(event.channel.id());