services:
    qbabit.test.service:
        class: QbaBit\CoreBundle\Services\MyTestService
        arguments: ["@service_container"]
        public: true

    qbabit.routing.loader:
        class: QbaBit\CoreBundle\Services\QbaBitRoutingLoader
        arguments: ["@service_container"]
        public: true
        tags:
            - { name: routing.loader }

    qbabit.register.bundle:
        class: QbaBit\CoreBundle\Services\QbaBitRegisterBundle
        arguments: ["@service_container"]
        public: true

    qbabit.callback.kernel_terminate:
        class: QbaBit\CoreBundle\Subscriber\QbaBitKernelEventSuscriber
        tags:
            - { name: kernel.event_subscriber, event: kernel.terminate }

    qbabit.maker.crud:
        class: QbaBit\CoreBundle\Maker\MakeQbaBitCrud
        arguments: ["@maker.doctrine_helper"]
        public: false
        tags:
            - { name: maker.command }

    gedmo.listener.timestampable:
        class: Gedmo\Timestampable\TimestampableListener
        tags:
            - { name: doctrine.event_subscriber, connection: default }
        calls:
            - [ setAnnotationReader, [ "@annotation_reader" ] ]

    gedmo.listener.sluggable:
        class: Gedmo\Sluggable\SluggableListener
        tags:
            - { name: doctrine.event_subscriber, connection: default }
        calls:
            - [ setAnnotationReader, [ "@annotation_reader" ] ]

    qbabit.subscriber.rest_paginator:
        class: QbaBit\CoreBundle\Subscriber\RestPaginatorSubscriber
        tags:
            - { name: knp_paginator.subscriber }

    qbabit.core.file_utils:
        class: QbaBit\CoreBundle\Services\FileUtils
        public: true
        arguments: ["@service_container"]

    qbabit.core.bundle_utils:
        class: QbaBit\CoreBundle\Services\BundleUtils
        public: true
        arguments: ["@service_container"]
    qbabit.core.database_utils:
        class: QbaBit\CoreBundle\Services\DatabaseManager
        public: true
        arguments: ["@service_container"]
    qbabit.core.installer_package:
        class: QbaBit\CoreBundle\Services\QbaBitInstallerService
        public: true
        arguments: ["@service_container"]

    qbabit.paginator.rest:
        parent: knp_paginator
        class: QbaBit\CoreBundle\Core\Classes\RestPaginator
        public: true

    qbabit.core.installer_command:
        class: QbaBit\CoreBundle\Command\QbaBitPackageInstallerCommand
        public: false
        tags:
          - console.command

    qbabit.core.annontation.class:
        class: QbaBit\CoreBundle\EventListener\BindeableClassListener
        tags:
            - { name: kernel.event_listener, event: kernel.controller, method: onKernelController}
        arguments:
            - "@annotation_reader"
            -
#mark public symfony services
    qbabit.logger:
        alias: logger
        public: true


    twig.extension.core:
        class: QbaBit\CoreBundle\Twig\Extension\CoreExtension
        tags:
            - { name: twig.extension }
        arguments: ["@service_container"]
    qbabit.core.exception_listener:
        class: QbaBit\CoreBundle\EventListener\ExceptionListener
        tags:
            - { name: kernel.event_listener, event: kernel.exception }
        arguments: ["@service_container"]