/**
  * 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;
 }
 /**
  * @param string $info
  * @param string $example
  *
  * @return \Symfony\Component\Config\Definition\Builder\ScalarNodeDefinition
  */
 protected function getTemplateNodeDefinition($info, $example)
 {
     $templateNodeDefinition = new ScalarNodeDefinition('template');
     $templateNodeDefinition->info($info)->example($example)->isRequired()->cannotBeEmpty();
     return $templateNodeDefinition;
 }
 /**
  * @return ScalarNodeDefinition
  */
 private function createSchemaBaseNode()
 {
     $node = new ScalarNodeDefinition('schemaBase');
     $node->info('Specify name of any schema definition from rdfa')->end();
     $node->defaultNull();
     return $node;
 }