destination; } /** * Override the destination of a message. * * Set to NULL to use the destination set in the message. * * @param string|NULL $destination The destination the message should be delivered to. */ public function setDestination($destination) { assert('is_string($destination) || is_null($destination)'); $this->destination = $destination; } /** * Send a SAML 2 message. * * This function will send a message using the specified binding. * The message will be delivered to the destination set in the message. * * @param SAML2_Message $message The message which should be sent. */ abstract public function send(SAML2_Message $message); /** * Receive a SAML 2 message. * * This function will extract the message from the current request. * An exception will be thrown if we are unable to process the message. * * @return SAML2_Message The received message. */ abstract public function receive(); } ?>