You are here

service_container.module in Service Container 7.2

Same filename and directory in other branches
  1. 8 service_container.module
  2. 7 service_container.module

Main module file for the service_container module.

File

service_container.module
View source
<?php

/**
 * @file
 * Main module file for the service_container module.
 */

// -----------------------------------------------------------------------
// Core Hooks

/**
 * Implements hook_stream_wrappers_alter().
 */
function service_container_stream_wrappers_alter(&$wrappers) {
  if (class_exists('ServiceContainer')) {
    ServiceContainer::init();
  }
}

/**
 * Implements hook_modules_enabled().
 */
function service_container_modules_enabled() {
  if (class_exists('ServiceContainer')) {
    ServiceContainer::reset();
    ServiceContainer::init();
  }
}

/**
 * Implements hook_module_implements_alter().
 */
function service_container_module_implements_alter(&$implementations, $hook) {

  // Moves our hook_init() implementation to occur first so that we
  // can initialize the container.
  if ($hook == 'stream_wrappers_alter') {
    $group = $implementations['service_container'];
    unset($implementations['service_container']);
    $implementations = array(
      'service_container' => $group,
    ) + $implementations;
  }
}

// -----------------------------------------------------------------------
// Contrib Hooks

/**
 * Implements hook_ctools_plugin_type().
 */
function service_container_ctools_plugin_type() {
  $items['ServiceProvider'] = array(
    'cache' => FALSE,
  );
  return $items;
}

/**
 * Implements hook_ctools_plugin_directory().
 */
function service_container_ctools_plugin_directory($owner, $plugin_type) {
  if ($owner == 'service_container') {
    return 'src/ServiceContainer/' . $plugin_type;
  }
  return NULL;
}

// -----------------------------------------------------------------------
// Public API