interface SmsProviderInterface in SMS Framework 2.1.x
Same name and namespace in other branches
- 8 src/Provider/SmsProviderInterface.php \Drupal\sms\Provider\SmsProviderInterface
 - 2.x src/Provider/SmsProviderInterface.php \Drupal\sms\Provider\SmsProviderInterface
 
Provides an interface for sending messages.
Hierarchy
- interface \Drupal\sms\Provider\SmsProviderInterface
 
Expanded class hierarchy of SmsProviderInterface
All classes that implement SmsProviderInterface
3 files declare their use of SmsProviderInterface
- AccountRegistration.php in modules/
sms_user/ src/ AccountRegistration.php  - DeliveryReportController.php in src/
DeliveryReportController.php  - SmsIncomingController.php in src/
SmsIncomingController.php  
File
- src/
Provider/ SmsProviderInterface.php, line 14  
Namespace
Drupal\sms\ProviderView source
interface SmsProviderInterface {
  /**
   * Queue a SMS message for sending or receiving.
   *
   * @param \Drupal\sms\Message\SmsMessageInterface $sms_message
   *   A SMS message.
   *
   * @return \Drupal\sms\Entity\SmsMessageInterface[]
   *   The queued messages. A single message may be transformed into many.
   *
   * @throws \Drupal\sms\Exception\SmsDirectionException
   *   Thrown if no direction is set for the message.
   * @throws \Drupal\sms\Exception\RecipientRouteException
   *   Thrown if no gateway could be determined for the message.
   */
  public function queue(SmsMessageInterface $sms_message);
  /**
   * Sends an SMS using the active gateway.
   *
   * It is preferred to use queue method over directly invoking send().
   *
   * @param \Drupal\sms\Message\SmsMessageInterface $sms
   *   The message to be sent.
   *
   * @return \Drupal\sms\Message\SmsMessageInterface[]
   *   The messages sent in this sending operation. The message sent can be
   *   transformed into multiple messages depending on gateway and event
   *   subscribers. Therefore this function can return multiple messages.
   *
   * @throws \Drupal\sms\Exception\RecipientRouteException
   *   Thrown if no gateway could be determined for the message.
   */
  public function send(SmsMessageInterface $sms);
  /**
   * Handles a message sent from the gateway to the site.
   *
   * @param \Drupal\sms\Message\SmsMessageInterface $sms_message
   *   The incoming message to process.
   *
   * @return \Drupal\sms\Message\SmsMessageInterface[]
   *   The messages received in an incoming operation.
   */
  public function incoming(SmsMessageInterface $sms_message);
  /**
   * Handles delivery reports pushed to the site.
   *
   * @param \Symfony\Component\HttpFoundation\Request $request
   *   The HTTP request that contains the delivery report.
   * @param \Drupal\sms\Entity\SmsGatewayInterface $gateway
   *   The gateway designated to process the delivery report.
   */
  public function processDeliveryReport(Request $request, SmsGatewayInterface $gateway);
}Members
| 
            Name | 
                  Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| 
            SmsProviderInterface:: | 
                  public | function | Handles a message sent from the gateway to the site. | 1 | 
| 
            SmsProviderInterface:: | 
                  public | function | Handles delivery reports pushed to the site. | 1 | 
| 
            SmsProviderInterface:: | 
                  public | function | Queue a SMS message for sending or receiving. | 1 | 
| 
            SmsProviderInterface:: | 
                  public | function | Sends an SMS using the active gateway. | 1 |