private function getMaxAge()
 {
     $node = new ScalarNodeDefinition('max_age');
     $node->defaultValue(0)->validate()->ifTrue(function ($v) {
         return !is_numeric($v);
     })->thenInvalid('max_age must be an integer (seconds)')->end();
     return $node;
 }
 /**
  * {@inheritDoc}
  */
 public function getConfigTreeBuilder()
 {
     $treeBuilder = new TreeBuilder();
     $rootNode = $treeBuilder->root('sms_delivery');
     $disable_delivery = new BooleanNodeDefinition('disable_delivery');
     $delivery_recipient = new ScalarNodeDefinition('delivery_recipient');
     $transport = new ScalarNodeDefinition('transport');
     $spool = new ScalarNodeDefinition('spool');
     $rootNode->children()->append($spool->defaultValue('sms_delivery.spool.instant')->info('Sender message spool'))->append($transport->defaultValue('sms_delivery.transport.dummy')->info('Sender transport service'))->append($disable_delivery->defaultFalse()->info('Disables actual delivery for testing purposes'))->append($delivery_recipient->defaultNull()->info('Recipient for messages for testing purposes'))->end();
     return $treeBuilder;
 }
 /**
  * Generates the configuration tree builder.
  *
  * @return \Symfony\Component\Config\Definition\Builder\TreeBuilder The tree builder
  */
 public function getConfigTreeBuilder()
 {
     $treeBuilder = new TreeBuilder();
     $rootNode = $treeBuilder->root('web_sms');
     $connection = new ArrayNodeDefinition('connection');
     $login = new ScalarNodeDefinition('login');
     $secret = new ScalarNodeDefinition('secret');
     $sendMode = new ScalarNodeDefinition('mode');
     $sendMode->defaultValue(AbstractWebSMSConnection::TEST_DISABLED);
     $connection->children()->append($login->info('login')->isRequired())->append($secret->info('secret')->isRequired())->append($sendMode->info('Test mode')->example(array('-1 for special testing (no auth checked)', '1 for usual testing (no sending occurs, no charge for sending)', '0 for production sending')))->end();
     $rootNode->children()->append($connection->info('WebSMS connection parameters'))->end();
     return $treeBuilder;
 }
 private function getMethod()
 {
     $node = new ScalarNodeDefinition('method');
     $node->defaultValue(null)->end();
     return $node;
 }
 /**
  * @return ScalarNodeDefinition
  */
 private function getIdentifierNode()
 {
     $node = new ScalarNodeDefinition('identifier');
     $node->defaultValue('id');
     return $node;
 }