You are here

interface SmsGatewayInterface in SMS Framework 2.x

Same name and namespace in other branches
  1. 8 src/Entity/SmsGatewayInterface.php \Drupal\sms\Entity\SmsGatewayInterface
  2. 2.1.x src/Entity/SmsGatewayInterface.php \Drupal\sms\Entity\SmsGatewayInterface

Provides an interface defining a SMS Gateway entity.

Hierarchy

Expanded class hierarchy of SmsGatewayInterface

All classes that implement SmsGatewayInterface

13 files declare their use of SmsGatewayInterface
DefaultSmsProvider.php in src/Provider/DefaultSmsProvider.php
DeliveryReportController.php in src/DeliveryReportController.php
Incoming.php in tests/modules/sms_test_gateway/src/Plugin/SmsGateway/Incoming.php
RecipientGatewayEvent.php in src/Event/RecipientGatewayEvent.php
RecipientGatewayEventTest.php in tests/src/Unit/Event/RecipientGatewayEventTest.php

... See full list

File

src/Entity/SmsGatewayInterface.php, line 12

Namespace

Drupal\sms\Entity
View source
interface SmsGatewayInterface extends ConfigEntityInterface {

  /**
   * Returns the plugin instance.
   *
   * @return \Drupal\sms\Plugin\SmsGatewayPluginInterface
   *   The plugin instance for this SMS Gateway.
   */
  public function getPlugin();

  /**
   * Returns the plugin ID.
   *
   * @return string
   *   The plugin ID for this SMS Gateway.
   */
  public function getPluginId();

  /**
   * Get whether messages sent to this gateway should be sent immediately.
   *
   * @return bool
   *   Whether messages sent to this gateway should be sent immediately.
   */
  public function getSkipQueue();

  /**
   * Set whether messages sent to this gateway should be sent immediately.
   *
   * @param bool $skip_queue
   *   Whether messages sent to this gateway should be sent immediately.
   *
   * @return $this
   *   Return this gateway for chaining.
   */
  public function setSkipQueue($skip_queue);

  /**
   * Get the internal path where incoming messages are received.
   *
   * @return string|null
   *   The internal path where incoming messages are received.
   */
  public function getPushIncomingPath();

  /**
   * Set the internal path where incoming messages are received.
   *
   * @param string|null $path
   *   The internal path where incoming messages are received.
   *
   * @return $this
   *   Return this gateway for chaining.
   */
  public function setPushIncomingPath($path);

  /**
   * Get the url where pushed delivery reports can be received.
   *
   * @return \Drupal\Core\Url
   *   The url where pushed delivery reports can be received.
   */
  public function getPushReportUrl();

  /**
   * Get the internal path where pushed delivery reports can be received.
   *
   * @return string|null
   *   The internal path where pushed delivery reports can be received.
   */
  public function getPushReportPath();

  /**
   * Set the internal path where pushed delivery reports can be received.
   *
   * @param string|null $path
   *   The internal path where pushed delivery reports can be received.
   *
   * @return $this
   *   Return this gateway for chaining.
   */
  public function setPushReportPath($path);

  /**
   * Get how many seconds to hold messages.
   *
   * @param int $direction
   *   The direction of the message. See SmsMessageInterface::DIRECTION_*
   *   constants.
   *
   * @return int
   *   How long messages should persist in seconds. -1 to never expire.
   */
  public function getRetentionDuration($direction);

  /**
   * Set how many seconds to hold messages..
   *
   * @param int $direction
   *   The direction of the message. See SmsMessageInterface::DIRECTION_*
   *   constants.
   * @param int $retention_duration
   *   How many seconds to hold messages, or use -1 to never expire.
   *
   * @return $this
   *   Return this gateway for chaining.
   */
  public function setRetentionDuration($direction, $retention_duration);

  /**
   * Get maximum number of recipients per outgoing message.
   *
   * @return int
   *   Maximum number of recipients, or -1 for no limit.
   */
  public function getMaxRecipientsOutgoing();

