/**
  * @deprecated 4.9.0
  * @param EE_Message $message
  * @return array  An array with 'messenger' and 'message_type' as the index and the corresponding valid object if
  *                  available.
  *                  Eg. Valid Messenger and Message Type:
  *                  array(
  *                  'messenger' => new EE_Email_messenger(),
  *                  'message_type' => new EE_Registration_Approved_message_type()
  *                  )
  *                  Valid Messenger and Invalid Message Type:
  *                  array(
  *                  'messenger' => new EE_Email_messenger(),
  *                  'message_type' => null
  *                  )
  */
 public function validate_for_use(EE_Message $message)
 {
     // EE_messages has been deprecated
     $this->_class_is_deprecated(__FUNCTION__);
     return array('messenger' => $message->messenger_object(), 'message_type' => $message->message_type_object());
 }
 /**
  * _process_message
  *
  * @param EE_Message $message
  * @param mixed 	 $sending_messenger (optional)
  * @return bool
  */
 protected function _process_message(EE_Message $message, $sending_messenger = null)
 {
     // these *should* have been validated in the execute() method above
     $messenger = $message->messenger_object();
     $message_type = $message->message_type_object();
     //do actions for sending messenger if it differs from generating messenger and swap values.
     if ($sending_messenger instanceof EE_messenger && $messenger instanceof EE_messenger && $sending_messenger->name != $messenger->name) {
         $messenger->do_secondary_messenger_hooks($sending_messenger->name);
         $messenger = $sending_messenger;
     }
     // send using messenger, but double check objects
     if ($messenger instanceof EE_messenger && $message_type instanceof EE_message_type) {
         //set hook for message type (but only if not using another messenger to send).
         if (!isset($this->_did_hook[$message_type->name])) {
             $message_type->do_messenger_hooks($messenger);
             $this->_did_hook[$message_type->name] = 1;
         }
         //if preview then use preview method
         return $this->_message_repository->is_preview() ? $this->_do_preview($message, $messenger, $message_type, $this->_message_repository->is_test_send()) : $this->_do_send($message, $messenger, $message_type);
     }
     return false;
 }