<?php
namespace DS_Plugin;

if (!defined('ABSPATH')) { exit; }

require_once __DIR__ . '/class-ds-post-types.php';
require_once __DIR__ . '/class-ds-rest.php';
require_once __DIR__ . '/class-ds-admin.php';
require_once __DIR__ . '/class-ds-frontend.php';
require_once __DIR__ . '/class-ds-woo.php';
require_once __DIR__ . '/class-ds-print-queue.php';
require_once __DIR__ . '/class-ds-settings.php';
require_once __DIR__ . '/class-ds-protection.php';
require_once __DIR__ . '/class-ds-updates.php';

class Loader {
    private static $instance = null;

    public static function get_instance() {
        if (null === self::$instance) {
            self::$instance = new self();
        }
        return self::$instance;
    }

    private function __construct() {
        Post_Types::init();
        Rest::init();
        Admin::init();
        Frontend::init();
        Woo::maybe_init();
        Print_Queue::init();
        Settings::init();
        Protection::init();
        Updates::init();
    }
}
