| OLD | NEW | 
|---|
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "base/message_loop.h" | 5 #include "base/message_loop.h" | 
| 6 #include "base/ref_counted.h" | 6 #include "base/ref_counted.h" | 
| 7 #include "base/scoped_ptr.h" | 7 #include "base/scoped_ptr.h" | 
| 8 #include "base/thread.h" | 8 #include "base/thread.h" | 
| 9 #include "ipc/ipc_channel_proxy.h" | 9 #include "ipc/ipc_channel_proxy.h" | 
| 10 #include "ipc/ipc_logging.h" | 10 #include "ipc/ipc_logging.h" | 
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 71 | 71 | 
| 72 void ChannelProxy::Context::CreateChannel(const IPC::ChannelHandle& handle, | 72 void ChannelProxy::Context::CreateChannel(const IPC::ChannelHandle& handle, | 
| 73                                           const Channel::Mode& mode) { | 73                                           const Channel::Mode& mode) { | 
| 74   DCHECK(channel_.get() == NULL); | 74   DCHECK(channel_.get() == NULL); | 
| 75   channel_id_ = handle.name; | 75   channel_id_ = handle.name; | 
| 76   channel_.reset(new Channel(handle, mode, this)); | 76   channel_.reset(new Channel(handle, mode, this)); | 
| 77 } | 77 } | 
| 78 | 78 | 
| 79 bool ChannelProxy::Context::TryFilters(const Message& message) { | 79 bool ChannelProxy::Context::TryFilters(const Message& message) { | 
| 80 #ifdef IPC_MESSAGE_LOG_ENABLED | 80 #ifdef IPC_MESSAGE_LOG_ENABLED | 
| 81   Logging* logger = Logging::current(); | 81   Logging* logger = Logging::GetInstance(); | 
| 82   if (logger->Enabled()) | 82   if (logger->Enabled()) | 
| 83     logger->OnPreDispatchMessage(message); | 83     logger->OnPreDispatchMessage(message); | 
| 84 #endif | 84 #endif | 
| 85 | 85 | 
| 86   for (size_t i = 0; i < filters_.size(); ++i) { | 86   for (size_t i = 0; i < filters_.size(); ++i) { | 
| 87     if (filters_[i]->OnMessageReceived(message)) { | 87     if (filters_[i]->OnMessageReceived(message)) { | 
| 88 #ifdef IPC_MESSAGE_LOG_ENABLED | 88 #ifdef IPC_MESSAGE_LOG_ENABLED | 
| 89       if (logger->Enabled()) | 89       if (logger->Enabled()) | 
| 90         logger->OnPostDispatchMessage(message, channel_id_); | 90         logger->OnPostDispatchMessage(message, channel_id_); | 
| 91 #endif | 91 #endif | 
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 233 } | 233 } | 
| 234 | 234 | 
| 235 // Called on the listener's thread | 235 // Called on the listener's thread | 
| 236 void ChannelProxy::Context::OnDispatchMessage(const Message& message) { | 236 void ChannelProxy::Context::OnDispatchMessage(const Message& message) { | 
| 237   if (!listener_) | 237   if (!listener_) | 
| 238     return; | 238     return; | 
| 239 | 239 | 
| 240   OnDispatchConnected(); | 240   OnDispatchConnected(); | 
| 241 | 241 | 
| 242 #ifdef IPC_MESSAGE_LOG_ENABLED | 242 #ifdef IPC_MESSAGE_LOG_ENABLED | 
| 243   Logging* logger = Logging::current(); | 243   Logging* logger = Logging::GetInstance(); | 
| 244   if (message.type() == IPC_LOGGING_ID) { | 244   if (message.type() == IPC_LOGGING_ID) { | 
| 245     logger->OnReceivedLoggingMessage(message); | 245     logger->OnReceivedLoggingMessage(message); | 
| 246     return; | 246     return; | 
| 247   } | 247   } | 
| 248 | 248 | 
| 249   if (logger->Enabled()) | 249   if (logger->Enabled()) | 
| 250     logger->OnPreDispatchMessage(message); | 250     logger->OnPreDispatchMessage(message); | 
| 251 #endif | 251 #endif | 
| 252 | 252 | 
| 253   listener_->OnMessageReceived(message); | 253   listener_->OnMessageReceived(message); | 
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 333   context_->Clear(); | 333   context_->Clear(); | 
| 334 | 334 | 
| 335   if (context_->ipc_message_loop()) { | 335   if (context_->ipc_message_loop()) { | 
| 336     context_->ipc_message_loop()->PostTask(FROM_HERE, NewRunnableMethod( | 336     context_->ipc_message_loop()->PostTask(FROM_HERE, NewRunnableMethod( | 
| 337         context_.get(), &Context::OnChannelClosed)); | 337         context_.get(), &Context::OnChannelClosed)); | 
| 338   } | 338   } | 
| 339 } | 339 } | 
| 340 | 340 | 
| 341 bool ChannelProxy::Send(Message* message) { | 341 bool ChannelProxy::Send(Message* message) { | 
| 342 #ifdef IPC_MESSAGE_LOG_ENABLED | 342 #ifdef IPC_MESSAGE_LOG_ENABLED | 
| 343   Logging::current()->OnSendMessage(message, context_->channel_id()); | 343   Logging::GetInstance()->OnSendMessage(message, context_->channel_id()); | 
| 344 #endif | 344 #endif | 
| 345 | 345 | 
| 346   context_->ipc_message_loop()->PostTask(FROM_HERE, | 346   context_->ipc_message_loop()->PostTask(FROM_HERE, | 
| 347                                          new SendTask(context_.get(), message)); | 347                                          new SendTask(context_.get(), message)); | 
| 348   return true; | 348   return true; | 
| 349 } | 349 } | 
| 350 | 350 | 
| 351 void ChannelProxy::AddFilter(MessageFilter* filter) { | 351 void ChannelProxy::AddFilter(MessageFilter* filter) { | 
| 352   context_->AddFilter(filter); | 352   context_->AddFilter(filter); | 
| 353 } | 353 } | 
| (...skipping 18 matching lines...) Expand all  Loading... | 
| 372   Channel *channel = context_.get()->channel_.get(); | 372   Channel *channel = context_.get()->channel_.get(); | 
| 373   // Channel must have been created first. | 373   // Channel must have been created first. | 
| 374   DCHECK(channel) << context_.get()->channel_id_; | 374   DCHECK(channel) << context_.get()->channel_id_; | 
| 375   return channel->GetClientFileDescriptor(); | 375   return channel->GetClientFileDescriptor(); | 
| 376 } | 376 } | 
| 377 #endif | 377 #endif | 
| 378 | 378 | 
| 379 //----------------------------------------------------------------------------- | 379 //----------------------------------------------------------------------------- | 
| 380 | 380 | 
| 381 }  // namespace IPC | 381 }  // namespace IPC | 
| OLD | NEW | 
|---|