  /**
   * Whether the gateway supports receiving messages.
   *
   * @return bool
   *   Whether the gateway supports receiving messages.
   */
  public function supportsIncoming();

  /**
   * Whether to automatically create a route for receiving incoming messages.
   *
   * @return bool
   *   Whether to automatically create a route for receiving incoming messages.
   */
  public function autoCreateIncomingRoute();

  /**
   * Get whether this gateway is schedule aware.
   *
   * @return bool
   *   Whether this gateway is schedule aware.
   */
  public function isScheduleAware();

  /**
   * Gets whether this gateway can pull reports.
   *
   * @return bool
   *   Whether this gateway can pull reports.
   *
   * @see \Drupal\sms\Annotation\SmsGateway::reports_pull
   */
  public function supportsReportsPull();

  /**
   * Gets whether this gateway can handle reports pushed to the site.
   *
   * @return bool
   *   Whether this gateway can handle reports pushed to the site.
   *
   * @see \Drupal\sms\Annotation\SmsGateway::reports_push
   */
  public function supportsReportsPush();

  /**
   * Get whether this gateway supports credit balance queries.
   *
   * @return bool
   *   Whether this gateway supports credit balance queries.
   *
   * @see \Drupal\sms\Annotation\SmsGateway::credit_balance_available
   */
  public function supportsCreditBalanceQuery();

}

Members

Namesort descending Modifiers Type Description Overrides
AccessibleInterface::access public function Checks data value access. 9
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 34
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 34
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 27
ConfigEntityInterface::calculateDependencies public function Calculates dependencies and stores them in the dependency property. 2
ConfigEntityInterface::disable public function Disables the configuration entity. 2
ConfigEntityInterface::enable public function Enables the configuration entity. 2
ConfigEntityInterface::get public function Returns the value of a property. 2
ConfigEntityInterface::getDependencies public function Gets the configuration dependencies. 2
ConfigEntityInterface::hasTrustedData public function Gets whether on not the data is trusted. 2
ConfigEntityInterface::isInstallable public function Checks whether this entity is installable. 2
ConfigEntityInterface::isUninstalling public function Returns whether this entity is being changed during the uninstall process. 2
ConfigEntityInterface::onDependencyRemoval public function Informs the entity that entities it depends on will be deleted. 2
ConfigEntityInterface::set public function Sets the value of a property. 2
ConfigEntityInterface::setStatus public function Sets the status of the configuration entity. 2
ConfigEntityInterface::status public function Returns whether the configuration entity is enabled. 2
ConfigEntityInterface::trustData public function Sets that the data should be trusted. 2
EntityInterface::bundle public function Gets the bundle of the entity. 2
EntityInterface::create public static function Constructs a new entity object, without permanently saving it. 2
EntityInterface::createDuplicate public function Creates a duplicate of the entity. 2
EntityInterface::delete public function Deletes an entity permanently. 2
EntityInterface::enforceIsNew public function Enforces an entity to be new. 2
EntityInterface::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. 2
EntityInterface::getConfigDependencyKey public function Gets the key that is used to store configuration dependencies. 2
EntityInterface::getConfigDependencyName public function Gets the configuration dependency name. 2
EntityInterface::getConfigTarget public function Gets the configuration target identifier for the entity. 2
EntityInterface::getEntityType public function Gets the entity type definition. 2
EntityInterface::getEntityTypeId public function Gets the ID of the type of the entity. 2
EntityInterface::getOriginalId public function Gets the original ID. 2
EntityInterface::getTypedData public function Gets a typed data object for this entity object. 2
EntityInterface::hasLinkTemplate public function Indicates if a link template exists for a given key. 2
EntityInterface::id public function Gets the identifier. 2
EntityInterface::isNew public function Determines whether the entity is new. 2
EntityInterface::label public function Gets the label of the entity. 2
EntityInterface::language public function Gets the language of the entity. 2
EntityInterface::load public static function Loads an entity. 2
EntityInterface::loadMultiple public static function Loads one or more entities. 2
EntityInterface::postCreate public function Acts on a created entity before hooks are invoked. 2
EntityInterface::postDelete public static function Acts on deleted entities before the delete hook is invoked. 2
EntityInterface::postLoad public static function Acts on loaded entities. 3
EntityInterface::postSave public function Acts on a saved entity before the insert or update hook is invoked. 2
EntityInterface::preCreate public static function Changes the values of an entity before it is created. 2
EntityInterface::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. 2
EntityInterface::preSave public function Acts on an entity before the presave hook is invoked. 2
EntityInterface::referencedEntities public function Gets a list of entities referenced by this entity. 2
EntityInterface::save public function Saves an entity permanently. 2
EntityInterface::setOriginalId public function Sets the original ID. 2
EntityInterface::toArray public function Gets an array of all property values. 3
EntityInterface::toLink public function Generates the HTML for a link to this entity. 2
EntityInterface::toUrl public function Gets the URL object for the entity. 2
EntityInterface::uriRelationships public function Gets a list of URI relationships supported by this entity. 2
EntityInterface::uuid public function Gets the entity UUID (Universally Unique Identifier). 2
RefinableCacheableDependencyInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata. 1
RefinableCacheableDependencyInterface::addCacheContexts public function Adds cache contexts. 1
RefinableCacheableDependencyInterface::addCacheTags public function Adds cache tags. 1
RefinableCacheableDependencyInterface::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age. 1
SmsGatewayInterface::autoCreateIncomingRoute public function Whether to automatically create a route for receiving incoming messages. 1
SmsGatewayInterface::getMaxRecipientsOutgoing public function Get maximum number of recipients per outgoing message. 1
SmsGatewayInterface::getPlugin public function Returns the plugin instance. 1
SmsGatewayInterface::getPluginId public function Returns the plugin ID. 1
SmsGatewayInterface::getPushIncomingPath public function Get the internal path where incoming messages are received. 1
SmsGatewayInterface::getPushReportPath public function Get the internal path where pushed delivery reports can be received. 1
SmsGatewayInterface::getPushReportUrl public function Get the url where pushed delivery reports can be received. 1
SmsGatewayInterface::getRetentionDuration public function Get how many seconds to hold messages. 1
SmsGatewayInterface::getSkipQueue public function Get whether messages sent to this gateway should be sent immediately. 1
SmsGatewayInterface::isScheduleAware public function Get whether this gateway is schedule aware. 1
SmsGatewayInterface::setPushIncomingPath public function Set the internal path where incoming messages are received. 1
SmsGatewayInterface::setPushReportPath public function Set the internal path where pushed delivery reports can be received. 1
SmsGatewayInterface::setRetentionDuration public function Set how many seconds to hold messages.. 1
SmsGatewayInterface::setSkipQueue public function Set whether messages sent to this gateway should be sent immediately. 1
SmsGatewayInterface::supportsCreditBalanceQuery public function Get whether this gateway supports credit balance queries. 1
SmsGatewayInterface::supportsIncoming public function Whether the gateway supports receiving messages. 1
SmsGatewayInterface::supportsReportsPull public function Gets whether this gateway can pull reports. 1
SmsGatewayInterface::supportsReportsPush public function Gets whether this gateway can handle reports pushed to the site. 1
SynchronizableInterface::isSyncing public function Returns whether this entity is being changed as part of a synchronization. 1
SynchronizableInterface::setSyncing public function Sets the status of the synchronization flag. 1
ThirdPartySettingsInterface::getThirdPartyProviders public function Gets the list of third parties that store information. 5
ThirdPartySettingsInterface::getThirdPartySetting public function Gets the value of a third-party setting. 5
ThirdPartySettingsInterface::getThirdPartySettings public function Gets all third-party settings of a given module. 5
ThirdPartySettingsInterface::setThirdPartySetting public function Sets the value of a third-party setting. 5
ThirdPartySettingsInterface::unsetThirdPartySetting public function Unsets a third-party setting. 5